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 2021 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 "2022-08-15" {
52 1) clarifiy description of quality-level";
54 reference "ORAN-WG4.M.0-v08.00";
57 revision "2021-12-01" {
61 1) typographical corrections in descriptions.
62 2) add support for boundary clock indication";
64 reference "ORAN-WG4.M.0-v08.00";
67 revision "2021-03-22" {
71 1) typographical corrections in descriptions.
72 2) Description alignment with specification.";
74 reference "ORAN-WG4.M.0-v04.00";
77 revision "2020-08-10" {
81 1) Update description of ENCHANCED (sic) under container sync-capability leaf sync-t-tsc with
82 correct reference to IEEE 802.1CM sections.
83 2) Add description that CLASS_B and ENHANCED are as per IEEE802.1CM.
84 3) Add freq-error and time-error leafs under container sync-status. This allows an O-DU to
85 query the O-RU using NETCONF <get> procedure about the phase and frequency errors at
87 4) Move delay-asymmetry outside of container g-8275-1-config as the delay asymmetry
88 is applicable to G.8275.2 as well
89 5) Add gnss-rx-error in gnss-data for LLS-C4 configuration
90 6) Correct the description of state enumerations under synce-status. The earlier
91 descriptions were copy paste from ptp-status";
93 reference "ORAN-WG4.M.0-v04.00";
96 revision "2020-04-17" {
100 1) enable O-RU to only support GNSS and not 802.1CM.";
102 reference "ORAN-WG4.M.0-v03.00";
105 revision "2019-07-03" {
109 1) backward compatible changes to introduce groupings.";
111 reference "ORAN-WG4.M.0-v01.00";
114 revision "2019-02-04" {
118 1) imported model from xRAN
119 2) changed namespace and reference from xran to o-ran";
121 reference "ORAN-WG4.M.0-v01.00";
126 "This feature indicates that the equipment supports integrated GNSS functionality.";
131 "This feature indicates that the equipment supports Anti-jam functionality";
134 typedef geographic-coordinate-degree {
139 "Decimal degree (DD) used to express latitude and longitude
140 geographic coordinates.";
143 grouping sync-group {
144 description "This group represents the state and status of timing and synchronization of the O-RU";
145 container sync-status {
149 "Object of this class provides synchronization state of the module.";
155 "equipment is in the locked mode, as defined in ITU-T G.810";
159 "equipment clock is in holdover mode";
163 "equipment clock isn't locked to an input reference, and is not in the holdover mode";
168 "State of DU synchronization";
176 "An optional leaf indicating an estimate of the current time error in the O-RU,
177 e.g., derived from a low pass filtering of the residual error of the PLL.
178 The definition of the filtering and updating is left to O-RU implementation.";
180 leaf frequency-error {
184 units parts-per-billion;
186 "An optional leaf indicating an estimate of the current frequency error in the O-RU,
187 e.g., derived from a low pass filtering of the residual error of the PLL.
188 The definition of the filtering and updating is left to O-RU implementation.";
191 list supported-reference-types {
195 "Type of a synchronization supported source.";
200 "GPS can be taken as a synchronization source";
204 "Precision Time Protocol can be taken as a synchronization source";
208 "Synchronous Ethernet can be taken as a synchronization source";
214 "supported reference-type";
219 container sync-capability {
223 "Object of this class provides synchronization capabilities of the module.";
229 "Regular accuracy (previously referred to class B) for synchronization
230 is supported by the device as per IEEE802.1CM clause 6.4.1, Case 1.1";
234 "Enhanced accuracy for synchronization is supported by the device as per
235 IEEE802.1CM clause 6.4.1, Case 1.2.
237 The typo in the name of the enumeration (ENCHANCED instead of ENHANCED)
238 is kept as is for backwards compatibility";
242 "When the O-RU supports 802.1CM, this leaf provides information about
245 reference "IEEE 802.1CM";
248 leaf boundary-clock-supported {
251 "This parameter indicates whether O-RU supports the T-BC profiles in ITU-T G.8275.1.";
255 container ptp-config {
257 "This MO defines configuration of Precise Time Protocol.";
262 "This parameter indicates Domain Number for PTP announce messages.";
265 list accepted-clock-classes {
270 "PTP Clock Class accepted by the O-RU";
273 "Contains list of PTP acceptable Clock Classes, sorted in the descending order.";
280 "Usage of multicast over Ethernet";
285 "Usage of unicast over IP";
290 "Type of profile to be used in PTP setting";
292 leaf delay-asymmetry {
294 range "-10000..10000";
298 "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
299 The error is defined in units of nanoseconds in the range +/-10 000 ns.
301 If the deprecated delay-asymmetry schema node in the g-8275-1-config container is configured
302 together with this schema node, then the O-RU shall use this schema node and ignore the
303 value in the g-8275-1-config container.";
306 container g-8275-1-config {
307 when "../ptp-profile='G_8275_1'";
310 "Container allowing for configuration of G8275.1";
312 leaf multicast-mac-address {
316 "means, that PTP shall use 01-1B-19-00-00-00 destination MAC address";
318 enum NONFORWARDABLE {
320 "means, that PTP shall use 01-80-C2-00-00-0E destination MAC address";
325 "The parameter defines destination MAC address, used by the DU in the egress PTP messages.";
328 leaf delay-asymmetry {
335 "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
336 The error is defined in units of nanoseconds in the range +/-10 000 ns.";
340 container g-8275-2-config {
341 when "../ptp-profile='G_8275_2'";
344 "Container used for configuration of G8275.2 profile";
348 path "/if:interfaces/if:interface/if:name";
351 "Reference to interface name corresponding to IP interface
355 list master-ip-configuration {
358 "The parameter defines list of IP configuration of devices acting as PTP signal source.";
359 leaf local-priority {
362 "The parameter defines local priority or underlying master IP address.";
368 "the parameter defines master IP address.";
372 leaf log-inter-sync-period {
378 "The parameter defines number of sync message during 1 second";
381 leaf log-inter-announce-period {
387 "The parameter defines number of announce message during 1 second";
392 container ptp-status {
394 "PTP status container";
395 leaf reporting-period {
399 "This parameter defines minimum period in seconds between reports,
400 sent by the O-RU, for parameters in this container.";
406 "The integrated ordinary clock is synchronizing to the reference, recovered from PTP flow";
410 "The integrated ordinary clock is not synchronizing to the reference, recovered from PTP flow";
415 "This parameter indicates, whether the integrated ordinary clock is
416 synchronizing to the reference, recovered from PTP signal.
417 The exact definition when to indicate locked or unlocked is up to specific
425 "This parameter contains the clock class of the clock, controlled by the O-RU";
428 leaf clock-identity {
431 pattern "0[xX][0-9a-fA-F]{16}";
435 "This parameter contains identity of the clock,
436 according to IEEE 1588-2008 definition, controlled by the O-RU.
437 The string shall be formatted as an 8-octet hex value with the '0x' prefix.";
440 leaf partial-timing-supported {
444 "Provides information wheter G.8275.2 (partial timing support from network) is supported.";
448 key local-port-number;
452 "Synchronization sources";
454 leaf local-port-number {
456 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
459 "This is reference to portNumber of ExternalEthernetPort to identify the port,
460 where the PTP signal is located.";
467 "Indicates that this source is the current master clock, i.e. the clock,
468 which the clock, controlled by the NETCONF Server, is synchronized to";
472 "Indicates that this source is an alternate master, which the clock,
473 controlled by the NETCONF Server, can potentially synchronize to,
474 i.e. clock class and priority, announced by the master clock is lower,
475 compared to those of the clock, controlled by the NETCONF Server,
476 and and the clock class is accepted";
480 "Indicates that this source is an alternate master, which the clock,
481 controlled by the NETCONF Server, has an operational connection to,
482 but the class or priority of the master clock is higher or equal
483 to those of the clock, controlled by the NETCONF Server,
484 or the clock class is not accepted";
488 "Indicates that this source is an alternate master, which the clock,
489 controlled by the NETCONF Server, has no operational connection to";
493 "This parameter indicates status of the PTP source";
499 "This parameter reflects status of the twoStepFlag attribute in Sync messages,
500 received from the PTP source.";
506 "This parameter reflects status of the leap61 flag in Announce messages,
507 received from the PTP source.
508 When true, the last minute of the current UTC day contains 61 seconds.";
514 "This parameter reflects status of the leap59 flag in Announce messages,
515 received from the PTP source.
516 When true, the last minute of the current UTC day contains 59 seconds.";
519 leaf current-utc-offset-valid {
522 "This parameter reflects status of the currentUtcOffsetValid flag in
523 Announce messages, received from the PTP source.
524 When true, the current UTC offset is valid.";
530 "This parameter reflects status of the ptpTimescale flag in Announce
531 messages, received from the PTP source.
533 When set, the clock timescale of the grandmaster clock is PTP;
534 otherwise, the timescale is ARB (arbitrary)";
537 leaf time-traceable {
540 "This parameter reflects status of the timeTraceable flag in Announce
541 messages, received from the PTP source.
543 When true, the timescale and the currentUtcOffset are traceable to a
547 leaf frequency-traceable {
550 "This parameter reflects status of the frequencyTraceable flag in
551 Announce messages, received from the PTP source.
553 When true, the frequency determining the timescale is traceable to a
557 leaf source-clock-identity {
560 pattern "0[xX][0-9a-fA-F]{16}";
563 "This parameter reflects value of the sourceClockIdentity attribute in
564 Announce messages, received from the PTP source.
566 The string shall be formatted as an 8-octet hex value with the '0x'
570 leaf source-port-number {
573 "This parameter reflects value of the sourcePortNumber attribute in
574 Announce messages, received from the PTP source.";
577 leaf current-utc-offset {
580 "The offset between TAI and UTC when the epoch of the PTP system is
581 the PTP epoch, i.e., when ptp-timescale is TRUE; otherwise, the value
588 "This parameter reflects value of the priority1 attribute in Announce
589 messages, received from the PTP source.";
595 "This parameter reflects value of the clockClass attribute in
596 Announce messages, received from the PTP source.";
599 leaf clock-accuracy {
602 "This parameter reflects value of the clockAccuracy attribute in
603 Announce messages, received from the PTP source.";
606 leaf offset-scaled-log-variance {
609 "This parameter reflects value of the offsetScaledLogVariance
610 attribute in Announce messages, received from the PTP source.";
616 "This parameter reflects value of the priority2 attribute in Announce
617 messages, received from the PTP source.";
620 leaf grandmaster-clock-identity {
623 pattern "0[xX][0-9a-fA-F]{16}";
626 "This parameter reflects value of the grandmasterClockIdentity
627 attribute in Announce messages, received from the PTP source.
629 The string shall be formatted as an 8-octet hex value with the '0x'
636 "This parameter reflects value of the stepsRemoved attribute in
637 Announce messages, received from the PTP source.
639 It indicates the number of communication paths traversed
640 between the local clock and the grandmaster clock.";
646 "This parameter reflects value of the timeSource attribute in
647 Announce messages, received from the PTP source.";
652 container synce-config {
654 "This container defines the configuration of SyncE";
656 leaf-list acceptance-list-of-ssm {
707 "The parameter contains the list of SyncE acceptable SSMs.";
714 "The parameter contains the value of maximum duration in seconds for which the actual SSM value may be different than configured values.";
718 container synce-status {
720 "SyncE status container";
722 leaf reporting-period {
726 "This parameter defines minimum period in seconds between reports,
727 sent by the O-RU, for parameters in this container.";
734 "The integrated ordinary clock is synchronizing to the reference, recovered from SyncE signal";
738 "The integrated ordinary clock is not synchronizing to the reference, recovered from SyncE signal";
743 "This parameter indicates, whether the integrated ordinary clock is
744 synchronizing to the reference, recovered from SyncE signal.
746 The exact definition when to indicate locked or unlocked is up to
747 specific implementation.";
751 key local-port-number;
753 leaf local-port-number {
755 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
758 "This is reference to portNumber of ExternalEthernetPort to identify
759 the port, where the SyncE signal is located.";
766 "Indicates this is the primary SyncE source recovering SyncE signal";
770 "Indicates that this source is an alternate SyncE source, which the clock,
771 controlled by the NETCONF Server, can potentially synchronize to, when the
772 clock quality of the primary SyncE signal advertised in ESMC packets is
773 lower than the expected or configured clock quality; or when this source
774 clock's quality is better than the primary SyncE source clock quality";
778 "Indicates that this source is an alternate SyncE source, and the O-RU
779 has an operational connection to this alternate SyncE source, but the
780 clock's quality is not in the configured acceptable range";
784 "Indicates that this source is an alternate SyncE clock, and the O-RU has an
785 operational connection to this alternate SyncE source";
789 "This parameter indicates status of the SyncE source";
797 "This parameter contains value of the SSM clock quality level,
798 received in SSM messages from the SyncE source.
799 If multiple clock sources are available, the O-RU can select the
800 reference clock source based on the SSM quality level";
804 "This parameter contains characteristics of SyncE sources of the clock, controlled by the O-RU.";
808 container gnss-config {
811 "This container defines the configuration of Global Navigation Satellite System (GNSS).";
817 "This parameter defines if GNSS receiver shall be enabled or not.";
820 leaf-list satellite-constelation-list {
828 "GLONASS should not be used alone but always along with GPS or BEIDOU because of missing leap second information";
841 "This parameter defines list of constellations to be used to acquire synchronization.";
858 "This parameter defines pulse polarity";
868 "This parameter is used to compensate cable delay.";
871 leaf anti-jam-enable {
876 "This parameter is used to enable or disable anti-jamming.";
880 container gnss-status {
883 "Provides information about state of gps receiver";
884 leaf reporting-period {
888 "This parameter defines minimum period in seconds between reports,
889 sent by the O-RU, for parameters in this container.";
897 "A name that is unique that identifies a GNSS instance.
898 This name may be used in fault management to refer to a
899 fault source or affected object";
901 leaf gnss-sync-status {
904 description "GNSS functionality is synchronized";
906 enum ACQUIRING-SYNC {
907 description "GNSS functionality is acquiring sync";
909 enum ANTENNA-DISCONNECTED {
910 description "GNSS functionality has its antenna disconnected";
913 description "GNSS functionality is booting";
915 enum ANTENNA-SHORT-CIRCUIT {
916 description "GNSS functionality has an antenna short circuit";
920 description "when available, indicates the status of the gnss receiver.";
922 container gnss-data {
923 when "../gnss-sync-status='SYNCHRONIZED'";
926 "GPS data contained";
927 leaf satellites-tracked {
929 description "Number of satellites tracked";
933 "Containes information about geo location";
938 "Distance above the sea level.";
941 type geographic-coordinate-degree {
945 "Relative position north or south on the Earth's surface.";
948 type geographic-coordinate-degree {
952 "Angular distance east or west on the Earth's surface.";
955 leaf gnss-rx-time-error {
961 "An optional leaf, representing the estimate of current GNSS receiver time error ";
968 "Main containter for sync related parameters";
973 //notification statement
974 notification synchronization-state-change {
976 "Notification used to inform about synchronization state change";
980 path "/sync/sync-status/sync-state";
983 "State of equipment synchronization is notified at state change";
987 notification ptp-state-change {
989 "Notification used to inform about PTP synchronization state change";
993 path "/sync/ptp-status/lock-state";
996 "ptp-state-change notification is signalled from equipment at state change";
999 notification synce-state-change {
1001 "Notification used to inform about syncE synchronization state change";
1005 path "/sync/synce-status/lock-state";
1008 "synce-state change notification is signalled from equipment at state change";
1011 notification gnss-state-change {
1014 "Notification used to inform about GNSS synchronization state change";
1018 path "/sync/gnss-status/gnss-sync-status";
1021 "gnss-state-change notification is signalled from equipment at state change";