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 2019 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 "2019-07-03" {
52 1) backward compatible changes to introduce groupings.";
54 reference "ORAN-WG4.M.0-v01.00";
57 revision "2019-02-04" {
61 1) imported model from xRAN
62 2) changed namespace and reference from xran to o-ran";
64 reference "ORAN-WG4.M.0-v01.00";
67 typedef geographic-coordinate-degree {
72 "Decimal degree (DD) used to express latitude and longitude
73 geographic coordinates.";
78 "This feature indicates that the equipment supports integrated GNSS functionality.";
83 "This feature indicates that the equipment supports Anti-jam fuctionality";
87 container sync-status {
91 "Object of this class provides synchronization state of the module.";
97 "equipment is in the locked mode, as defined in ITU-T G.810";
101 "equipment clock is in holdover mode";
105 "equipment clock isn't locked to an input reference, and is not in the holdover mode";
110 "State of DU synchronization";
113 list supported-reference-types {
117 "Type of a synchronization supported source.";
122 "GPS can be taken as a synchronization source";
126 "Precision Time Protocol can be taken as a synchronization source";
130 "Synchronous Ethernet can be taken as a synchronization source";
136 "supported reference-type";
141 container sync-capability {
145 "Object of this class provides synchronization capabilities of the module.";
151 "Standard class B accuracy for synchronization is supported by the device";
155 "Enchanced accuracy for synchronization is supported by the device";
160 "This will provide information about T-TSC capability";
162 reference "IEEE 802.1CM";
166 container ptp-config {
168 "This MO defines configuration of Precise Time Protocol.";
173 "This parameter indicates Domain Number for PTP announce messages.";
176 list accepted-clock-classes {
181 "PTP Clock Class accepted by the O-RU";
184 "Contains list of PTP acceptable Clock Classes, sorted in the descending order.";
191 "Usage of multicast over ethernet";
196 "Usage of unicast over IP";
201 "Type of profile to be used in ptp setting";
204 container g-8275-1-config {
205 when "../ptp-profile='G_8275_1'";
208 "Container allowing for configuration of G8275.1";
210 leaf multicast-mac-address {
214 "means, that PTP shall use 01-1B-19-00-00-00 destination MAC address";
216 enum NONFORWARDABLE {
218 "means, that PTP shall use 01-80-C2-00-00-0E destination MAC address";
223 "The parameter defines destination MAC address, used by the DU in the egress PTP messages.";
226 leaf delay-asymmetry {
232 "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
233 The error is defined in units of nanoseconds in the range ±10 000 ns.";
237 container g-8275-2-config {
238 when "../ptp-profile='G_8275_2'";
241 "Container used for configuration of G8275.2 profile";
245 path "/if:interfaces/if:interface/if:name";
248 "Reference to interface name corresponding to IP interface
252 list master-ip-configuration {
255 "The parameter defines list of ip configuration of devices acting as ptp signal source.";
256 leaf local-priority {
259 "The parameter defines local priority or underlying master IP address.";
265 "the parameter defines master IP address.";
269 leaf log-inter-sync-period {
275 "The parameter defines number of sync message during 1 second";
278 leaf log-inter-announce-period {
284 "The parameter defines number of announce message during 1 second";
289 container ptp-status {
291 "ptp status container";
292 leaf reporting-period {
296 "This parameter defines minimum period in seconds between reports,
297 sent by the NETCONF Client, for parameters in this container.";
303 "The integrated ordinary clock is synchronizing to the reference, recovered from PTP flow";
307 "The integrated ordinary clock is not synchronizing to the reference, recovered from PTP flow";
312 "This parameter indicates, whether the integrated ordinary clock is
313 synchronizing to the reference, recovered from PTP signal.
314 The exact definition when to indicate locked or unlocked is up to specific
322 "This parameter contains the clock class of the clock, controlled by the O-RU";
325 leaf clock-identity {
328 pattern "0[xX][0-9a-fA-F]{16}";
332 "This parameter contains identity of the clock,
333 according to IEEE 1588-2008 defintion, controlled by the O-RU.
334 The string shall be formatted as an 8-octet hex value with the '0x' prefix.";
337 leaf partial-timing-supported {
341 "Provides information wheter G.8275.2 (partial timing support from network) is supported.";
345 key local-port-number;
349 "Synchronisation sources";
351 leaf local-port-number {
353 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
356 "This is reference to portNumber of ExternalEthernetPort to identify the port,
357 where the PTP signal is located.";
364 "Indicates that this source is the current master clock, i.e. the clock,
365 which the clock, controlled by the Netconf Server, is synchronized to";
369 "Indicates that this source is an alternate master, which the clock,
370 controlled by the Netconf Server, can potentially synchronize to,
371 i.e. clock class and priority, announced by the master clock is lower,
372 compared to those of the clock, controlled by the Netconf Server,
373 and and the clock class is accepted";
377 "Indicates that this source is an alternate master, which the clock,
378 controlled by the Netconf Server, has an operational connection to,
379 but the class or priority of the master clock is higher or equal
380 to those of the clock, controlled by the Netconf Server,
381 or the clock class is not accepted";
385 "Indicates that this source is an alternate master, which the clock,
386 controlled by the Netconf Server, has no operational connection to";
390 "This parameter indicates status of the PTP source";
396 "This parameter reflects status of the twoStepFlag attribute in Sync messages,
397 received from the PTP source.";
403 "This parameter reflects status of the leap61 flag in Announce messages,
404 received from the PTP source.
405 When true, the last minute of the current UTC day contains 61 seconds.";
411 "This parameter reflects status of the leap59 flag in Announce messages,
412 received from the PTP source.
413 When true, the last minute of the current UTC day contains 59 seconds.";
416 leaf current-utc-offset-valid {
419 "This parameter reflects status of the currentUtcOffsetValid flag in
420 Announce messages, received from the PTP source.
421 When true, the current UTC offset is valid.";
427 "This parameter reflects status of the ptpTimescale flag in Announce
428 messages, received from the PTP source.
430 When set, the clock timescale of the grandmaster clock is PTP;
431 otherwise, the timescale is ARB (arbitrary)";
434 leaf time-traceable {
437 "This parameter reflects status of the timeTraceable flag in Announce
438 messages, received from the PTP source.
440 When true, the timescale and the currentUtcOffset are traceable to a
444 leaf frequency-traceable {
447 "This parameter reflects status of the frequencyTraceable flag in
448 Announce messages, received from the PTP source.
450 When true, the frequency determining the timescale is traceable to a
454 leaf source-clock-identity {
457 pattern "0[xX][0-9a-fA-F]{16}";
460 "This parameter reflects value of the sourceClockIdentity attribute in
461 Announce messages, received from the PTP source.
463 The string shall be formatted as an 8-octet hex value with the '0x'
467 leaf source-port-number {
470 "This parameter reflects value of the sourcePortNumber attribute in
471 Announce messages, received from the PTP source.";
474 leaf current-utc-offset {
477 "The offset between TAI and UTC when the epoch of the PTP system is
478 the PTP epoch, i.e., when ptp-timescale is TRUE; otherwise, the value
485 "This parameter reflects value of the priority1 attribute in Announce
486 messages, received from the PTP source.";
492 "This parameter reflects value of the clockClass attribute in
493 Announce messages, received from the PTP source.";
496 leaf clock-accuracy {
499 "This parameter reflects value of the clockAccuracy attribute in
500 Announce messages, received from the PTP source.";
503 leaf offset-scaled-log-variance {
506 "This parameter reflects value of the offsetScaledLogVariance
507 attribute in Announce messages, received from the PTP source.";
513 "This parameter reflects value of the priority2 attribute in Announce
514 messages, received from the PTP source.";
517 leaf grandmaster-clock-identity {
520 pattern "0[xX][0-9a-fA-F]{16}";
523 "This parameter reflects value of the grandmasterClockIdentity
524 attribute in Announce messages, received from the PTP source.
526 The string shall be formatted as an 8-octet hex value with the '0x'
533 "This parameter reflects value of the stepsRemoved attribute in
534 Announce messages, received from the PTP source.
536 It indicates the number of communication paths traversed
537 between the local clock and the grandmaster clock.";
543 "This parameter reflects value of the timeSource attribute in
544 Announce messages, received from the PTP source.";
549 container synce-config {
551 "This container defines the configuration of SyncE";
553 leaf-list acceptance-list-of-ssm {
604 "The parameter contains the list of SyncE acceptable SSMs.";
611 "The parameter contains the value of maximum duration in seconds for which the actual SSM value may be different than configured values.";
615 container synce-status {
617 "SyncE status container";
619 leaf reporting-period {
623 "This parameter defines minimum period in seconds between reports,
624 sent by the NETCONF client, for parameters in this container.";
631 "The integrated ordinary clock is synchronizing to the reference, recovered from SyncE signal";
635 "The integrated ordinary clock is not synchronizing to the reference, recovered from SyncE signal";
640 "This parameter indicates, whether the integrated ordinary clock is
641 synchronizing to the reference, recovered from SyncE signal.
643 The exact definition when to indicate locked or unlocked is up to
644 specific implementation.";
648 key local-port-number;
650 leaf local-port-number {
652 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
655 "This is reference to portNumber of ExternalEthernetPort to identify
656 the port, where the SyncE signal is located.";
663 "Indicates that this source is the current master clock, i.e. the clock,
664 which the clock, controlled by the Netconf Server, is synchronized to";
668 "Indicates that this source is an alternate master, which the clock,
669 controlled by the Netconf Server, can potentially synchronize to,
670 i.e. clock class and priority, announced by the master clock is lower,
671 compared to those of the clock, controlled by the Netconf Server,
672 and and the clock class is accepted";
676 "Indicates that this source is an alternate master, which the clock,
677 controlled by the Netconf Server, has an operational connection to,
678 but the class or priority of the master clock is higher or equal
679 to those of the clock, controlled by the Netconf Server,
680 or the clock class is not accepted";
684 "Indicates that this source is an alternate master, which the clock,
685 controlled by the Netconf Server, has no operational connection to";
689 "This parameter indicates status of the SyncE source";
697 "This parameter contains value of the SSM clock quality level,
698 received in SSM messages from the SyncE source.";
702 "This parameter contains characteristics of SyncE sources of the clock, controlled by the O-RU.";
706 container gnss-config {
709 "This container defines the configuration of Global Navigation Satellite System (GNSS).";
715 "This parameter defines if GNSS receiver shall be enabled or not.";
718 leaf-list satellite-constelation-list {
726 "GLONASS should not be used alone but always along with GPS or BEIDOU because of missing leap second information";
739 "This parameter defines list of constellations to be used to acquire synchronization.";
756 "This parameter defines pulse polarity";
766 "This parameter is used to compensate cable delay.";
769 leaf anti-jam-enable {
774 "This parameter is used to enable or disable anti-jamming.";
778 container gnss-status {
781 "Provides information about state of gps receiver";
782 leaf reporting-period {
786 "This parameter defines minimum period in seconds between reports,
787 sent by the NETCONF Client, for parameters in this container.";
795 "A name that is unique that identifies a GNSS instance.
796 This name may be used in fault management to refer to a
797 fault source or affected object";
799 leaf gnss-sync-status {
802 description "GNSS functionality is synchronized";
804 enum ACQUIRING-SYNC {
805 description "GNSS functionality is acquiring sync";
807 enum ANTENNA-DISCONNECTED {
808 description "GNSS functionality has its antenna disconnected";
811 description "GNSS functionality is booting";
813 enum ANTENNA-SHORT-CIRCUIT {
814 description "GNSS functionality has an antenna short circuit";
818 description "when available, indicates the status of the gnss receiver.";
820 container gnss-data {
821 when "../gnss-sync-status='SYNCHRONIZED'";
824 "GPS data contained";
825 leaf satellites-tracked {
827 description "Number of satellites tracked";
831 "Containes information about geo location";
836 "Distance above the sea level.";
839 type geographic-coordinate-degree {
843 "Relative position north or south on the Earth's surface.";
846 type geographic-coordinate-degree {
850 "Angular distance east or west on the Earth's surface.";
859 "Main containter for sync related parameters";
864 //notification statement
865 notification synchronization-state-change {
867 "Notification used to inform about synchronization state change";
871 path "/sync/sync-status/sync-state";
874 "State of equipment synchronization is notified at state change";
878 notification ptp-state-change {
880 "Notification used to inform about ptp synchronization state change";
884 path "/sync/ptp-status/lock-state";
887 "ptp-state-change notification is signalled from equipment at state change";
890 notification synce-state-change {
892 "Notification used to inform about synce synchronization state change";
896 path "/sync/synce-status/lock-state";
899 "synce-state change notification is signalled from equipment at state change";
902 notification gnss-state-change {
905 "Notification used to inform about gnss synchronization state change";
909 path "/sync/gnss-status/gnss-sync-status";
912 "gnss-state-change notification is signalled from equipment at state change";