blob: 5fd292a99d543777a1909ab90aa665435dc1a15a [file] [log] [blame]
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001module cps-ran-schema-model {
2 yang-version 1.1;
3 namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model";
4 prefix rn;
5
shivasubedia8491642021-06-16 11:42:52 +01006 import ietf-inet-types {
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02007 prefix inet;
8 }
9 import ietf-yang-types {
10 prefix yang;
11 }
12
shivasubedia8491642021-06-16 11:42:52 +010013 organization
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +020014 "Open Network Automation Platform - ONAP
15 <https://www.onap.org>";
16 contact
17 "Editors:
18 Sandeep Shah
19 <mailto:sandeep.shah@ibm.com>
20
21 Swaminathan Seetharaman
22 <mailto:swaminathan.seetharaman@wipro.com>";
23 description
24 "This module contains a collection of YANG definitions for capturing
25 relationships among managed elements of the radio access Network
26 to be stored in ONAP CPS platform.
27
28 Copyright 2020-2021 IBM.
29
30 Licensed under the Apache License, Version 2.0 (the 'License');
31 you may not use this file except in compliance with the License.
32 You may obtain a copy of the License at
33
34 http://www.apache.org/licenses/LICENSE-2.0
35
36 Unless required by applicable law or agreed to in writing, software
37 distributed under the License is distributed on an 'AS IS' BASIS,
38 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39 See the License for the specific language governing permissions and
40 limitations under the License.";
41
shivasubedia8491642021-06-16 11:42:52 +010042 revision 2021-05-19 {
43 description
44 "Added support for OOF PCI SON Use case";
45 reference
46 "https://wiki.onap.org/display/DW/CPS+APIs";
47 }
48
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +020049 revision 2021-01-28 {
50 description
51 "CPS RAN Network YANG Model for ONAP/O-RAN POC";
52 reference
53 "https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
54 }
55
56 typedef usageState {
57 type enumeration {
58 enum IDLE {
59 description
60 "TODO";
61 }
62 enum ACTIVE {
63 description
64 "TODO";
65 }
66 enum BUSY {
67 description
68 "TODO";
69 }
70 }
71 description
72 "It describes whether or not the resource is actively in
73 use at a specific instant, and if so, whether or not it has spare
74 capacity for additional users at that instant. The value is READ-ONLY.";
75 reference
76 "ITU T Recommendation X.731";
77 }
78
79 typedef Mcc {
80 type string;
81 description
82 "The mobile country code consists of three decimal digits,
83 The first digit of the mobile country code identifies the geographic
84 region (the digits 1 and 8 are not used):";
85 reference
86 "3GPP TS 23.003 subclause 2.2 and 12.1";
87 }
88
89 typedef Mnc {
90 type string;
91 description
92 "The mobile network code consists of two or three
93 decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
94 reference
95 "3GPP TS 23.003 subclause 2.2 and 12.1";
96 }
97
98 typedef Nci {
99 type string;
100 description
101 "NR Cell Identity. The NCI shall be of fixed length of 36 bits
102 and shall be coded using full hexadecimal representation.
103 The exact coding of the NCI is the responsibility of each PLMN operator";
104 reference
105 "TS 23.003";
106 }
107
108 typedef OperationalState {
109 type enumeration {
110 enum DISABLED {
111 value 0;
112 description
113 "The resource is totally inoperable.";
114 }
115 enum ENABLED {
116 value 1;
117 description
118 "The resource is partially or fully operable.";
119 }
120 }
121 description
122 "TODO";
123 reference
124 "3GPP TS 28.625 and ITU-T X.731";
125 }
126
127 typedef AvailabilityStatus {
128 type enumeration {
129 enum IN_TEST {
130 description
131 "TODO";
132 }
133 enum FAILED {
134 description
135 "TODO";
136 }
137 enum POWER_OFF {
138 description
139 "TODO";
140 }
141 enum OFF_LINE {
142 description
143 "TODO";
144 }
145 enum OFF_DUTY {
146 description
147 "TODO";
148 }
149 enum DEPENDENCY {
150 description
151 "TODO";
152 }
153 enum DEGRADED {
154 description
155 "TODO";
156 }
157 enum NOT_INSTALLED {
158 description
159 "TODO";
160 }
161 enum LOG_FULL {
162 description
163 "TODO";
164 }
165 }
166 description
167 "TODO";
168 reference
169 "TODO";
170 }
171
172 typedef CellState {
173 type enumeration {
174 enum IDLE {
175 description
176 "TODO";
177 }
178 enum INACTIVE {
179 description
180 "TODO";
181 }
182 enum ACTIVE {
183 description
184 "TODO";
185 }
186 }
187 description
188 "TODO";
189 reference
190 "TODO";
191 }
192
193 typedef SNssai {
194 type string;
195 description
196 "Single Network Slice Selection Assistance Information.";
197 reference
198 "TS 23.501 clause 5.15.2";
199 }
200
201 typedef Sst {
202 type uint8;
203 description
204 "TODO";
205 reference
206 "TODO";
207 }
208
209 typedef Nrpci {
210 type uint32;
211 description
212 "Physical Cell Identity (PCI) of the NR cell.";
213 reference
214 "TS 36.211 subclause 6.11";
215 }
216
217 typedef Tac {
218 type int32 {
219 range "0..16777215";
220 }
221 description
222 "Tracking Area Code";
223 reference
224 "TS 23.003 clause 19.4.2.3";
225 }
226
227 typedef AmfRegionId {
228 type string;
229 description
230 "";
231 reference
232 "clause 2.10.1 of 3GPP TS 23.003";
233 }
234
235 typedef AmfSetId {
236 type string;
237 description
238 "";
239 reference
240 "clause 2.10.1 of 3GPP TS 23.003";
241 }
242
243 typedef AmfPointer {
244 type string;
245 description
246 "";
247 reference
248 "clause 2.10.1 of 3GPP TS 23.003";
249 }
250
251 // type definitions especially for core NFs
252
253 typedef NfType {
254 type enumeration {
255 enum NRF {
256 description
257 "TODO";
258 }
259 enum UDM {
260 description
261 "TODO";
262 }
263 enum AMF {
264 description
265 "TODO";
266 }
267 enum SMF {
268 description
269 "TODO";
270 }
271 enum AUSF {
272 description
273 "TODO";
274 }
275 enum NEF {
276 description
277 "TODO";
278 }
279 enum PCF {
280 description
281 "TODO";
282 }
283 enum SMSF {
284 description
285 "TODO";
286 }
287 enum NSSF {
288 description
289 "TODO";
290 }
291 enum UDR {
292 description
293 "TODO";
294 }
295 enum LMF {
296 description
297 "TODO";
298 }
299 enum GMLC {
300 description
301 "TODO";
302 }
303 enum 5G_EIR {
304 description
305 "TODO";
306 }
307 enum SEPP {
308 description
309 "TODO";
310 }
311 enum UPF {
312 description
313 "TODO";
314 }
315 enum N3IWF {
316 description
317 "TODO";
318 }
319 enum AF {
320 description
321 "TODO";
322 }
323 enum UDSF {
324 description
325 "TODO";
326 }
327 enum BSF {
328 description
329 "TODO";
330 }
331 enum CHF {
332 description
333 "TODO";
334 }
335 }
336 description
337 "TODO";
338 }
339
340 typedef NotificationType {
341 type enumeration {
342 enum N1_MESSAGES {
343 description
344 "TODO";
345 }
346 enum N2_INFORMATION {
347 description
348 "TODO";
349 }
350 enum LOCATION_NOTIFICATION {
351 description
352 "TODO";
353 }
354 }
355 description
356 "TODO";
357 }
358
359 typedef Load {
360 type uint8 {
361 range "0..100";
362 }
363 description
364 "Latest known load information of the NF, percentage ";
365 }
366
367 typedef N1MessageClass {
368 type enumeration {
369 enum 5GMM {
370 description
371 "TODO";
372 }
373 enum SM {
374 description
375 "TODO";
376 }
377 enum LPP {
378 description
379 "TODO";
380 }
381 enum SMS {
382 description
383 "TODO";
384 }
385 }
386 description
387 "TODO";
388 }
389
390 typedef N2InformationClass {
391 type enumeration {
392 enum SM {
393 description
394 "TODO";
395 }
396 enum NRPPA {
397 description
398 "TODO";
399 }
400 enum PWS {
401 description
402 "TODO";
403 }
404 enum PWS_BCAL {
405 description
406 "TODO";
407 }
408 enum PWS_RF {
409 description
410 "TODO";
411 }
412 }
413 description
414 "TODO";
415 reference
416 "TODO";
417 }
418
419 typedef NsiId {
420 type string;
421 description
422 "TODO";
423 }
424
425 typedef UeMobilityLevel {
426 type enumeration {
427 enum STATIONARY {
428 description
429 "TODO";
430 }
431 enum NOMADIC {
432 description
433 "TODO";
434 }
435 enum RESTRICTED_MOBILITY {
436 description
437 "TODO";
438 }
439 enum FULLY_MOBILITY {
440 description
441 "TODO";
442 }
443 }
444 description
445 "TODO";
446 reference
447 "TODO";
448 }
449
450 typedef ResourceSharingLevel {
451 type enumeration {
452 enum SHARED {
453 description
454 "TODO";
455 }
456 enum NOT_SHARED {
457 description
458 "TODO";
459 }
460 }
461 description
462 "TODO";
463 reference
464 "TODO";
465 }
466
467 typedef TxDirection {
468 type enumeration {
469 enum DL {
470 description
471 "TODO";
472 }
473 enum UL {
474 description
475 "TODO";
476 }
477 enum DL_AND_UL {
478 description
479 "TODO";
480 }
481 }
482 description
483 "TODO";
484 reference
485 "TODO";
486 }
487
488 typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ?
489 type string;
490 description
491 "Represents the international standard for the representation
492 of Distinguished Name (RFC 4512).
493 The format of the DistinguishedName REGEX is:
494 {AttributeType = AttributeValue}
495
496 AttributeType consists of alphanumeric and hyphen (OIDs not allowed).
497 All other characters are restricted.
498 The Attribute value cannot contain control characters or the
499 following characters : \\ > < ; \" + , (Comma) and White space
500 The Attribute value can contain the following characters if they
501 are excaped : \\ > < ; \" + , (Comma) and White space
502 The Attribute value can contain control characters if its an escaped
503 double digit hex number.
504 Examples could be
505 UID=nobody@example.com,DC=example,DC=com
506 CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US";
507 reference
508 "RFC 4512 Lightweight Directory Access Protocol (LDAP):
509 Directory Information Models";
510 } // recheck regexp it doesn't handle posix [:cntrl:]
511
512 typedef QOffsetRange {
513 type int8;
514 units "dB";
515 description
516 "TODO";
517 reference
518 "TODO";
519 }
520
521 typedef QuotaType {
522 type enumeration {
523 enum STRICT {
524 description
525 "TODO";
526 }
527 enum FLOAT {
528 description
529 "TODO";
530 }
531 }
532 description
533 "TODO";
534 }
535
536 typedef CyclicPrefix {
537 type enumeration {
538 enum NORMAL {
539 description
540 "TODO";
541 }
542 enum EXTENDED {
543 description
544 "TODO";
545 }
546 }
547 description
548 "TODO";
549 }
550
551 grouping PLMNInfo {
552 description
553 "The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have
554 two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that
555 is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003
556 subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST
557 (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).";
558 uses PLMNId;
559 list sNSSAIList {
560 key "sNssai";
561 uses sNSSAIConfig;
562 description "List of sNSSAIs";
563 }
564 }
565
566 grouping ManagedNFProfile {
567 description
568 "Defines profile for managed NF";
569 reference
570 "3GPP TS 23.501";
571 leaf idx {
572 type uint32;
573 description
574 "TODO";
575 reference
576 "3GPP TS 23.501";
577 }
578 leaf nfInstanceID {
579 type yang:uuid;
580 config false;
581 mandatory false;
582 description
583 "This parameter defines profile for managed NF.
584 The format of the NF Instance ID shall be a
585 Universally Unique Identifier (UUID) version 4,
586 as described in IETF RFC 4122 ";
587 }
588 leaf-list nfType {
589 type NfType;
590 config false;
591 min-elements 1;
592 description
593 "Type of the Network Function";
594 }
595 leaf hostAddr {
596 type inet:host;
597 mandatory false;
598 description
599 "Host address of a NF";
600 }
601 leaf authzInfo {
602 type string;
603 description
604 "This parameter defines NF Specific Service authorization
605 information. It shall include the NF type (s) and NF realms/origins
606 allowed to consume NF Service(s) of NF Service Producer.";
607 reference
608 "See TS 23.501";
609 }
610 leaf location {
611 type string;
612 description
613 "Information about the location of the NF instance
614 (e.g. geographic location, data center) defined by operator";
615 reference
616 "TS 29.510";
617 }
618 leaf capacity {
619 type uint16;
620 mandatory false;
621 description
622 "This parameter defines static capacity information
623 in the range of 0-65535, expressed as a weight relative to other
624 NF instances of the same type; if capacity is also present in the
625 nfServiceList parameters, those will have precedence over this value.";
626 reference
627 "TS 29.510";
628 }
629 leaf nFSrvGroupId {
630 type string;
631 description
632 "This parameter defines identity of the group that is
633 served by the NF instance.
634 May be config false or true depending on the ManagedFunction.
635 Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo.
636 Shall be present if ../nfType = UDM or AUSF or UDR. ";
637 reference
638 "TS 29.510";
639 }
640 leaf-list supportedDataSetIds {
641 type enumeration {
642 enum SUBSCRIPTION {
643 description
644 "TODO";
645 }
646 enum POLICY {
647 description
648 "TODO";
649 }
650 enum EXPOSURE {
651 description
652 "TODO";
653 }
654 enum APPLICATION {
655 description
656 "TODO";
657 }
658 }
659 description
660 "List of supported data sets in the UDR instance.
661 May be present if ../nfType = UDR";
662 reference
663 "TS 29.510";
664 }
665 leaf-list smfServingAreas {
666 type string;
667 description
668 "Defines the SMF service area(s) the UPF can serve.
669 Shall be present if ../nfType = UPF";
670 reference
671 "TS 29.510";
672 }
673 leaf priority {
674 type uint16;
675 description
676 "This parameter defines Priority (relative to other NFs
677 of the same type) in the range of 0-65535, to be used for NF selection;
678 lower values indicate a higher priority. If priority is also present
679 in the nfServiceList parameters, those will have precedence over
680 this value. Shall be present if ../nfType = AMF ";
681 reference
682 "TS 29.510";
683 }
684 }
685
686
687 grouping PLMNId {
688 description
689 "TODO";
690 reference
691 "TS 23.658";
692 leaf mcc {
693 type Mcc;
694 mandatory true;
695 description
696 "TODO";
697 }
698 leaf mnc {
699 type Mnc;
700 mandatory true;
701 description
702 "TODO";
703 }
704 }
705
706 grouping AmfIdentifier {
707 description
708 "The AMFI is constructed from an AMF Region ID,
709 an AMF Set ID and an AMF Pointer.
710 The AMF Region ID identifies the region,
711 the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and
712 the AMF Pointer uniquely identifies the AMF within the AMF Set. ";
713 leaf amfRegionId {
714 type AmfRegionId;
715 description
716 "TODO";
717 }
718 leaf amfSetId {
719 type AmfSetId;
720 description
721 "TODO";
722 }
723 leaf amfPointer {
724 type AmfPointer;
725 description
726 "TODO";
727 }
728 }
729
730 grouping DefaultNotificationSubscription {
731 description
732 "TODO";
733 leaf notificationType {
734 type NotificationType;
735 description
736 "TODO";
737 }
738 leaf callbackUri {
739 type inet:uri;
740 description
741 "TODO";
742 }
743 leaf n1MessageClass {
744 type N1MessageClass;
745 description
746 "TODO";
747 }
748 leaf n2InformationClass {
749 type N2InformationClass;
750 description
751 "TODO";
752 }
753 }
754
755 grouping Ipv4AddressRange {
756 description
757 "TODO";
758 leaf start {
759 type inet:ipv4-address;
760 description
761 "TODO";
762 }
763 leaf end {
764 type inet:ipv4-address;
765 description
766 "TODO";
767 }
768 }
769
770 grouping Ipv6PrefixRange {
771 description
772 "TODO";
773 leaf start {
774 type inet:ipv6-prefix;
775 description
776 "TODO";
777 }
778 leaf end {
779 type inet:ipv6-prefix;
780 description
781 "TODO";
782 }
783 }
784
785 grouping AddressWithVlan {
786 description
787 "TODO";
788 leaf ipAddress {
789 type inet:ip-address;
790 description
791 "TODO";
792 }
793 leaf vlanId {
794 type uint16;
795 description
796 "TODO";
797 }
798 }
799
800 grouping ManagedElementGroup {
801 description
802 "Abstract class representing telecommunications resources.";
803 leaf dnPrefix {
804 type DistinguishedName;
805 description
806 "Provides naming context and splits the DN into a DN Prefix and Local DN";
807 }
808 leaf userLabel {
809 type string;
810 description
811 "A user-friendly name of this object.";
812 }
813 leaf locationName {
814 type string;
815 config false;
816 description
817 "The physical location (e.g. an address) of an entity";
818 }
819 leaf-list managedBy {
820 type DistinguishedName;
821 config false;
822 description
823 "Relates to the role played by ManagementSystem";
824 }
825 leaf-list managedElementTypeList {
826 type string;
827 config false;
828 min-elements 1;
829 description
830 "The type of functionality provided by the ManagedElement.
831 It may represent one ME functionality or a combination of
832 Two examples of allowed values are:
833 - NodeB;
834 - HLR, VLR.";
835 }
836 } // Managed Element grouping
837
838 grouping NearRTRICGroup {
839 description
840 "Abstract class representing Near RT RIC.";
841 leaf dnPrefix {
842 type DistinguishedName;
843 description
844 "Provides naming context and splits the DN into a DN Prefix and Local DN";
845 }
846 leaf userLabel {
847 type string;
848 description
849 "A user-friendly name of this object.";
850 }
851 leaf locationName {
852 type string;
853 config false;
854 description
855 "The physical location (e.g. an address) of an entity";
856 }
857 leaf gNBId {
858 type int64 { range "0..4294967295"; }
859 config false;
860 description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
861 is part of the NR Cell Identifier (NCI) of the gNB cells.";
862 reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
863 }
864
shivasubedia8491642021-06-16 11:42:52 +0100865 list pLMNInfoList {
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +0200866 uses PLMNInfo;
867 key "mcc mnc";
868 description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC.";
869 }
870 list RRMPolicyRatio {
871 key id;
872 leaf id {
873 type string;
874 description
875 "Key leaf";
876 }
877 container attributes {
878 uses RRMPolicyRatioGroup;
879 }
880 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
881 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
882 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
883 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
884 }
shivasubedia8491642021-06-16 11:42:52 +0100885
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +0200886 leaf-list ranNFNSSIIdList{
887 type string;
888 config true;
889 description "Contains the list of RANNFNSSIs configured in a NearRTRIC";
890 }
891
892
893 } // Near RT RIC grouping
894
895
896
shivasubedia8491642021-06-16 11:42:52 +0100897 grouping Configuration{
898 leaf configParameter{
899 type string;
900 description "Type of the configuration parameter";
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +0200901 }
shivasubedia8491642021-06-16 11:42:52 +0100902 leaf configValue{
903 type int64;
904 description "Identifies the configuration to be done for the network elements under the NearRTRIC";
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +0200905
shivasubedia8491642021-06-16 11:42:52 +0100906 }
907 }
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +0200908
909
910 grouping GNBDUFunctionGroup {
911 description
912 "Represents the GNBDUFunction IOC.";
913 reference
914 "3GPP TS 28.541";
915
916 leaf gNBId {
917 type int64 {
918 range "0..4294967295";
919 }
920 config false;
921 mandatory false;
922 description
923 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
924 is part of the NR Cell Identifier (NCI) of the gNB cells.";
925 reference
926 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
927 }
928 leaf gNBIdLength {
929 type int32 {
930 range "22..32";
931 }
932 mandatory false;
933 description
934 "Indicates the number of bits for encoding the gNB ID.";
935 reference
936 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
937 }
938 leaf gNBDUId {
939 type int64 {
940 range "0..68719476735";
941 }
942 mandatory false;
943 description
944 "Uniquely identifies the DU at least within a gNB.";
945 reference
946 "3GPP TS 38.473";
947 }
948 leaf gNBDUName {
949 type string {
950 length "1..150";
951 }
952 description
953 "Identifies the Distributed Unit of an NR node";
954 reference
955 "3GPP TS 38.473";
956 }
957 list RRMPolicyRatio {
958 key id;
959 leaf id {
960 type string;
961 description
962 "Key leaf";
963 }
964 container attributes {
965 uses RRMPolicyRatioGroup;
966 }
967 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
968 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
969 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
970 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
971 }
972 }
973
974 grouping NRCellDUGroup {
975 description
976 "Represents the NRCellDU IOC.";
977 reference
978 "3GPP TS 28.541";
979 list RRMPolicyRatio {
980 key id;
981 leaf id {
982 type string;
983 description
984 "Key leaf";
985 }
986 container attributes {
987 uses RRMPolicyRatioGroup;
988 }
989 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
990 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
991 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
992 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
993 }
994 leaf cellLocalId {
995 type int32 {
996 range "0..16383";
997 }
998 mandatory false;
999 description
1000 "Identifies an NR cell of a gNB. Together with the
1001 corresponding gNB identifier in forms the NR Cell Identity (NCI).";
1002 reference
1003 "NCI in 3GPP TS 38.300";
1004 }
shivasubedia8491642021-06-16 11:42:52 +01001005
1006 leaf siteLatitude {
1007 type decimal64 {
1008 fraction-digits 4;
1009 range "-90.0000..+90.0000";
1010 }
1011 description "The latitude of the site where the ManagedFunction
1012 instance resides, based on World Geodetic System (1984 version)
1013 global reference frame (WGS 84). Positive values correspond to
1014 the northern hemisphere. This attribute is optional in case of
1015 BTSFunction and RNCFunction instance(s).";
1016 }
1017
1018 leaf siteLongitude {
1019 type decimal64 {
1020 fraction-digits 4;
1021 range "-180.0000..+180.0000";
1022 }
1023 description "The longitude of the site where the ManagedFunction
1024 instance resides, based on World Geodetic System (1984 version)
1025 global reference frame (WGS 84). Positive values correspond to
1026 degrees east of 0 degrees longitude. This attribute is optional in
1027 case of BTSFunction and RNCFunction instance(s).";
1028 }
1029
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001030 list pLMNInfoList {
1031 key "mcc mnc";
1032 min-elements 1;
1033 description
1034 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1035 can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for
1036 corresponding PLMN in case of network slicing feature is supported. The plMNId of the first
1037 entry of the list is the PLMNId used to construct the nCGI for the NR cell.";
1038 uses PLMNInfo;
1039 }
1040 leaf nRPCI {
1041 type int32 {
1042 range "0..1007";
1043 }
1044 mandatory false;
1045 description
1046 "The Physical Cell Identity (PCI) of the NR cell.";
1047 reference
1048 "3GPP TS 36.211";
1049 }
1050 leaf nRTAC {
1051 type Tac;
1052 description
1053 "The common 5GS Tracking Area Code for the PLMNs.";
1054 reference
1055 "3GPP TS 23.003, 3GPP TS 38.473";
1056 }
1057 } // grouping
1058
1059 grouping rRMPolicyMemberGroup {
1060 description
1061 "TODO";
1062 uses PLMNId;
1063 leaf sNSSAI {
1064 type SNssai;
1065 description
1066 "This data type represents an RRM Policy member that will be part of a
1067 rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI).
1068 The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources
1069 based on settings in RRMPolicy.";
1070 }
1071 }
1072
1073 grouping RRMPolicyRatioGroup {
1074
1075 uses RRMPolicy_Group; // Inherits RRMPolicy_
1076
1077 leaf quotaType {
1078 type QuotaType;
1079 mandatory false;
1080 description "The type of the quota which allows to allocate resources as
1081 strictly usable for defined slice(s) (strict quota) or allows that
1082 resources to be used by other slice(s) when defined slice(s) do not
1083 need them (float quota).";
1084 }
1085
1086 leaf rRMPolicyMaxRatio {
1087 type uint8;
1088 mandatory false;
1089 units percent;
1090 description "The RRM policy setting the maximum percentage of radio
1091 resources to be allocated to the corresponding S-NSSAI list. This
1092 quota can be strict or float quota. Strict quota means resources are
1093 not allowed for other sNSSAIs even when they are not used by the
1094 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1095 when the defined sNSSAIList do not need them. Value 0 indicates that
1096 there is no maximum limit.";
1097 }
1098
1099 leaf rRMPolicyMinRatio {
1100 type uint8;
1101 mandatory false;
1102 units percent;
1103 description "The RRM policy setting the minimum percentage of radio
1104 resources to be allocated to the corresponding S-NSSAI list. This
1105 quota can be strict or float quota. Strict quota means resources are
1106 not allowed for other sNSSAIs even when they are not used by the
1107 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1108 when the defined sNSSAIList do not need them. Value 0 indicates that
1109 there is no minimum limit.";
1110 }
1111 leaf rRMPolicyDedicatedRatio {
1112 type uint8;
1113 units percent;
1114 description "Dedicated Ration.";
1115 }
1116 description "Represents the RRMPolicyRatio concrete IOC.";
1117 }
1118
1119
1120 grouping sNSSAIConfig{
shivasubedia8491642021-06-16 11:42:52 +01001121 leaf sNssai {
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001122 type string;
1123 description "s-NSSAI of a network slice.";
shivasubedia8491642021-06-16 11:42:52 +01001124 reference "3GPP TS 23.003";
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001125 }
shivasubedia8491642021-06-16 11:42:52 +01001126 leaf status {
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001127 type string;
1128 description "status of s-NSSAI";
1129 }
shivasubedia8491642021-06-16 11:42:52 +01001130 list configData{
1131 uses Configuration;
1132 key "configParameter";
1133 description "List of configurations to be done at the network elements";
1134 }
1135 }
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001136
1137 grouping RRMPolicy_Group {
1138 description
1139 "This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC
1140 needs to be subclassed to be instantiated. It defines two attributes apart from those
1141 inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC
1142 connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the
1143 RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType
1144 attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in
1145 GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1146 inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies,
1147 both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1148 abstract RRMPolicy_ IOC.";
1149 leaf resourceType {
1150 type string;
1151 mandatory false;
1152 description
1153 "The resourceType attribute defines type of resource (PRB, RRC connected users,
1154 DRB usage etc.) that is subject to policy. Valid values are 'PRB', 'RRC' or 'DRB'";
1155 }
1156 list rRMPolicyMemberList {
1157 key "idx";
1158 leaf idx {
1159 type uint32;
1160 description
1161 "TODO";
1162 }
1163 description
1164 "It represents the list of RRMPolicyMember (s) that the managed object
1165 is supporting. A RRMPolicyMember <<dataType>> include the PLMNId <<dataType>>
1166 and S-NSSAI <<dataType>>.";
1167 uses rRMPolicyMemberGroup;
1168 }
1169 } // grouping
1170
1171 grouping GNBCUUPFunctionGroup {
1172 description
1173 "Represents the GNBCUUPFunction IOC.";
1174 reference
1175 "3GPP TS 28.541";
1176
1177 list RRMPolicyRatio {
1178 key id;
1179 leaf id {
1180 type string;
1181 description
1182 "Key leaf";
1183 }
1184 container attributes {
1185 uses RRMPolicyRatioGroup;
1186 }
1187 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1188 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1189 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1190 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1191 }
1192 leaf gNBCUUPId {
1193 type uint64 {
1194 range "0..68719476735";
1195 }
1196 config false;
1197 mandatory false;
1198 description
1199 "Identifies the gNB-CU-UP at least within a gNB-CU-CP";
1200 reference
1201 "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463";
1202 }
1203 leaf gNBId {
1204 type int64 {
1205 range "0..4294967295";
1206 }
1207 mandatory false;
1208 description
1209 "Indicates the number of bits for encoding the gNB Id.";
1210 reference
1211 "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1212 }
1213 list pLMNInfoList {
1214 key "mcc mnc";
1215 description
1216 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1217 can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the
1218 GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported";
1219 uses PLMNInfo;
1220 }
1221 } // grouping
1222
1223 grouping GNBCUCPFunctionGroup {
1224 description
1225 "Represents the GNBCUCPFunction IOC.";
1226 reference
1227 "3GPP TS 28.541";
1228 list RRMPolicyRatio {
1229 key id;
1230 leaf id {
1231 type string;
1232 description
1233 "Key leaf";
1234 }
1235 container attributes {
1236 uses RRMPolicyRatioGroup;
1237 }
1238 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1239 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1240 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1241 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1242 }
1243 leaf gNBId {
1244 type int64 {
1245 range "0..4294967295";
1246 }
1247 mandatory false;
1248 description
1249 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
1250 is part of the NR Cell Identifier (NCI) of the gNB cells.";
1251 reference
1252 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1253 }
1254 leaf gNBIdLength {
1255 type int32 {
1256 range "22..32";
1257 }
1258 mandatory false;
1259 description
1260 "Indicates the number of bits for encoding the gNB ID.";
1261 reference
1262 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1263 }
1264 leaf gNBCUName {
1265 type string {
1266 length "1..150";
1267 }
1268 mandatory false;
1269 description
1270 "Identifies the Central Unit of an gNB.";
1271 reference
1272 "3GPP TS 38.473";
1273 }
1274 list pLMNId {
1275 key "mcc mnc";
1276 min-elements 1;
1277 max-elements 1;
1278 description
1279 "The PLMN identifier to be used as part of the global RAN
1280 node identity.";
1281 uses PLMNId;
1282 }
1283 } // grouping
1284
1285 grouping NRCellCUGroup {
1286 description
1287 "Represents the NRCellCU IOC.";
1288 reference
1289 "3GPP TS 28.541";
1290 leaf cellLocalId {
1291 type int32 {
1292 range "0..16383";
1293 }
1294 mandatory false;
1295 description
1296 "Identifies an NR cell of a gNB. Together with corresponding
1297 gNB ID it forms the NR Cell Identifier (NCI).";
1298 }
1299 list pLMNInfoList {
1300 key "mcc mnc";
1301 min-elements 1;
1302 description
1303 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs
1304 that can be served by the NR cell, and which S-NSSAIs that can be supported by the
1305 NR cell for corresponding PLMN in case of network slicing feature is supported.";
1306 uses PLMNInfo;
1307 // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation.
1308 }
1309 list RRMPolicyRatio {
1310 key id;
1311 leaf id {
1312 type string;
1313 description
1314 "Key leaf";
1315 }
1316 container attributes {
1317 uses RRMPolicyRatioGroup;
1318 }
1319 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1320 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1321 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1322 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1323 }
1324 } // grouping NRCellCUGroup
1325
shivasubedia8491642021-06-16 11:42:52 +01001326 grouping RegionNRCellCUMappingGroup {
1327 description
1328 "Represents the NRCellCU IOC.";
1329 reference
1330 "3GPP TS 28.541";
1331 leaf cellLocalId {
1332 type int32 {
1333 range "0..16383";
1334 }
1335 mandatory false;
1336 description
1337 "Identifies an NR cell of a gNB. Together with corresponding
1338 gNB ID it forms the NR Cell Identifier (NCI).";
1339 }
1340
1341 } // grouping RegionNRCellCUMappingGroup
1342
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001343 grouping NRCellRelationGroup {
1344 description
1345 "Represents the NRCellRelation IOC.";
1346 reference
1347 "3GPP TS 28.541";
1348 leaf nRTCI {
1349 type uint64;
1350 description
1351 "Target NR Cell Identifier. It consists of NR Cell
1352 Identifier (NCI) and Physical Cell Identifier of the target NR cell
1353 (nRPCI).";
1354 }
1355 } // grouping
1356
shivasubedia8491642021-06-16 11:42:52 +01001357 typedef RegionId {
1358 type union {
1359 type uint8;
1360 type string {
1361 length 8;
1362 }
1363 }
1364 reference "similar to clause 2.10.1 of 3GPP TS 23.003";
1365 }
1366
1367
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001368 // container for RAN Network
1369
1370 container cps-ran-schema {
1371 description
1372 "High-level hierarchical data structure to establish
1373 relationships among O-RAN managed elements for the
1374 purposes of storing in Configuration and Persistence
1375 ONAP system ";
shivasubedia8491642021-06-16 11:42:52 +01001376
1377 list Regions {
1378 key "regionId"; // list Regions
1379 description
1380 "A list of regions in the RAN network to map to mutually exclusive NRCellCU's";
1381 leaf regionId {
1382 type RegionId;
1383 }
1384 container cps-region-cell-mapping {
1385 list NRCellCU {
1386 key "idNRCellCU";
1387 description
1388 "Represents the information required by CU that is
1389 responsible for the management of inter-cell mobility and neighbour
1390 relations via ANR.";
1391 reference
1392 "3GPP TS 28.541";
1393 leaf idNRCellCU {
1394 type string;
1395 description
1396 "TODO";
1397 }
1398 container attributes {
1399 description
1400 "TODO";
1401 uses RegionNRCellCUMappingGroup;
1402 }
1403 list NRCellRelation {
1404 key "idNRCellRelation";
1405 description
1406 "Represents a neighbour cell relation from a source cell
1407 to a target cell, where the target cell is an NRCellCU or
1408 ExternalNRCellCU instance.";
1409 reference
1410 "3GPP TS 28.541";
1411 leaf idNRCellRelation {
1412 type string;
1413 description
1414 "TODO";
1415 }
1416 container attributes {
1417 description
1418 "TODO";
1419 uses NRCellRelationGroup;
1420 }
1421 } // list NRCellRelation
1422 }
1423 }
1424 }
1425
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001426 list NearRTRIC {
1427 key "idNearRTRIC"; // list GNBCUCPFunction
1428 description
1429 "A list of expected near-real-time RIC O-RAN managed functions.";
1430 leaf idNearRTRIC {
1431 type string;
1432 description
1433 "Key leaf (namingAttribute) for a class/list.
1434 Should be used as a key leaf for lists representing
1435 stage 2 classes.";
1436 reference
1437 "3GPP TS 32.300 Name convention for managed objects";
1438 }
1439 container attributes {
1440 description
1441 "TODO";
1442 uses NearRTRICGroup;
1443 }
1444 list GNBDUFunction {
1445 key "idGNBDUFunction";
1446 description
1447 "Represents the logical function DU of gNB or en-gNB.";
1448 reference
1449 "3GPP TS 28.541";
1450 leaf idGNBDUFunction {
1451 type string;
1452 description
1453 "TODO";
1454 }
1455 container attributes {
1456 description
1457 "TODO";
1458 uses GNBDUFunctionGroup;
1459 }
1460 list NRCellDU {
1461 key "idNRCellDU";
1462 description
1463 "Represents the information of a cell known by DU.";
1464 reference
1465 "3GPP TS 28.541";
1466 leaf idNRCellDU {
1467 type string;
1468 description
1469 "TODO";
1470 }
1471 container attributes {
1472 description
1473 "TODO";
1474 uses NRCellDUGroup;
1475 }
1476 } // list NRCellDU
1477 } // list GNBDUFunction
1478 list GNBCUUPFunction {
1479 key "idGNBCUUPFunction";
1480 description
1481 "TODO";
1482 leaf idGNBCUUPFunction {
1483 type string;
1484 description
1485 "TODO";
1486 }
1487 container attributes {
1488 description
1489 "TODO";
1490 uses GNBCUUPFunctionGroup;
1491 }
1492 } // list GNBCUUPFunction
1493 list GNBCUCPFunction {
1494 key "idGNBCUCPFunction"; // list NRCellCU
1495 description
1496 "Represents the logical function CU-CP of gNB and en-gNB.";
1497 reference
1498 "3GPP TS 28.541";
1499 leaf idGNBCUCPFunction {
1500 type string;
1501 description
1502 "TODO";
1503 }
1504 container attributes {
1505 description
1506 "TODO";
1507 uses GNBCUCPFunctionGroup;
1508 }
1509 list NRCellCU {
1510 key "idNRCellCU";
1511 description
1512 "Represents the information required by CU that is
1513 responsible for the management of inter-cell mobility and neighbour
1514 relations via ANR.";
1515 reference
1516 "3GPP TS 28.541";
1517 leaf idNRCellCU {
1518 type string;
1519 description
1520 "TODO";
1521 }
1522 container attributes {
1523 description
1524 "TODO";
1525 uses NRCellCUGroup;
1526 }
1527 list NRCellRelation {
1528 key "idNRCellRelation";
1529 description
1530 "Represents a neighbour cell relation from a source cell
1531 to a target cell, where the target cell is an NRCellCU or
1532 ExternalNRCellCU instance.";
1533 reference
1534 "3GPP TS 28.541";
1535 leaf idNRCellRelation {
1536 type string;
1537 description
1538 "TODO";
1539 }
1540 container attributes {
1541 description
1542 "TODO";
1543 uses NRCellRelationGroup;
1544 }
1545 } // list NRCellRelation
1546 list NRFreqRelation {
1547 key "idNRFreqRelation";
1548 description
1549 "Together with the target NRFrequency, it represents the
1550 frequency properties applicable to the referencing NRFreqRelation.";
1551 reference
1552 "3GPP TS 28.541";
1553 leaf idNRFreqRelation {
1554 type string;
1555 description
1556 "TODO";
1557 }
1558 } // list NRFreqRelation
1559 }
1560 }
1561 } // list ManagedElement
1562 }
1563}