3 namespace "urn:o-ran:sync:1.0";
6 import ietf-interfaces {
10 import o-ran-interfaces {
14 organization "O-RAN Alliance";
20 "This module defines synchronization mechanism for the O-RAN Equipment.
22 Copyright 2020 the O-RAN Alliance.
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
36 Redistribution and use in source and binary forms, with or without
37 modification, are permitted provided that the following conditions are met:
39 * Redistributions of source code must retain the above copyright notice,
40 this list of conditions and the above disclaimer.
41 * Redistributions in binary form must reproduce the above copyright notice,
42 this list of conditions and the above disclaimer in the documentation
43 and/or other materials provided with the distribution.
44 * Neither the Members of the O-RAN Alliance nor the names of its
45 contributors may be used to endorse or promote products derived from
46 this software without specific prior written permission.";
48 revision "2020-08-10" {
52 1) Update description of ENCHANCED under container sync-capability leaf sync-t-tsc with
53 correct reference to IEEE 802.1CM sections.
54 2) Add description that CLASS_B and ENHANCED are as per IEEE802.1CM.
55 3) Add freq-error and time-error leafs under container sync-status. This allows an O-DU to
56 query the O-RU using NETCONF <get> procedure about the phase and frequency errors at
58 4) Move delay-assymmetry outside of container g-8275-1-config as the delay assymetry
59 is applicable to G.8275.2 as well
60 5) Add gnss-rx-error in gnss-data for LLS-C4 configuration
61 6) Correct the description of state enumerations under synce-status. The earlier
62 descriptions were copy paste from ptp-status";
64 reference "ORAN-WG4.M.0-v04.00";
67 revision "2020-04-17" {
71 1) enable O-RU to only support GNSS and not 802.1CM.";
73 reference "ORAN-WG4.M.0-v03.00";
76 revision "2019-07-03" {
80 1) backward compatible changes to introduce groupings.";
82 reference "ORAN-WG4.M.0-v01.00";
85 revision "2019-02-04" {
89 1) imported model from xRAN
90 2) changed namespace and reference from xran to o-ran";
92 reference "ORAN-WG4.M.0-v01.00";
95 typedef geographic-coordinate-degree {
100 "Decimal degree (DD) used to express latitude and longitude
101 geographic coordinates.";
106 "This feature indicates that the equipment supports integrated GNSS functionality.";
111 "This feature indicates that the equipment supports Anti-jam fuctionality";
114 grouping sync-group {
115 description "This group represents the state and status of timing and synchronization of the O-RU";
116 container sync-status {
120 "Object of this class provides synchronization state of the module.";
126 "equipment is in the locked mode, as defined in ITU-T G.810";
130 "equipment clock is in holdover mode";
134 "equipment clock isn't locked to an input reference, and is not in the holdover mode";
139 "State of DU synchronization";
147 "An optional leaf indicating an estimate of the current time error in the O-RU,
148 e.g., derived from a low pass filtering of the residual error of the PLL.
149 The definition of the filtering and updating is left to O-RU implementation.";
151 leaf frequency-error {
155 units parts-per-billion;
157 "An optional leaf indicating an estimate of the current frequency error in the O-RU,
158 e.g., derived from a low pass filtering of the residual error of the PLL.
159 The definition of the filtering and updating is left to O-RU implementation.";
162 list supported-reference-types {
166 "Type of a synchronization supported source.";
171 "GPS can be taken as a synchronization source";
175 "Precision Time Protocol can be taken as a synchronization source";
179 "Synchronous Ethernet can be taken as a synchronization source";
185 "supported reference-type";
190 container sync-capability {
194 "Object of this class provides synchronization capabilities of the module.";
200 "Regular accuracy (previously referred to class B) for synchronization
201 is supported by the device as per IEEE802.1CM clause 6.4.1, Case 1.1";
205 "Enhanced accuracy for synchronization is supported by the device as per
206 IEEE802.1CM clause 6.4.1, Case 1.2.
208 The typo in the name of the enumeration (ENCHANCED instead of ENHANCED)
209 is kept as is for backwards compatibility";
213 "When the O-RU supports 802.1CM, this leaf provides information about
216 reference "IEEE 802.1CM";
220 container ptp-config {
222 "This MO defines configuration of Precise Time Protocol.";
227 "This parameter indicates Domain Number for PTP announce messages.";
230 list accepted-clock-classes {
235 "PTP Clock Class accepted by the O-RU";
238 "Contains list of PTP acceptable Clock Classes, sorted in the descending order.";
245 "Usage of multicast over ethernet";
250 "Usage of unicast over IP";
255 "Type of profile to be used in ptp setting";
257 leaf delay-asymmetry {
259 range "-10000..10000";
263 "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
264 The error is defined in units of nanoseconds in the range ±10 000 ns.
266 If the deprecated delay-asymmetry schema node in the g-8275-1-config container is configured
267 together with this schema node, then the O-RU shall use this schema node and ignore the
268 value in the g-8275-1-config container.";
271 container g-8275-1-config {
272 when "../ptp-profile='G_8275_1'";
275 "Container allowing for configuration of G8275.1";
277 leaf multicast-mac-address {
281 "means, that PTP shall use 01-1B-19-00-00-00 destination MAC address";
283 enum NONFORWARDABLE {
285 "means, that PTP shall use 01-80-C2-00-00-0E destination MAC address";
290 "The parameter defines destination MAC address, used by the DU in the egress PTP messages.";
293 leaf delay-asymmetry {
300 "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
301 The error is defined in units of nanoseconds in the range ±10 000 ns.";
305 container g-8275-2-config {
306 when "../ptp-profile='G_8275_2'";
309 "Container used for configuration of G8275.2 profile";
313 path "/if:interfaces/if:interface/if:name";
316 "Reference to interface name corresponding to IP interface
320 list master-ip-configuration {
323 "The parameter defines list of ip configuration of devices acting as ptp signal source.";
324 leaf local-priority {
327 "The parameter defines local priority or underlying master IP address.";
333 "the parameter defines master IP address.";
337 leaf log-inter-sync-period {
343 "The parameter defines number of sync message during 1 second";
346 leaf log-inter-announce-period {
352 "The parameter defines number of announce message during 1 second";
357 container ptp-status {
359 "ptp status container";
360 leaf reporting-period {
364 "This parameter defines minimum period in seconds between reports,
365 sent by the NETCONF Client, for parameters in this container.";
371 "The integrated ordinary clock is synchronizing to the reference, recovered from PTP flow";
375 "The integrated ordinary clock is not synchronizing to the reference, recovered from PTP flow";
380 "This parameter indicates, whether the integrated ordinary clock is
381 synchronizing to the reference, recovered from PTP signal.
382 The exact definition when to indicate locked or unlocked is up to specific
390 "This parameter contains the clock class of the clock, controlled by the O-RU";
393 leaf clock-identity {
396 pattern "0[xX][0-9a-fA-F]{16}";
400 "This parameter contains identity of the clock,
401 according to IEEE 1588-2008 defintion, controlled by the O-RU.
402 The string shall be formatted as an 8-octet hex value with the '0x' prefix.";
405 leaf partial-timing-supported {
409 "Provides information wheter G.8275.2 (partial timing support from network) is supported.";
413 key local-port-number;
417 "Synchronisation sources";
419 leaf local-port-number {
421 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
424 "This is reference to portNumber of ExternalEthernetPort to identify the port,
425 where the PTP signal is located.";
432 "Indicates that this source is the current master clock, i.e. the clock,
433 which the clock, controlled by the Netconf Server, is synchronized to";
437 "Indicates that this source is an alternate master, which the clock,
438 controlled by the Netconf Server, can potentially synchronize to,
439 i.e. clock class and priority, announced by the master clock is lower,
440 compared to those of the clock, controlled by the Netconf Server,
441 and and the clock class is accepted";
445 "Indicates that this source is an alternate master, which the clock,
446 controlled by the Netconf Server, has an operational connection to,
447 but the class or priority of the master clock is higher or equal
448 to those of the clock, controlled by the Netconf Server,
449 or the clock class is not accepted";
453 "Indicates that this source is an alternate master, which the clock,
454 controlled by the Netconf Server, has no operational connection to";
458 "This parameter indicates status of the PTP source";
464 "This parameter reflects status of the twoStepFlag attribute in Sync messages,
465 received from the PTP source.";
471 "This parameter reflects status of the leap61 flag in Announce messages,
472 received from the PTP source.
473 When true, the last minute of the current UTC day contains 61 seconds.";
479 "This parameter reflects status of the leap59 flag in Announce messages,
480 received from the PTP source.
481 When true, the last minute of the current UTC day contains 59 seconds.";
484 leaf current-utc-offset-valid {
487 "This parameter reflects status of the currentUtcOffsetValid flag in
488 Announce messages, received from the PTP source.
489 When true, the current UTC offset is valid.";
495 "This parameter reflects status of the ptpTimescale flag in Announce
496 messages, received from the PTP source.
498 When set, the clock timescale of the grandmaster clock is PTP;
499 otherwise, the timescale is ARB (arbitrary)";
502 leaf time-traceable {
505 "This parameter reflects status of the timeTraceable flag in Announce
506 messages, received from the PTP source.
508 When true, the timescale and the currentUtcOffset are traceable to a
512 leaf frequency-traceable {
515 "This parameter reflects status of the frequencyTraceable flag in
516 Announce messages, received from the PTP source.
518 When true, the frequency determining the timescale is traceable to a
522 leaf source-clock-identity {
525 pattern "0[xX][0-9a-fA-F]{16}";
528 "This parameter reflects value of the sourceClockIdentity attribute in
529 Announce messages, received from the PTP source.
531 The string shall be formatted as an 8-octet hex value with the '0x'
535 leaf source-port-number {
538 "This parameter reflects value of the sourcePortNumber attribute in
539 Announce messages, received from the PTP source.";
542 leaf current-utc-offset {
545 "The offset between TAI and UTC when the epoch of the PTP system is
546 the PTP epoch, i.e., when ptp-timescale is TRUE; otherwise, the value
553 "This parameter reflects value of the priority1 attribute in Announce
554 messages, received from the PTP source.";
560 "This parameter reflects value of the clockClass attribute in
561 Announce messages, received from the PTP source.";
564 leaf clock-accuracy {
567 "This parameter reflects value of the clockAccuracy attribute in
568 Announce messages, received from the PTP source.";
571 leaf offset-scaled-log-variance {
574 "This parameter reflects value of the offsetScaledLogVariance
575 attribute in Announce messages, received from the PTP source.";
581 "This parameter reflects value of the priority2 attribute in Announce
582 messages, received from the PTP source.";
585 leaf grandmaster-clock-identity {
588 pattern "0[xX][0-9a-fA-F]{16}";
591 "This parameter reflects value of the grandmasterClockIdentity
592 attribute in Announce messages, received from the PTP source.
594 The string shall be formatted as an 8-octet hex value with the '0x'
601 "This parameter reflects value of the stepsRemoved attribute in
602 Announce messages, received from the PTP source.
604 It indicates the number of communication paths traversed
605 between the local clock and the grandmaster clock.";
611 "This parameter reflects value of the timeSource attribute in
612 Announce messages, received from the PTP source.";
617 container synce-config {
619 "This container defines the configuration of SyncE";
621 leaf-list acceptance-list-of-ssm {
672 "The parameter contains the list of SyncE acceptable SSMs.";
679 "The parameter contains the value of maximum duration in seconds for which the actual SSM value may be different than configured values.";
683 container synce-status {
685 "SyncE status container";
687 leaf reporting-period {
691 "This parameter defines minimum period in seconds between reports,
692 sent by the NETCONF client, for parameters in this container.";
699 "The integrated ordinary clock is synchronizing to the reference, recovered from SyncE signal";
703 "The integrated ordinary clock is not synchronizing to the reference, recovered from SyncE signal";
708 "This parameter indicates, whether the integrated ordinary clock is
709 synchronizing to the reference, recovered from SyncE signal.
711 The exact definition when to indicate locked or unlocked is up to
712 specific implementation.";
716 key local-port-number;
718 leaf local-port-number {
720 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
723 "This is reference to portNumber of ExternalEthernetPort to identify
724 the port, where the SyncE signal is located.";
731 "Indicates this is the primary SyncE source recovering SyncE signal";
735 "Indicates that this source is an alternate SyncE source, which the clock,
736 controlled by the Netconf Server, can potentially synchronize to, when the
737 clock quality of the primary SyncE signal advertised in ESMC packets is
738 lower than the expected or configured clock quality; or when this source
739 clock quality is better than the primary SyncE source clock quality";
743 "Indicates that this source is an alternate SyncE source, and the O-RU
744 has an operational connection to this alternate SyncE source, but the
745 clock quality is not in the configured acceptable range";
749 "Indicates that this source is an alternate SyncE clock, and the O-RU has an
750 operational connection to this alternate SyncE source";
754 "This parameter indicates status of the SyncE source";
762 "This parameter contains value of the SSM clock quality level,
763 received in SSM messages from the SyncE source.";
767 "This parameter contains characteristics of SyncE sources of the clock, controlled by the O-RU.";
771 container gnss-config {
774 "This container defines the configuration of Global Navigation Satellite System (GNSS).";
780 "This parameter defines if GNSS receiver shall be enabled or not.";
783 leaf-list satellite-constelation-list {
791 "GLONASS should not be used alone but always along with GPS or BEIDOU because of missing leap second information";
804 "This parameter defines list of constellations to be used to acquire synchronization.";
821 "This parameter defines pulse polarity";
831 "This parameter is used to compensate cable delay.";
834 leaf anti-jam-enable {
839 "This parameter is used to enable or disable anti-jamming.";
843 container gnss-status {
846 "Provides information about state of gps receiver";
847 leaf reporting-period {
851 "This parameter defines minimum period in seconds between reports,
852 sent by the NETCONF Client, for parameters in this container.";
860 "A name that is unique that identifies a GNSS instance.
861 This name may be used in fault management to refer to a
862 fault source or affected object";
864 leaf gnss-sync-status {
867 description "GNSS functionality is synchronized";
869 enum ACQUIRING-SYNC {
870 description "GNSS functionality is acquiring sync";
872 enum ANTENNA-DISCONNECTED {
873 description "GNSS functionality has its antenna disconnected";
876 description "GNSS functionality is booting";
878 enum ANTENNA-SHORT-CIRCUIT {
879 description "GNSS functionality has an antenna short circuit";
883 description "when available, indicates the status of the gnss receiver.";
885 container gnss-data {
886 when "../gnss-sync-status='SYNCHRONIZED'";
889 "GPS data contained";
890 leaf satellites-tracked {
892 description "Number of satellites tracked";
896 "Containes information about geo location";
901 "Distance above the sea level.";
904 type geographic-coordinate-degree {
908 "Relative position north or south on the Earth's surface.";
911 type geographic-coordinate-degree {
915 "Angular distance east or west on the Earth's surface.";
918 leaf gnss-rx-time-error {
924 "An optional leaf, representing the estimate of current GNSS receiver time error ";
931 "Main containter for sync related parameters";
936 //notification statement
937 notification synchronization-state-change {
939 "Notification used to inform about synchronization state change";
943 path "/sync/sync-status/sync-state";
946 "State of equipment synchronization is notified at state change";
950 notification ptp-state-change {
952 "Notification used to inform about ptp synchronization state change";
956 path "/sync/ptp-status/lock-state";
959 "ptp-state-change notification is signalled from equipment at state change";
962 notification synce-state-change {
964 "Notification used to inform about synce synchronization state change";
968 path "/sync/synce-status/lock-state";
971 "synce-state change notification is signalled from equipment at state change";
974 notification gnss-state-change {
977 "Notification used to inform about gnss synchronization state change";
981 path "/sync/gnss-status/gnss-sync-status";
984 "gnss-state-change notification is signalled from equipment at state change";