From 8deb795aaff92b6d09afa57da719d5c0e445a056 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 2 Jul 2021 11:54:17 +0200 Subject: [PATCH 1/6] removed all YANG files --- yang-models/README.md | 7 - yang-models/_3gpp-5g-common-yang-types.yang | 105 -- .../_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang | 58 - ...-5gc-nrm-GtpUPathQoSMonitoringControl.yang | 142 --- .../_3gpp-5gc-nrm-QFQoSMonitoringControl.yang | 134 -- yang-models/_3gpp-5gc-nrm-affunction.yang | 38 - yang-models/_3gpp-5gc-nrm-amffunction.yang | 89 -- yang-models/_3gpp-5gc-nrm-amfregion.yang | 83 -- yang-models/_3gpp-5gc-nrm-amfset.yang | 81 -- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 89 -- .../_3gpp-5gc-nrm-configurable5qiset.yang | 125 -- yang-models/_3gpp-5gc-nrm-dnfunction.yang | 39 - yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 50 - yang-models/_3gpp-5gc-nrm-ep.yang | 646 ---------- .../_3gpp-5gc-nrm-externalnrffunction.yang | 42 - .../_3gpp-5gc-nrm-externalnssffunction.yang | 43 - .../_3gpp-5gc-nrm-externalseppfunction.yang | 55 - yang-models/_3gpp-5gc-nrm-lmffunction.yang | 63 - yang-models/_3gpp-5gc-nrm-n3iwffunction.yang | 55 - yang-models/_3gpp-5gc-nrm-neffunction.yang | 68 - yang-models/_3gpp-5gc-nrm-nfprofile.yang | 1095 ----------------- yang-models/_3gpp-5gc-nrm-nfservice.yang | 302 ----- yang-models/_3gpp-5gc-nrm-ngeirfunction.yang | 80 -- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 88 -- yang-models/_3gpp-5gc-nrm-nssffunction.yang | 87 -- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 86 -- yang-models/_3gpp-5gc-nrm-pcffunction.yang | 97 -- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 642 ---------- yang-models/_3gpp-5gc-nrm-scpfunction.yang | 50 - yang-models/_3gpp-5gc-nrm-seppfunction.yang | 70 -- yang-models/_3gpp-5gc-nrm-smffunction.yang | 102 -- yang-models/_3gpp-5gc-nrm-smsffunction.yang | 62 - yang-models/_3gpp-5gc-nrm-udmfunction.yang | 86 -- yang-models/_3gpp-5gc-nrm-udrfunction.yang | 78 -- yang-models/_3gpp-5gc-nrm-udsffunction.yang | 79 -- yang-models/_3gpp-5gc-nrm-upffunction.yang | 80 -- yang-models/_3gpp-common-ep-rp.yang | 68 - yang-models/_3gpp-common-fm.yang | 408 ------ yang-models/_3gpp-common-managed-element.yang | 248 ---- .../_3gpp-common-managed-function.yang | 311 ----- yang-models/_3gpp-common-measurements.yang | 542 -------- yang-models/_3gpp-common-subnetwork.yang | 214 ---- .../_3gpp-common-subscription-control.yang | 209 ---- yang-models/_3gpp-common-top.yang | 36 - yang-models/_3gpp-common-trace.yang | 895 -------------- yang-models/_3gpp-common-yang-extensions.yang | 95 -- yang-models/_3gpp-common-yang-types.yang | 512 -------- yang-models/_3gpp-nr-nrm-beam.yang | 96 -- yang-models/_3gpp-nr-nrm-bwp.yang | 104 -- .../_3gpp-nr-nrm-cesmanagementfunction.yang | 64 - ...3gpp-nr-nrm-commonbeamformingfunction.yang | 62 - ...3gpp-nr-nrm-cpciconfigurationfunction.yang | 67 - .../_3gpp-nr-nrm-danrmanagementfunction.yang | 44 - .../_3gpp-nr-nrm-desmanagementfunction.yang | 261 ---- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 70 -- ...3gpp-nr-nrm-dpciconfigurationfunction.yang | 69 -- ...3gpp-nr-nrm-drachoptimizationfunction.yang | 120 -- yang-models/_3gpp-nr-nrm-ep.yang | 256 ---- .../_3gpp-nr-nrm-eutrancellrelation.yang | 160 --- yang-models/_3gpp-nr-nrm-eutranetwork.yang | 61 - .../_3gpp-nr-nrm-eutranfreqrelation.yang | 208 ---- yang-models/_3gpp-nr-nrm-eutranfrequency.yang | 64 - .../_3gpp-nr-nrm-externalamffunction.yang | 69 -- .../_3gpp-nr-nrm-externalenbfunction.yang | 60 - .../_3gpp-nr-nrm-externaleutrancell.yang | 153 --- .../_3gpp-nr-nrm-externalgnbcucpfunction.yang | 76 -- .../_3gpp-nr-nrm-externalgnbcuupfunction.yang | 66 - .../_3gpp-nr-nrm-externalgnbdufunction.yang | 76 -- .../_3gpp-nr-nrm-externalnrcellcu.yang | 85 -- ...3gpp-nr-nrm-externalservinggwfunction.yang | 52 - .../_3gpp-nr-nrm-externalupffunction.yang | 51 - yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 132 -- yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang | 172 --- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 93 -- yang-models/_3gpp-nr-nrm-nrcellcu.yang | 93 -- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 226 ---- yang-models/_3gpp-nr-nrm-nrcellrelation.yang | 144 --- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 245 ---- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 71 -- yang-models/_3gpp-nr-nrm-nrnetwork.yang | 39 - yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang | 119 -- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 122 -- yang-models/_3gpp-ns-nrm-networkslice.yang | 74 -- .../_3gpp-ns-nrm-networkslicesubnet.yang | 206 ---- yang-models/_3gpp-ns-nrm-perfreq.yang | 170 --- yang-models/_3gpp-ns-nrm-serviceprofile.yang | 569 --------- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 124 -- .../external-yams/ietf-inet-types.yang | 472 ------- .../ietf-yang-schema-mount@2019-01-14.yang | 224 ---- .../ietf-yang-types@2013-07-15.yang | 480 -------- 90 files changed, 14803 deletions(-) delete mode 100755 yang-models/README.md delete mode 100755 yang-models/_3gpp-5g-common-yang-types.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-affunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-amffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-amfregion.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-amfset.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-ausffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-configurable5qiset.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-dnfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-ep.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-externalnrffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-externalnssffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-externalseppfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-lmffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-n3iwffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-neffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-nfprofile.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-nfservice.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-ngeirfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-nrffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-nssffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-nwdaffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-pcffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-scpfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-seppfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-smffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-smsffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-udmfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-udrfunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-udsffunction.yang delete mode 100755 yang-models/_3gpp-5gc-nrm-upffunction.yang delete mode 100755 yang-models/_3gpp-common-ep-rp.yang delete mode 100755 yang-models/_3gpp-common-fm.yang delete mode 100755 yang-models/_3gpp-common-managed-element.yang delete mode 100755 yang-models/_3gpp-common-managed-function.yang delete mode 100755 yang-models/_3gpp-common-measurements.yang delete mode 100755 yang-models/_3gpp-common-subnetwork.yang delete mode 100755 yang-models/_3gpp-common-subscription-control.yang delete mode 100755 yang-models/_3gpp-common-top.yang delete mode 100755 yang-models/_3gpp-common-trace.yang delete mode 100755 yang-models/_3gpp-common-yang-extensions.yang delete mode 100755 yang-models/_3gpp-common-yang-types.yang delete mode 100755 yang-models/_3gpp-nr-nrm-beam.yang delete mode 100755 yang-models/_3gpp-nr-nrm-bwp.yang delete mode 100755 yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-desmanagementfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-dmrofunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-ep.yang delete mode 100755 yang-models/_3gpp-nr-nrm-eutrancellrelation.yang delete mode 100755 yang-models/_3gpp-nr-nrm-eutranetwork.yang delete mode 100755 yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang delete mode 100755 yang-models/_3gpp-nr-nrm-eutranfrequency.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalamffunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalenbfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externaleutrancell.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalnrcellcu.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-externalupffunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-gnbdufunction.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrcellcu.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrcelldu.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrcellrelation.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrfreqrelation.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrfrequency.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrnetwork.yang delete mode 100755 yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang delete mode 100755 yang-models/_3gpp-nr-nrm-rrmpolicy.yang delete mode 100755 yang-models/_3gpp-ns-nrm-networkslice.yang delete mode 100755 yang-models/_3gpp-ns-nrm-networkslicesubnet.yang delete mode 100755 yang-models/_3gpp-ns-nrm-perfreq.yang delete mode 100755 yang-models/_3gpp-ns-nrm-serviceprofile.yang delete mode 100755 yang-models/_3gpp-ns-nrm-sliceprofile.yang delete mode 100755 yang-models/external-yams/ietf-inet-types.yang delete mode 100755 yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang delete mode 100755 yang-models/external-yams/ietf-yang-types@2013-07-15.yang diff --git a/yang-models/README.md b/yang-models/README.md deleted file mode 100755 index eb452b55a..000000000 --- a/yang-models/README.md +++ /dev/null @@ -1,7 +0,0 @@ -Folder for all 3GPP SA5 YANG modules and submodules (YAMs) -A subfolder for used external YANG modules is included. - -All commited YANG modules MUST pass the - "pyang --strict -p external-yams _3gpp-*.yang" - validation command without errors. - diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang deleted file mode 100755 index 9c07b5cf8..000000000 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ /dev/null @@ -1,105 +0,0 @@ -module _3gpp-5g-common-yang-types { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; - prefix "types5g3gpp"; - - - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines common types for 5G networks and - network slicing."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-20 { reference "Initial version."; } - - grouping SNssai { - description - "Single Network Slice Selection Assistance Information(S-NSSAI)"; - reference "3GPP TS 23.003"; - - leaf sd { - description "Slice Differentiator - If not needed, the value can be set to FFFFFF."; - type string{ - length 6; - pattern '[a-fA-F0-9]*'; - } - reference "3GPP TS 23.003"; - } - - leaf sst { - type uint8; - description "Slice/Service Type. - Values 0 to 127 belong to standardized SST range and are defined in - 3GPP TS 23.501. Values 128 to 255 belong to operator-specific range."; - } - } - - grouping PLMNInfo { - description "The PLMNInfo data type define a S-NSSAI member in a specific - PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). - The PLMNId represents a data type that is comprised of mcc - (mobile country code) and mnc (mobile network code), (See TS 23.003 - subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is - comprised of an SST (Slice/Service type) and an optional - SD (Slice Differentiator) field"; - uses types3gpp:PLMNId; - uses SNssai; - } - - typedef CommModelType { - reference "3GPP TS 23501"; - type enumeration { - enum DIRECT_COMMUNICATION_WO_NRF { - value 0; - description "Directly communicate to other pre-configured NF service."; - } - - enum DIRECT_COMMUNICATION_WITH_NRF { - value 1; - description "Directly communicate to other NF service discovered - by NRF."; - } - - enum INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY { - value 2; - description "Communicate to pre-configured other NF service through - SCP as a proxy."; - } - - enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { - value 3; - description "Communication to NF service discovered by NRF through SCP as a proxy."; - } - - } - } - - grouping CommModel { - leaf groupId { - type uint16; - } - leaf commModelType { - type CommModelType; - } - leaf-list targetNFServiceList { - type types3gpp:DistinguishedName; - } - leaf commModelConfiguration { - type string; - } - } - - grouping SupportedFunc { - leaf function { - type string; - } - leaf policy { - type string; - } - } - -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang deleted file mode 100755 index fabfe4336..000000000 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ /dev/null @@ -1,58 +0,0 @@ -module _3gpp-5gc-nrm-FiveQiDscpMappingSet { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; - prefix FiveQiDscpMapping3gpp; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description " This IOC represents the set of mapping between 5QIs and DSCP."; - reference "3GPP TS 28.541"; - - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-05-27 { reference "CR-0287"; } - - grouping FiveQiDscpMapping { - leaf-list fiveQIValues { - type uint32 { - range 0..255 ; - } - min-elements 1; - description " Identifies the 5QI values that are mapped to a same DSCP, as specified in TS 28.541."; - } - - leaf dscp { - type uint32 { - range 0..255 ; - } - mandatory true; - } - } - - grouping FiveQiDscpMappingSetGrp { - description "Represents the FiveQiDscpMappingSet IOC."; - list FiveQiDscpMappingList { - key "dscp"; - uses FiveQiDscpMapping; - } - } - - grouping FiveQiDscpMappingSetSubtree { - list FiveQiDscpMappingSet { - description "Specifies the mapping between 5QIs and DSCPs."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses FiveQiDscpMappingSetGrp; - } - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - uses FiveQiDscpMappingSetSubtree; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang deleted file mode 100755 index d29d6d21a..000000000 --- a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang +++ /dev/null @@ -1,142 +0,0 @@ -module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl; - prefix gtpUPathQMCtrl3gpp; - - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the capabilities and properties for control - of GTP-U path QoS monitoring defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-09-30 { reference "CR-0393"; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-04-10 { reference "S5-202103"; } - - grouping GtpUPathDelayThresholdsType { - description "Thresholds for reporting the packet delay for GTP-U path QoS - monitoring "; - reference "3GPP TS 29.244"; - leaf n3AveragePacketDelayThreshold { - mandatory true; - type uint32; - } - leaf n3MinPacketDelayThreshold { - mandatory true; - type uint32; - } - leaf n3MaxPacketDelayThreshold { - mandatory true; - type uint32; - } - leaf n9AveragePacketDelayThreshold { - mandatory true; - type uint32; - } - leaf n9MinPacketDelayThreshold { - mandatory true; - type uint32; - } - leaf n9MaxPacketDelayThreshold { - mandatory true; - type uint32; - } - } - - grouping GtpUPathQoSMonitoringControlGrp { - description "Represents the GtpUPathQoSMonitoringControl IOC."; - - leaf gtpUPathQoSMonitoringState { - description "The state of GTP-U path QoS monitoring."; - mandatory true; - type enumeration { - enum ENABLED; - enum DISABLED; - } - } - - list gtpUPathMonitoredSNSSAIs { - key "sd sst"; - description "The S-NSSAIs for which the the GTP-U path QoS monitoring is - to be performed."; - reference "3GPP TS 23.003"; - uses types5g3gpp:SNssai; - } - - leaf-list monitoredDSCPs { - description "The DSCPs for which the GTP-U path QoS monitoring is to be - performed."; - reference "3GPP TS 29.244"; - type uint32; - } - - leaf isEventTriggeredGtpUPathMonitoringSupported { - description "It indicates whether the event triggered GTP-U path QoS - monitoring reporting based on thresholds is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - leaf isPeriodicGtpUMonitoringSupported { - description "It indicates whether the periodic GTP-U path QoS monitoring - reporting is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - leaf isImmediateGtpUMonitoringSupported { - description "It indicates whether the immediate GTP-U path QoS monitoring - reporting is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - list gtpUPathDelayThresholds { - key n3AveragePacketDelayThreshold; - // if max-elements is increased later, the key may need to be modified - min-elements 1; - max-elements 1; - description "It specifies the thresholds for reporting the packet delay - for the GTO-U path QoS monitoring."; - uses GtpUPathDelayThresholdsType; - } - - leaf gtpUPathMinimumWaitTime { - description "It specifies the minimum waiting time (in seconds) between - two consecutive reports for event triggered GTP-U path QoS monitoring - reporting."; - type uint32; - } - - leaf gtpUPathMeasurementPeriod { - description "It specifies the period (in seconds) for reporting the packet - delay for GTP-U path QoS monitoring."; - type uint32; - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - - list GtpUPathQoSMonitoringControl { - description "Specifies the capabilities and properties for control of - GTP-U path QoS monitoring. For more information about the GTP-U path - QoS monitoring."; - reference "3GPP TS 23.501"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses GtpUPathQoSMonitoringControlGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang deleted file mode 100755 index a7290eb81..000000000 --- a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang +++ /dev/null @@ -1,134 +0,0 @@ -module _3gpp-5gc-nrm-QFQoSMonitoringControl { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-QFQoSMonitoringControl; - prefix qFQMCtrl3gpp; - - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the capabilities and properties for control - of QoS monitoring per QoS flow per UE for URLLC service defined - -in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-04-10 { reference "S5-202101"; } - - grouping QFPacketDelayThresholdsTypeGrp { - description "Represents the QFPacketDelayThresholdsType"; - leaf thresholdDl { - type uint32; - units milliseconds; - description "Downlink threshold"; - } - - leaf thresholdUl { - type uint32; - units milliseconds; - description "Uplink threshold"; - } - - leaf thresholdRtt { - type uint32; - units milliseconds; - description "Round trip threshold"; - } - } - - grouping QFQoSMonitoringControlGrp { - description "Represents the QFQoSMonitoringControl IOC."; - reference "3GPP TS 28.541"; - - leaf qFQoSMonitoringState { - description "The state of QoS monitoring per QoS flow per UE."; - mandatory true; - type enumeration { - enum ENABLED; - enum DISABLED; - } - } - - list qFMonitoredSNSSAIs { - description "The S-NSSAIs for which the QoS monitoring per QoS flow - per UE is to be performed."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai;} - - leaf-list qFMonitored5QIs { - description "The 5QIs for which the QoS monitoring per QoS flow - per UE is to be performed."; - reference "3GPP TS 23.501"; - type uint32 { - range "0..255"; - } - } - - leaf isEventTriggeredQFMonitoringSupported { - description "It indicates whether the event based QoS monitoring - reporting per QoS flow per UE is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - leaf isPeriodicQFMonitoringSupported { - description "It indicates whether the periodic QoS monitoring reporting - per QoS flow per UE is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - leaf isSessionReleasedQFMonitoringSupported { - description "It indicates whether the session release based QoS monitoring - reporting per QoS flow per UE is supported."; - mandatory true; - reference "3GPP TS 29.244"; - type boolean; - } - - list qFPacketDelayThresholds { - key "idx"; - min-elements 1; - max-elements 1; - description "It specifies the thresholds for reporting the packet delay - between PSA and UE for QoS monitoring per QoS flow per UE."; - - leaf idx { type uint32 ; } - uses QFPacketDelayThresholdsTypeGrp; - } - - leaf qFMinimumWaitTime { - description "It specifies the minimum waiting time (in seconds) between - two consecutive reports for event triggered QoS monitoring reporting - per QoS flow per UE."; - type uint32; - } - - leaf qFMeasurementPeriod { - description "It specifies the period (in seconds) for reporting the - packet delay for QoS monitoring per QoS flow per UE."; - type uint32; - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - - list QFQoSMonitoringControl { - description "Represents the QFQoSMonitoringControl IOC."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses QFQoSMonitoringControlGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang deleted file mode 100755 index a668b8a3a..000000000 --- a/yang-models/_3gpp-5gc-nrm-affunction.yang +++ /dev/null @@ -1,38 +0,0 @@ -module _3gpp-5gc-nrm-affunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-affunction; - prefix af3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC is defined only to describe the IOCs representing - its interaction interface with 5GC (i.e. EP_Rx and EP_N5). - It has no attributes defined."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-05-15 { - description "initial revision"; - } - - grouping AFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - } - - augment "/me3gpp:ManagedElement" { - list AFFunction { - description "5G Core AF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AFFunctionGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang deleted file mode 100755 index 1ab54a9d3..000000000 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ /dev/null @@ -1,89 +0,0 @@ -module _3gpp-5gc-nrm-amffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amffunction; - prefix amf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "AMFFunction derived from basic ManagedFunction."; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - - revision 2019-05-31 { reference "Ericsson refactoring."; } - revision 2018-08-07 { reference "Initial revision"; } - - grouping AMFFunctionGrp { - description "Represents the AMFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile - Network Code)."; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - container aMFIdentifier { - presence true; - description "An AMF identifier, comprising an AMF Region ID, an - AMF Set ID and an AMF Pointer."; - uses types3gpp:AmfIdentifier; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the - service-based interface."; - type inet:domain-name; - } - - list sNSSAIList { - min-elements 1; - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - - } - - augment "/me3gpp:ManagedElement" { - list AMFFunction { - description "5G Core AMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfregion.yang b/yang-models/_3gpp-5gc-nrm-amfregion.yang deleted file mode 100755 index 3746a58a6..000000000 --- a/yang-models/_3gpp-5gc-nrm-amfregion.yang +++ /dev/null @@ -1,83 +0,0 @@ -module _3gpp-5gc-nrm-amfregion { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfregion; - prefix amfr3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AMF Region which consists one or - multiple AMF Sets."; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - reference "Ericsson refactoring."; } - - grouping AMFRegionGrp { - description "Represents the AMFRegion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) - and a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) - where the represented management function is serving."; - reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; - config false; - type types3gpp:Tac; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //conditional support only if the network slicing feature is supported. - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - leaf aMFRegionId { - description "Represents the AMF Region ID, which identifies the region."; - mandatory true; - type types3gpp:AmfRegionId; - } - - leaf-list aMFSet { - description "The AMFSet that the AFMRegion is associated with."; - min-elements 1; - type instance-identifier; - } - } - - augment "/subnet3gpp:SubNetwork" { - list AMFRegion { - description "5G Core AMFRegion IOC"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFRegionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfset.yang b/yang-models/_3gpp-5gc-nrm-amfset.yang deleted file mode 100755 index 8b978160e..000000000 --- a/yang-models/_3gpp-5gc-nrm-amfset.yang +++ /dev/null @@ -1,81 +0,0 @@ -module _3gpp-5gc-nrm-amfset { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfset; - prefix amfset3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AMF Set which consists of some AMFs - that serve a given area and Network Slice."; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { reference "Ericsson refactoring."; } - - grouping AMFSetGrp { - description "Represents the AMFSet IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). The PLMN Identifier is composed - of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) - where the represented management function is serving."; - reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; - config false; - type types3gpp:Tac; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //conditional support only if the network slicing feature is supported. - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - leaf aMFRegion { - description "The AMFRegion that the AFMSet is associated with."; - type instance-identifier; - } - - leaf-list aMFSetMemberList { - description "List of DNs of AMFFunction instances of the AMFSet."; - min-elements 1; - max-elements 1; - type types3gpp:DistinguishedName; - } - } - - augment "/subnet3gpp:SubNetwork" { - list AMFSet { - description "5G Core AMFSet IOC"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFSetGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang deleted file mode 100755 index f94b6505e..000000000 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ /dev/null @@ -1,89 +0,0 @@ -module _3gpp-5gc-nrm-ausffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ausffunction; - prefix ausf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AUSF function in 5GC. For more - information about the AUSF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - - revision 2019-05-22 {reference "initial revision"; } - - grouping AUSFFuntionGrp { - description "Represents the AUSFFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and - a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the - service-based interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list AUSFFunction { - description "5G Core AUSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AUSFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang deleted file mode 100755 index 2a402a96e..000000000 --- a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +++ /dev/null @@ -1,125 +0,0 @@ -module _3gpp-5gc-nrm-configurable5qiset { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-configurable5qiset; - prefix Conf5QIs3gpp; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the non-standardized 5QIs, including - their QoS characteristics, that need to be pre-configured - (and configurable) to the 5G NFs."; - reference "3GPP TS 28.541"; - - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-06-03 { reference "CR-0286"; } - - grouping PacketErrorRate { - leaf scalar { - type uint32 { - range 0..9 ; - } - mandatory true; - description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k - where k is the Exponent."; - } - leaf exponent { - type uint32 { - range 0..9 ; - } - mandatory true; - description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k, - where k is the Exponent."; - } - } - - grouping FiveQICharacteristics { - leaf fiveQIValue { - type uint32 { - range 0..255 ; - } - mandatory true; - description "Identifies the 5QI value."; - } - - leaf resourceType { - type enumeration { - enum GBR; - enum NON_GBR; - } - mandatory true; - description "It indicates the Resource Type of a 5QI, as specified - in TS 23.501 "; - } - - leaf priorityLevel { - type uint32 { - range 0..127 ; - } - } - - leaf packetDelayBudget { - type uint32 { - range 0..1023 ; - } - description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, - as specified in TS 23.501 "; - } - - list packetErrorRate { - key "scalar exponent"; - min-elements 0; - max-elements 1; - uses PacketErrorRate; - reference "TS 23.501"; - } - - leaf averagingWindow { - type uint32 { - range 0..4095 ; - } - units ms; - reference "TS 23.501"; - } - - leaf maximumDataBurstVolume { - type uint32{ - range 0..4095 ; - } - units byte; - } - } - - grouping Configurable5QISetGrp { - description "Represents the Configurable5QISet IOC."; - list configurable5QIs { - key "fiveQIValue"; - uses FiveQICharacteristics; - } - } - - grouping Configurable5QISetSubtree { - list Configurable5QISet { - description "Specifies the non-standardized 5QIs, including their QoS - characteristics, that need to be pre-configured (and configurable) to - the 5G NFs, see 3GPP TS 23.501."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses Configurable5QISetGrp; - } - } - } - - augment "/subnet3gpp:SubNetwork" { - uses Configurable5QISetSubtree; - } - - augment "/me3gpp:ManagedElement" { - uses Configurable5QISetSubtree; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang deleted file mode 100755 index 675c3b1aa..000000000 --- a/yang-models/_3gpp-5gc-nrm-dnfunction.yang +++ /dev/null @@ -1,39 +0,0 @@ -module _3gpp-5gc-nrm-dnfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5_3gpp-5gc-nrm-dnfunction; - prefix dn3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC is defined only to describe the IOCs representing - Data Network (DN) interaction interface with 5GC (i.e. EP_N6). - It has no attributes defined."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-05-15 { - description "initial revision"; - } - - grouping DNFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - } - - augment "/me3gpp:ManagedElement" { - list DNFunction { - description "5G Core DN Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses DNFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang deleted file mode 100755 index 9b19f6a32..000000000 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ /dev/null @@ -1,50 +0,0 @@ -module _3gpp-5gc-nrm-dynamic5qiset { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dynamic5qiset; - prefix dyn5QIs3gpp; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the dynamic 5QIs including their QoS - characteristics."; - reference "3GPP TS 28.541"; - - revision 2020-09-30 { reference "CR-0393"; } - revision 2020-08-06 { reference "CR-0333"; } - - grouping Dynamic5QISetGrp { - description "Represents the Dynamic5QISet IOC."; - list dynamic5QIs { - key "fiveQIValue"; - description "Represents the Dynamic5QISet IOC."; - uses Conf5QIs3gpp:FiveQICharacteristics; - } - } - - grouping Dynamic5QISetSubtree { - description "Helps augmenting Dynamic5QISet into multiple places."; - list Dynamic5QISet { - description "Specifies the dynamic 5QIs including their QoS - characteristics, see 3GPP TS 23.501."; - key "id"; - uses top3gpp:Top_Grp; - container attributes { - uses Dynamic5QISetGrp; - } - } - } - - augment "/subnet3gpp:SubNetwork" { - uses Dynamic5QISetSubtree; - } - - augment "/me3gpp:ManagedElement" { - uses Dynamic5QISetSubtree; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang deleted file mode 100755 index fdd210297..000000000 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ /dev/null @@ -1,646 +0,0 @@ -module _3gpp-5gc-nrm-ep { - yang-version 1.1; - namespace "urn:3gpp:tsg:sa5:nrm:_3gpp-5gc-nrm-ep"; - prefix "cep3gpp"; - - import _3gpp-common-ep-rp { prefix eprp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-5gc-nrm-affunction { prefix af3gpp; } - import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } - import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } - import _3gpp-5gc-nrm-dnfunction { prefix dn3gpp; } - import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp; } - import _3gpp-5gc-nrm-n3iwffunction { prefix n3iwf3gpp; } - import _3gpp-5gc-nrm-ngeirfunction { prefix ngeir3gpp; } - import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } - import _3gpp-5gc-nrm-nssffunction { prefix nssf3gpp; } - import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } - import _3gpp-5gc-nrm-seppfunction { prefix sepp3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - import _3gpp-5gc-nrm-smsffunction { prefix smsf3gpp; } - import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } - import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the 5GC related endpoint - Information Object Classes (IOCs) that are part of the 5G Core - Network Resource Model."; - reference "3GPP TS 28.541"; - - revision 2019-11-18 { - description "Ericsson refactoring."; - } - - revision 2018-07-31 { - description "Initial revision"; - } - - grouping EP_N2Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N3Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N4Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N5Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N6Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N7Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N8Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N9Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N10Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N11Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N12Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N13Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N14Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N15Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N16Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N17Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N20Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N21Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N22Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N26Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N27Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N31Grp { - uses eprp3gpp:EP_Common; - } - - grouping EP_N32Grp { - uses eprp3gpp:EP_Common; - container remotePlmnId { - description "PLMN Identifiers of the remote sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf remoteSeppAddress { - description "The host address of the SEPP."; - type inet:host; - } - - leaf remoteSeppId { - type uint16; - } - - leaf n32cParas { - type string; - } - - leaf n32fPolicy { - type string; - } - - leaf withIPX { - type boolean; - } - } - - grouping EP_S5CGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_S5UGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_RxGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_MAP_SMSCGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_NLSGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_NLGGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_SBI_IPXGrp { - uses eprp3gpp:EP_Common; - leaf-list sBIService { - min-elements 1; - config false; - type string; - } - } - - augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - - list EP_Rx { - description "Represents the EP_Rx IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_RxGrp; - } - } - } - - augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } - } - - list EP_N8 { - description "Represents the EP_N8 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } - } - - list EP_N11 { - description "Represents the EP_N11 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } - } - - list EP_N12 { - description "Represents the EP_N12 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } - } - - list EP_N14 { - description "Represents the EP_N14 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N14Grp; - } - } - - list EP_N15 { - description "Represents the EP_N15 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } - } - - list EP_N17 { - description "Represents the EP_N17 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } - } - - list EP_N20 { - description "Represents the EP_N20 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } - } - - list EP_N22 { - description "Represents the EP_N22 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } - } - - list EP_N26 { - description "Represents the EP_N26 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } - } - - list EP_NLS { - description "Represents the EP_NLS IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLSGrp; - } - } - - list EP_NLG { - description "Represents the EP_NLG IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLGGrp; - } - } - } - - augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { - list EP_N12 { - description "Represents the EP_N12 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } - } - - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } - } - } - - augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - } - - augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { - list EP_NLS { - description "Represents the EP_NLS IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLSGrp; - } - } - } - - augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } - } - - list EP_N3 { - description "Represents the EP_N3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } - } - } - - augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { - list EP_N17 { - description "Represents the EP_N17 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } - } - } - - augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { - list EP_N27 { - description "Represents the EP_N27 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } - } - - } - - augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { - list EP_N22 { - description "Represents the EP_N22 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } - } - - list EP_N31 { - description "Represents the EP_N31 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N31Grp; - } - } - } - - augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { - list EP_N5 { - description "Represents the EP_N5 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N5Grp; - } - } - - list EP_N7 { - description "Represents the EP_N7 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } - } - - list EP_N15 { - description "Represents the EP_N15 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } - } - - list EP_N16 { - description "Represents the EP_N16 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } - } - - list EP_Rx { - description "Represents the EP_Rx IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_RxGrp; - } - } - } - - augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { - list EP_N32 { - description "Represents the EP_N32 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N32Grp; - } - } - - } - augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { - list EP_N20 { - description "Represents the EP_20 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } - } - - list EP_N21 { - description "Represents the EP_N21 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N21Grp; - } - } - - list EP_MAP_SMSC { - description "Represents the EP_MAP_SMSC IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_MAP_SMSCGrp; - } - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N4Grp; - } - } - - list EP_N7 { - description "Represents the EP_N7 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } - } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } - } - - list EP_N11 { - description "Represents the EP_N11 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } - } - - list EP_N16 { - description "Represents the EP_N16 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } - } - - list EP_S5C { - description "Represents the EP_S5C IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S5CGrp; - } - } - } - - augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { - list EP_N8 { - description "Represents the EP_N8 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } - } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } - } - - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } - } - - } - - augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N4Grp; - } - } - - list EP_N3 { - description "Represents the EP_N3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } - } - - list EP_N9 { - description "Represents the EP_N9 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N9Grp; - } - } - - list EP_S5U { - description "Represents the EP_S5U IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S5UGrp; - } - } - - list EP_EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang deleted file mode 100755 index 95f1cea5e..000000000 --- a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang +++ /dev/null @@ -1,42 +0,0 @@ -module _3gpp-5gc-nrm-externalnrffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnrffunction; - prefix extnrf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NRF function controlled by another management domain."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping ExternalNRFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - augment "/subnet3gpp:SubNetwork" { - list ExternalNRFFunction { - description "5G Core External NRF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNRFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang deleted file mode 100755 index 665977805..000000000 --- a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang +++ /dev/null @@ -1,43 +0,0 @@ -module _3gpp-5gc-nrm-externalnssffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnssffunction; - prefix extnssf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NSSF function controlled by another management domain."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping ExternalNSSFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - augment "/subnet3gpp:SubNetwork" { - list ExternalNSSFFunction { - description "5G Core External NSSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNSSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang deleted file mode 100755 index 38496aaaa..000000000 --- a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang +++ /dev/null @@ -1,55 +0,0 @@ -module _3gpp-5gc-nrm-externalseppfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-extternalseppfunction; - prefix extsepp3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3gpp SA5"; - description "This IOC represents the external SEPP function which support message filtering - and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-11-17 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - grouping ExternalSEPPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - container pLMNId { - description "PLMN Identifiers of the sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf sEPPId { - type uint16; - } - - leaf fqdn { - description "The domain name of the SEPP."; - type inet:domain-name; - } - - } - - augment "/me3gpp:ManagedElement" { - list ExternalSEPPFunction { - description "5G Core SEPP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalSEPPFunctionGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang deleted file mode 100755 index ee9ec056a..000000000 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ /dev/null @@ -1,63 +0,0 @@ -module _3gpp-5gc-nrm-lmffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-lmffunction; - prefix lmf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC represents the LMF function defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5193518"; } - - revision 2019-05-15 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - grouping LMFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list LMFFunction { - description "5G Core LMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses LMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang deleted file mode 100755 index 05ca146ca..000000000 --- a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang +++ /dev/null @@ -1,55 +0,0 @@ -module _3gpp-5gc-nrm-n3iwffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-n3iwffunction; - prefix n3iwf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC represents the N3IWF function which is used to enable non-3GPP - access networks connected to the 5GC. For more information about the N3IWF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-22 { - description "initial revision"; - } - - grouping N3IWFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list N3IWFFunction { - description "5G Core N3IWF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses N3IWFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang deleted file mode 100755 index fdb701ed4..000000000 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ /dev/null @@ -1,68 +0,0 @@ -module _3gpp-5gc-nrm-neffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; - prefix nef3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NEF function in 5GC. For more - information about the NEF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-20 { reference "initial revision"; } - - grouping NEFFunctionGrp { - description "Represents the NEFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the - service-based interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - leaf-list capabilityList { - description "List of supported capabilities of the NEF."; - reference "3GPP TS 23.003"; - type string; - } - - leaf isINEF { - type boolean; - } - - leaf isCAPIFSup { - type boolean; - } - - } - - augment "/me3gpp:ManagedElement" { - list NEFFunction { - description "5G Core NEF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NEFFunctionGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang deleted file mode 100755 index c5b0d609a..000000000 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ /dev/null @@ -1,1095 +0,0 @@ -module _3gpp-5gc-nrm-nfprofile { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfprofile; - prefix nfp3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import ietf-inet-types { prefix inet; } - import ietf-yang-types { prefix yang; } - import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } - - organization "3gpp SA5"; - description "NF profile class."; - reference "3GPP TS 29.510"; - - revision 2019-06-17 { - description "initial revision"; - } - - grouping NFProfileGrp { - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - - leaf nfStatus { - description "Status of the NF Instance."; - mandatory true; - type NFStatus; - } - - leaf heartBeatTimer { - description "Time in seconds expected between 2 consecutive heart-beat messages from - an NF Instance to the NRF. It may be included in the registration request. - When present in the request it shall contain the heartbeat time proposed by the NF service consumer."; - //conditional support - type uint16; - } - - list plmnList { - description "PLMN(s) of the Network Function. - This IE shall be present if this information is available for the NF. - If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; - - //conditional support - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { //is the key unique - description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. - When present this IE represents the list of S-NSSAIs supported in all the PLMNs listed in the plmnList IE."; - min-elements 1; - //optional support - key "sst sd"; - uses Snssai; - } - - list perPlmnSnssaiList { - description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting is different. - When present, this IE shall include the S-NSSAIs supported by the Network Function - for each PLMN supported by the Network Function. When present, this IE shall override sNssais IE."; - min-elements 1; - //optional support - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses PlmnSnssai; - } - - leaf-list nsiList { - description "NSI identities of the Network Function. - If not provided, the NF can serve any NSI."; - //optional support - min-elements 1; - type string; - } - - leaf fqdn { - description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF - shall be that of the AMF Name."; - //conditional support - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF needs to be discoverable by other NFs in a different PLMN, - then an FQDN that is used for inter-PLMN routing is specified."; - //conditional support - type inet:domain-name; - } - - leaf-list ipv4Addresses { - description "IPv4 address(es) of the Network Function."; - min-elements 1; - //conditional support - type inet:ipv4-address; - } - - leaf-list ipv6Addresses { - description "IPv6 address(es) of the Network Function."; - min-elements 1; - //conditional support - type inet:ipv6-address; - } - - list allowedPlmns { - description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; - - min-elements 1; - //optional support - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the NF instance. - If not provided, any NF type is allowed to access the NF."; - min-elements 1; - //optional support - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed to access the NF instance. - If not provided, any NF domain is allowed to access the NF."; - min-elements 1; - //optional support - type string; - } - - list allowedNssais { //is the key unique - description "S-NSSAI of the allowed slices to access the NF instance. - If not provided, any slice is allowed to access the NF."; - min-elements 1; - //optional support - key "sst sd"; - uses Snssai; - } - - leaf priority { - description "Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, - those will have precedence over this value. The NRF may overwrite the received priority value when exposing - an NFProfile with the Nnrf_NFDiscovery service."; - //optional support - type uint16; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, expressed as a weight - relative to other NF instances of the same type; if capacity is also present - in the nfServiceList parameters, those will have precedence over this value."; - //optional support - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; - //optional support - type types3gpp:Load; - } - - leaf locality { - description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; - //optional support - type string; - } - - grouping udrInfo { - //optional support - - leaf groupId { - description "Identity of the UDR group that is served by the UDR instance. - If not provided, the UDR instance does not pertain to any UDR group."; - //optional support - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses IdentityRange; - } - - leaf-list supportedDataSets { - description "List of supported data sets in the UDR instance. - If not provided, the UDR supports all data sets."; - min-elements 1; - //optional support - type DataSetId; - } - } - - grouping udmInfo { - //optional support - - leaf groupId { - description "Identity of the UDM group that is served by the UDM instance. - If not provided, the UDM instance does not pertain to any UDM group."; - //optional support - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data is available in the UDM instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is available in the UDM instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile data is available in the UDM instance."; - key "start end pattern"; - min-elements 1; - //optional support - uses IdentityRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows to route network signalling with SUCI - to the UDM instance. If not provided, the UDM can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - //optional support - min-elements 1; - type string; - } - } - - grouping ausfInfo { - //optional support - - leaf groupId { - description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; - //optional support - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by the AUSF instance. If not provided, the AUSF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - //optional support - uses SupiRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows to route network signalling with SUCI - to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - //optional support - min-elements 1; - type string; - } - } - - grouping amfInfo { - //optional support - - leaf amfRegionId { - description "AMF region identifier"; - type string; - } - - leaf amfSetId { - description "AMF set identifier"; - type string; - } - - list guamiList { - description "List of supported GUAMIs."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list taiList { - description "The list of TAIs the AMF can serve. It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList attribute indicate that - the AMF can be selected for any TAI in the serving network."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Tai; - } - - list taiRangeList { - description "The range of TAIs the AMF can serve. The absence of this attribute and the taiList - attribute indicate that the AMF can be selected for any TAI in the serving network."; - //optional support - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses TaiRange; - } - - list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Guami; - } - - list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Guami; - } - - list n2InterfaceAmfInfo { - description "N2 interface information of the AMF. This information needs not be sent in NF Discovery responses. - It may be used by the NRF to update the DNS for AMF discovery by the 5G Access Network."; - - //optional support - max-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses N2InterfaceAmfInfo; - } - } - - grouping smfInfo { - //optional support - - list sNssaiSmfInfoList { - description "List of parameters supported by the SMF per S-NSSAI."; - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses sNssaiSmfInfoItem; - } - - list taiList { - description "The list of TAIs the SMF can serve. It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList attribute indicate that - the SMF can be selected for any TAI in the serving network."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Tai; - } - - list taiRangeList { - description "The range of TAIs the SMF can serve. The absence of this attribute and the taiList - attribute indicate that the SMF can be selected for any TAI in the serving network."; - //optional support - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses TaiRange; - } - - leaf pgwFqdn { - description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; - //optional support - type inet:domain-name; - } - - leaf-list accessType { - description "If included, this IE shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. - If not included, it shall be assumed the both access types are supported."; - - //conditional support - min-elements 1; - max-elements 2; - type AccessType; - } - } - - grouping upfInfo { - //optional support - - list sNssaiUpfInfoList { - description "List of parameters supported by the UPF per S-NSSAI."; - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses SnssaiUpfInfoItem; - } - - leaf-list smfServingArea { - description "The SMF service area(s) the UPF can serve. - If not provided, the UPF can serve any SMF service area."; - - //optional support - min-elements 1; - type string; - } - - list interfaceUpfInfo { - description "List of User Plane interfaces configured on the UPF. When this IE is provided in the NF Discovery response, - the NF Service Consumer (e.g. SMF) may use this information for UPF selection."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses InterfaceUpfInfoItem; - } - - leaf iwkEpsInd { - description "Indicates whether interworking with EPS is supported by the UPF. - true: Supported - false (default): Not Supported"; - - //optional support - type boolean; - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by the UPF. The absence of this attribute indicates that the UPF can be selected - for any PDU session type."; - - //optional support - min-elements 1; - type PduSessionType; - } - } - - grouping pcfInfo { - //optional support - - leaf-list dnnList { - description "DNNs supported by the PCF. - If not provided, the PCF can serve any DNN."; - - //optional support - min-elements 1; - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by the PCF instance. If not provided, the PCF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - //optional support - uses SupiRange; - } - - leaf rxDiamHost { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter host of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - //conditional support - type string; - } - - leaf rxDiamRealm { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter realm of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - //conditional support - type string; - } - } - - grouping bsfInfo { - //optional support - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - //optional support - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - - //optional support - min-elements 1; - type string; - } - - leaf-list ipDomainList { - description "List of IPv4 address domains, as described in subclause 6.2 of 3GPP TS 29.513, handled by the BSF. - If not provided, the BSF can serve any IP domain."; - //optional support - min-elements 1; - type string; - } - - list ipv6PrefixRanges { - description "List of ranges of IPv6 prefixes handled by the BSF. - If not provided, the BSF can serve any IPv6 prefix."; - //optional support - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } - } - - grouping chfInfo { - //optional support - - list supiRangeList { - description "List of ranges of SUPIs that can be served by the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - //optional support - uses SupiRange; - } - - list gpsiRangeList { - description "List of ranges of GPSI that can be served by the CHF instance. If not provided, the CHF can serve any GPSI."; - key "start end pattern"; - min-elements 1; - //optional support - uses IdentityRange; - } - - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - - min-elements 1; - //optional support - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - grouping nrfInfoGrp { - //optional support - - list servedUdrInfo { - description "This attribute contains all the udrInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses udrInfo; - } - - list servedUdmInfo { - description "This attribute contains all the udmInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses udmInfo; - } - - list servedAusfInfo { - description "This attribute contains all the ausfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses ausfInfo; - } - - list servedAmfInfo { - description "This attribute contains all the amfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses amfInfo; - } - - list servedSmfInfo { - description "This attribute contains all the smfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses smfInfo; - } - - list servedUpfInfo { - description "This attribute contains all the upfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses upfInfo; - } - - list servedPcfInfo { - description "This attribute contains all the pcfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcfInfo; - } - - list servedBsfInfo { - description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses bsfInfo; - } - - list servedChfInfo { - description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses chfInfo; - } - } - - list nrfInfo { - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - max-elements 1; - uses nrfInfoGrp; - } - - leaf customInfo { - description "Specific data for custom Network Functions."; - type string; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - //optional support - type yang:date-and-time; - } - - leaf nfServicePersistence { - description "If present, and set to true, it indicates that the different service instances of a same NF Service in this NF instance, - supporting a same API version, are capable to persist their resource state in shared storage and therefore these resources - are available after a new NF service instance supporting the same API version is selected by a NF Service Consumer (see 3GPP TS 23.527). - Otherwise, it indicates that the NF Service Instances of a same NF Service are not capable to share resource state inside the NF Instance."; - - //optional support - type boolean; - } - - list nfServices { - description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; - key serviceInstanceID; - //optional support - min-elements 1; - uses nfs3gpp:NFServiceGrp; - } - - leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. This IE may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response. - true: the NF Service Consumer supports receiving NF Profile Changes in the response. - false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; - - //optional support - type boolean; - } - - leaf nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. - true: the NF Profile contains NF Profile changes. - false (default): complete NF Profile."; - - //optional support - type boolean; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - //optional support - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - } - - typedef NFStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - } - } - - typedef DataSetId { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - } - - grouping SupiRange { - leaf start { - description "First value identifying the start of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging to this range. - A SUPI value is considered part of the range if and only if the SUPI string fully matches the regular expression."; - type string; - } - } - - grouping IdentityRange { - leaf start { - description "First value identifying the start of an identity range. To be used when the range of identities can be represented as a numeric range (e.g., MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of an identity range. To be used when the range of identities can be represented as a numeric range (e.g. MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of identities belonging to this range. - An identity value is considered part of the range if and only if the identity string fully matches the regular expression."; - type string; - } - } - - grouping TacRange { - leaf start { - description "First value identifying the start of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g., TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; - } - } - - leaf end { - description "Last value identifying the end of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g. TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; - } - } - - leaf pattern { - description "Pattern representing the set of TAC's belonging to this range."; - type string; - } - } - - grouping SnssaiUpfInfoItem { - list sNssai { //is the key unique - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } - } - - grouping DnnUpfInfoItem { - leaf dnn { - description "String representing a Data Network."; - mandatory true; - type string; - } - - leaf-list dnaiList { - description "List of Data network access identifiers supported by the UPF for this DNN. - The absence of this attribute indicates that the UPF can be selected for this DNN for any DNAI."; - min-elements 1; - type string; //dnai is the type but its only a string with desc: DNAI (Data network access identifier), is this needed as its own typedef or string is ok - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by the UPF for a specific DNN."; - min-elements 1; - type PduSessionType; - } - } - - grouping Snssai { - leaf sst { - description "Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. - It indicates the expected Network Slice behaviour in terms of features and services."; - mandatory true; - type uint32; - } - - leaf sd { - description "3-octet string, representing the Slice Differentiator, in hexadecimal representation."; - //optional - type string { - pattern '^[A-Fa-f0-9]{6}$'; - } - } - - reference "3GPP TS 29.571"; - } - - typedef PduSessionType { - type enumeration { - enum IPV4; - enum IPV6; - enum IPV4V6; - enum UNSTRUCTURED; - enum ETHERNET; - } - } - - grouping Guami { - list plmnId { - description "PLMN Identity."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list amfId { - description "AMF Identity."; - min-elements 1; - max-elements 1; - key "amfRegionId amfSetId amfPointer"; - uses types3gpp:AmfIdentifier; - } - } - - grouping Tai { - list plmnId { - description "PLMN Identity."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf tac { type types3gpp:Tac; } - } - - grouping InterfaceUpfInfoItem { - leaf interfaceType { - description "User Plane interface type."; - mandatory true; - type UPInterfaceType; - } - - ////At least one of the addressing parameters (ipv4address, ipv6adress or endpointFqdn) shall be included in the InterfaceUpfInfoItem. - choice address { - case ipv4EndpointAddresses { - leaf-list ipv4EndpointAddresses { - description "Available endpoint IPv4 address(es) of the User Plane interface."; - //conditional support - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddresses { - leaf-list ipv6EndpointAddresses { - description "Available endpoint IPv6 address(es) of the User Plane interface."; - //conditional support - min-elements 1; - type inet:ipv6-address; - } - } - - case endpointFqdn { - leaf endpointFqdn { - description "FQDN of available endpoint of the User Plane interface."; - //conditional support - type inet:domain-name; - } - } - } - - leaf networkInstance { - description "Network Instance associated to the User Plane interface."; - //optional support - type string; - } - } - - typedef UPInterfaceType { - type enumeration { - enum N3; - enum N6; - enum N9; - } - } - - grouping TaiRange { - list plmnId { - description "PLMN ID related to the TacRange."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list tacRangeList { //is this key unique - description "The range of the TACs."; - min-elements 1; - key "start end"; - uses TacRange; - } - } - - typedef AccessType { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - } - - grouping N2InterfaceAmfInfo { - //At least one of the addressing parameters (ipv4address or ipv6adress) shall be included. - choice address { - case ipv4EndpointAddress { - leaf-list ipv4EndpointAddress { - description "Available AMF endpoint IPv4 address(es) for N2."; - //conditional support - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddress { - leaf-list ipv6EndpointAddress { - description "Available AMF endpoint IPv6 address(es) for N2."; - //conditional support - min-elements 1; - type inet:ipv6-address; - } - } - } - - leaf amfName { - description "AMF name."; - type string; - } - } - - grouping sNssaiSmfInfoItem { - list sNssai { //is the key unique - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnSmfInfoList { //is the key unique - description "List of parameters supported by the SMF per DNN."; - min-elements 1; - key dnn; - uses DnnSmfInfoItem; - } - } - - grouping DnnSmfInfoItem { - leaf dnn { - description "Supported DNN."; - mandatory true; - type string; - } - } - - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssaiList { //is the key unique - description "The specific list of S-NSSAIs supported by the given PLMN."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang deleted file mode 100755 index 3d3856931..000000000 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ /dev/null @@ -1,302 +0,0 @@ -module _3gpp-5gc-nrm-nfservice { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfservice; - prefix nfs3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import ietf-yang-types { prefix yang; } - import ietf-inet-types { prefix inet; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "NF service class."; - reference "3GPP TS 29.510"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-06-17 { reference "initial revision"; } - - grouping NFServiceGrp { - description "Represents the NFService IOC"; - leaf serviceInstanceID { - description - "Unique ID of the service instance within a given NF Instance."; - mandatory true; - type string; - } - - leaf serviceName { - description "Name of the service instance (e.g. 'nudm-sdm')."; - mandatory true; - type ServiceName; - } - - list versions { //check in review if key is ok (unique) - description "API versions supported by the NF Service and if available, - the corresponding retirement date of the NF Service."; - min-elements 1; - key "apiVersionInUri apiFullVersion"; - uses NFServiceVersion; - } - - leaf scheme { - description "URI scheme (e.g. 'http', 'https')."; - mandatory true; - type UriScheme; - } - - leaf nfServiceStatus { - description "Status of the NF Service Instance."; - mandatory true; - type NFServiceStatus; - } - - leaf fqdn { - description "FQDN of the NF Service Instance."; - //optional support - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF service needs to be discoverable by other NFs in a - different PLMN, then an FQDN that is used for inter PLMN routing."; - //optional support - type inet:domain-name; - } - - list ipEndPoints { - description "IP address(es) and port information of the Network Function - (including IPv4 and/or IPv6 address)where the service is listening - for incoming service requests."; - //optional support - - key idx; - leaf idx { - type string; - } - min-elements 1; - uses ipEndPoint; - } - - leaf apiPrefix { - description "Optional path segment(s) used to construct the {apiRoot} - variable of the different API URIs."; - //optional support - type string; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - //optional support - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - - list allowedPlmns { - description "PLMNs allowed to access the service instance. - The absence of this attribute indicates that any PLMN is allowed to - access the service instance."; - - min-elements 1; - //optional support - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the service instance. - The absence of this attribute indicates that any NF type is allowed - to access the service instance."; - - min-elements 1; - //optional support - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed to access the service instance."; - //optional support - min-elements 1; - type string; - } - - list allowedNssais { - description "S-NSSAI of the allowed slices to access the service instance. - The absence of this attribute indicates that any slice is allowed to - access the service instance."; - min-elements 1; - //optional support - key "sd sst"; - uses types5g3gpp:SNssai; - } - - leaf priority { - description "Priority (relative to other services of the same type) - in the range of 0-65535, to be used for NF Service selection; lower - values indicate a higher priority."; - //optional support - type uint16; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, - expressed as a weight relative to other services of the same type."; - //optional support - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates - the current load percentage of the NF Service."; - //optional support - type types3gpp:Load; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - //optional support - type yang:date-and-time; - } - - list chfServiceInfo { //is the key unique - description "Specific data for a CHF service instance."; - //optional support - max-elements 1; - key "primaryChfServiceInstance secondaryChfServiceInstance"; - uses ChfServiceInfo; - } - - leaf supportedFeatures { - description "Supported Features of the NF Service instance."; - //optional support - type SupportedFeatures; - } - } - - typedef SupportedFeatures { - type string { - pattern '[A-Fa-f0-9]*'; - } - } - - grouping ipEndPoint { - choice address { - leaf ipv4Address { - type inet:ipv4-address; - } - - leaf ipv6Address { - type inet:ipv6-address; - } - - leaf ipv6Prefix { - type inet:ipv6-prefix; - } - } - - leaf transport { - type TransportProtocol; - } - - leaf port { - type uint16; - } - } - - typedef TransportProtocol { - type enumeration { - enum TCP; - enum STCP; - enum UDP; - } - } - - grouping NFServiceVersion { - leaf apiVersionInUri { - mandatory true; - type string; - } - - leaf apiFullVersion { - mandatory true; - type string; - } - - leaf expiry { - //optional to support - type yang:date-and-time; - } - } - - typedef ServiceName { - type enumeration { - enum NNRF_NFM; - enum NNRF_DISC; - enum NUDM_SDM; - enum NUDM_UECM; - enum NUDM_UEAU; - enum NUDM_EE; - enum NUDM_PP; - enum NAMF_COMM; - enum NAMF_EVTS; - enum NAMF_MT; - enum NAMF_LOC; - enum NSMF_PDUSESSION; - enum NSMF_EVENT-EXPOSURE; - enum NAUSF_AUTH; - enum NAUSF_SORPROTECTION; - enum NNEF_PFDMANAGEMENT; - enum NPCF_AM-POLICY-CONTROL; - enum NPCF_SMPOLICYCONTROL; - enum NPCF_POLICYAUTHORIZATION; - enum NPCF_BDTPOLICYCONTROL; - enum NPCF_EVENTEXPOSURE; - enum NPCF_UE_POLICY_CONTROL; - enum NSMSF_SMS; - enum NNSSF_NSSELECTION; - enum NNSSF_NSSAIAVAILABILITY; - enum NUDR_DR; - enum NLMF_LOC; - enum N5G_EIR_EIC; - enum NBSF_MANAGEMENT; - enum NCHF_SPENDINGLIMITCONTROL; - enum NCHF_CONVERGEDCHARGING; - enum NNWDAF_EVENTSSUBSCRIPTION; - enum NNWDAF_ANALYTICSINFO; - } - } - - typedef UriScheme { - type enumeration { - enum HTTP; - enum HTTPS; - } - } - - typedef NFServiceStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - enum UNDISCOVERABLE; - } - } - - grouping ChfServiceInfo { - leaf primaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a - secondary CHF instance of another primary CHF service instance."; - //conditional to support - type string; - } - - leaf secondaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a - primary CHF instance of another secondary CHF service instance."; - //conditional to support - type string; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang deleted file mode 100755 index 9edbd01f0..000000000 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ /dev/null @@ -1,80 +0,0 @@ -module _3gpp-5gc-nrm-ngeirfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ngeirfunction; - prefix ngeir3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the 5G-EIR function in 5GC. For more - information about the 5G-EIR, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 {reference "initial revision"; } - - grouping NGEIRFunctionGrp { - description "Represents the NGEIRFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and - a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list NGEIRFunction { - description "5G Core NGEIR Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NGEIRFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang deleted file mode 100755 index 62e0ca74c..000000000 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ /dev/null @@ -1,88 +0,0 @@ -module _3gpp-5gc-nrm-nrffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction; - prefix nrf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NRF function in 5GC. - For more information about the NRF, see 3GPP TS 23.501 [2]."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-15 { reference "initial revision"; } - - grouping NRFFunctionGrp { - description "Represents the NRFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 - and subclause 6.1.6.2.7 of 3GPP TS 29.531"; - type string; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list nFProfileList { - description "Set of NFProfile(s) to be registered in the NRF instance."; - //optional support - key nfInstanceID; - uses nfp3gpp:NFProfileGrp; - } - } - - augment "/me3gpp:ManagedElement" { - list NRFFunction { - description "5G Core NRF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang deleted file mode 100755 index b68d988ec..000000000 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ /dev/null @@ -1,87 +0,0 @@ -module _3gpp-5gc-nrm-nssffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction; - prefix nssf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NSSF function in 5GC. For more - information about the NSSF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - revision 2019-05-15 { reference "initial revision"; } - - grouping NSSFFunctionGrp { - description "Represents the NSSFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least - one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 - and subclause 6.1.6.2.7 of 3GPP TS 29.531"; - type string; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list NSSFFunction { - description "5G Core NSSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NSSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang deleted file mode 100755 index bf143ba35..000000000 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ /dev/null @@ -1,86 +0,0 @@ -module _3gpp-5gc-nrm-nwdaffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nwdaffunction; - prefix nwdaf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 {reference "initial revision"; } - - grouping NWDAFFunctionGrp { - description "Represents the NWDAFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list NWDAFFunction { - description "5G Core NWDAF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NWDAFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang deleted file mode 100755 index a7f9bd152..000000000 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ /dev/null @@ -1,97 +0,0 @@ -module _3gpp-5gc-nrm-pcffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-pcffunction; - prefix pcf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the PCF function in 5GC. For more - information about the PCF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-06 { reference "CR-0333"; } - revision 2020-08-06 { reference "CR-0331"; } - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-22 { reference "initial revision"; } - - grouping PCFFuntionGrp { - description "Represents the PCFFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - leaf dynamic5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the PCFFunction supports - (is associated to)."; - } - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the PCFFunction supports - (is associated to)."; - } - } - - augment "/me3gpp:ManagedElement" { - list PCFFunction { - description "5G Core PCF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses PCFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang deleted file mode 100755 index ac3faf5c6..000000000 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ /dev/null @@ -1,642 +0,0 @@ -module _3gpp-5gc-nrm-predefinedpccruleset { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-predefinedpccruleset; - prefix PredPccRules3gpp; - - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } - import ietf-yang-types { prefix yang; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the predefined PCC rules, which are - configured to SMF and referenced by PCF."; - reference "3GPP TS 28.541"; - - revision 2020-09-30 { reference "CR-0393"; } - revision 2020-08-21 { reference "CR-0330"; } - - grouping TscaiInputContainer { - description "It specifies the transports TSCAI input parameters for TSC - traffic at the ingress interface of the DS-TT/UE for a PCC rule."; - reference " 3GPP TS 29.512"; - leaf periodicity { - type uint32; - description "It identifies the time period between the start of two bursts - in reference to the TSN GM."; - reference "3GPP TS 29.571."; - } - leaf burstArrivalTime { - type yang:date-and-time; - description "It Indicates the arrival time (in date-time format) of the - data burst in reference to the TSN GM."; - reference "3GPP,TS 29.571."; - } - } - - grouping ConditionData { - description "It specifies the specifies the condition data for a PCC rule."; - leaf condId { - type string; - mandatory true; - description "It uniquely identifies the condition data."; - } - leaf activationTime { - type yang:date-and-time; - description " It indicates the time (in date-time format) when the decision - data shall be activated."; - reference "3GPP29.512 and TS 29.571."; - } - leaf deactivationTime { - type yang:date-and-time; - description "It indicates the time (in date-time format) when the decision - data shall be deactivated."; - reference "3GPPTS 29.512 and TS 29.571."; - } - leaf accessType { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - description "It provides the condition of access type of the UE when the - session AMBR shall be enforced."; - reference "3GPPTS 29.512."; - } - leaf ratType { - type enumeration { - enum NR; - enum EUTRA; - enum WLAN; - enum VIRTUAL; - enum NBIOT; - enum WIRELINE; - enum WIRELINE_CABLE; - enum WIRELINE_BBF; - enum LTE-M; - enum NR_U; - enum EUTRA_U; - enum TRUSTED_N3GA; - enum TRUSTED_WLAN; - enum UTRA; - enum GERA; - } - description "It provides the condition of RAT type of the UE when the - session AMBR shall be enforced."; - reference "3GPPTS 29.512 and TS 29.571."; - } - } - - grouping SteeringMode { - description "It specifies the traffic distribution rule, see TS 29.512."; - leaf steerModeValue { - type enumeration { - enum ACTIVE_STANDBY; - enum LOAD_BALANCING; - enum SMALLEST_DELAY; - enum PRIORITY_BASED; - } - mandatory true; - description "It indicates the value of the steering mode, see TS 29.512."; - } - leaf active { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - description "It indicates the active access, see TS 29.571."; - } - leaf standby { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - description "It indicates the Standby access, see TS 29.571."; - } - leaf threeGLoad { - type uint8 { - range 0..100; - } - description "It indicates the traffic load to steer to the 3GPP Access - expressed in one percent."; - } - leaf prioAcc { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - description "It indicates the high priority access."; - reference "3GPPTS 29.571"; - } - } - - grouping UpPathChgEvent { - description "It specifies the information about the AF subscriptions of the - UP path change."; - reference "3GPPTS 29.512"; - leaf notificationUri { - type string; - mandatory true; - description "It provides notification address (Uri) of AF receiving the - event notification."; - } - leaf notifCorreId { - type string; - mandatory true; - description "It is used to set the value of Notification Correlation ID in - the notification sent by the SMF, see TS 29.512"; - } - leaf dnaiChgType { - type enumeration { - enum EARLY; - enum EARLY_LATE; - enum LATE; - } - mandatory true; - description "It indicates the type of DNAI change, see TS 29.512"; - } - leaf afAckInd { - type boolean; - default false; - description "It identifies whether the AF acknowledgement of UP path - event notification is expected."; - } - } - - grouping RouteInformation { - description "It specifies the traffic routing information."; - leaf ipv4Addr { - type string; - description "It defines the Ipv4 address of the tunnel end point in the - data network, formatted in the dotted decimal notation."; - } - leaf ipv6Addr { - type string; - description "It defines the Ipv6 address of the tunnel end point in the - data network."; - } - leaf portNumber { - type uint32; - mandatory true; - description " It defines the UDP port number of the tunnel end point in - the data network, see TS 29.571"; - } - } - - grouping RouteToLocation { - description "It specifies a list of location which the traffic shall be - routed to for the AF request."; - leaf dnai { - type string; - mandatory true; - description "It represents the DNAI (Data network access identifier)."; - reference "3GPP 3GPP TS 23.501"; - } - container routeInfo{ - description "It provides the traffic routing information."; - uses RouteInformation; - } - leaf routeProfId { - type string; - description "It identifies the routing profile."; - } - } - - grouping RedirectInformaton { - description "It specifies the redirect information for traffic control in - the PCC rule."; - leaf redirectEnabled { - type boolean; - mandatory true; - description "It indicates whether the redirect instruction is enabled."; - } - leaf redirectAddressType { - type enumeration { - enum IPV4_ADDR; - enum IPV6_ADDR; - enum URL; - enum SIP_URI; - } - mandatory true; - description "It indicates the type of redirect address."; - reference "3GPPTS 29.512"; - } - leaf redirectServerAddress { - type string; - mandatory true; - description "It indicates the address of the redirect server."; - } - } - - grouping TrafficControlDataInformation { - description "It specifies the traffic control data for a service - flow of a PCC rule."; - leaf tcId { - type string; - mandatory true; - description "It univocally identifies the traffic control policy data - within a PDU session."; - } - leaf flowStatus { - type enumeration { - enum ENABLED-UPLINK; - enum ENABLED-DOWNLINK; - enum ENABLED; - enum DISABLED; - enum REMOVED; - } - mandatory true; - description "It represents whether the service data flow(s) are enabled - or disabled."; - } - container redirectInfo { - description "It contains the redirect information indicating whether the - detected application traffic should be redirected to another controlled - address."; - uses RedirectInformaton; - } - container addRedirectInfo { - description "It contains the additional redirect information indicating - whether the detected application traffic should be redirected to another - controlled address."; - list redirectInfo { - description "The list of redirect information indicating whether the - detected application traffic should be redirected to another - controlled address."; - key "redirectServerAddress"; - uses RedirectInformaton; - } - } - leaf muteNotif { - type boolean; - default false; - description "It indicates whether applicat'on's start or stop notification - is to be muted."; - } - leaf trafficSteeringPolIdDl { - type string; - description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512"; - } - leaf trafficSteeringPolIdUl { - type string; - mandatory false; - description "It references to a pre-configured traffic steering policy for - uplink traffic at the SMF, see TS 29.512"; - } - container routeToLocs { - description "It provides a list of location which the traffic shall be - routed to for the AF request."; - list routeToLoc { - description "The list of location which the traffic shall be routed to - for the AF request."; - key "dnai"; - uses RouteToLocation; - } - } - uses UpPathChgEvent; - leaf steerFun { - type enumeration { - enum MPTCP; - enum ATSSS_LL; - } - description "It indicates the applicable traffic steering functionality."; - reference "3GPPTS 29.512"; - } - container steerModeDl { - description "It provides the traffic distribution rule across 3GPP and - Non-3GPP accesses to apply for downlink traffic."; - uses SteeringMode; - } - container steerModeUl { - description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for uplink traffic."; - uses SteeringMode; - } - leaf mulAccCtrl { - type enumeration { - enum ALLOWED; - enum NOT_ALLOWED; - } - description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; - } - } - - grouping ARP { - description "It specifies the allocation and retention priority of a QoS control policy."; - leaf priorityLevel { - type uint8 { - range 1..15; - } - mandatory true; - description "It defines the relative importance of a resource request."; - } - leaf preemptCap { - type enumeration { - enum NOT_PREEMPT; - enum MAY_PREEMPT; - } - mandatory true; - description "It defines whether a service data flow may get resources that were already assigned to another service data flow with a lower priority level."; - } - leaf preemptVuln { - type enumeration { - enum NOT_PREEMPTABLE; - enum PREEMPTABLE; - } - mandatory true; - description "It defines whether a service data flow may lose the resources assigned to it in order to admit a service data flow with higher priority level."; - } - } - - grouping QosDataInformation { - description "It specifies the QoS control policy data for a service flow of a PCC rule."; - leaf qosId { - type string; - mandatory true; - description "It identifies the QoS control policy data for a PCC rule."; - } - leaf fiveQIValue { - type uint8 { - range 0..255; - } - mandatory true; - description "It indicates the 5QI value."; - } - leaf maxbrUl { - type string; - description "It represents the maximum uplink bandwidth."; - } - leaf maxbrDl { - type string; - description "It represents the maximum downlink bandwidth."; - } - leaf gbrUl { - type string; - description "It represents the guaranteed uplink bandwidth."; - } - leaf gbrDl { - type string; - description "It represents the guaranteed downlink bandwidth."; - } - uses ARP; - leaf qosNotificationControl { - type boolean; - default false; - description "It indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow."; - } - leaf reflectiveQos { - type boolean; - default false; - description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow"; - } - leaf sharingKeyDl { - type string; - description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction."; - } - leaf sharingKeyUl { - type string; - description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction."; - } - leaf maxPacketLossRateDl { - type uint16 { - range 0..1000; - } - description "It indicates the downlink maximum rate for lost packets that can be tolerated for the service data flow."; - } - leaf maxPacketLossRateUl { - type uint16 { - range 0..1000; - } - description "It indicates the uplink maximum rate for lost packets that can be tolerated for the service data flow."; - } - leaf extMaxDataBurstVol { - type uint32 { - range 4096..2000000; - } - description "It denotes the largest amount of data that is required to be transferred within a period of 5G-AN PDB, see TS 29.512"; - } - } - - grouping EthFlowDescription { - description "It describes an Ethernet flow."; - leaf destMacAddr { - type string; - mandatory true; - description "It specifies the destination MAC address formatted in the - hexadecimal ."; - reference "clause 1.1 and clause 2.1 of IETF RFC"; - } - leaf ethType { - type string; - mandatory true; - description "A two-octet string that represents the Ethertype."; - reference "IEEE 802.3 and IETF RFC 7042 in hexadecimal representation."; - } - leaf fDesc { - type string; - description "It contains the flow description for the Uplink or Downlink IP flow. It shall be present when the ethtype is IP."; - } - leaf fDir { - type enumeration { - enum DOWNLINK; - enum UPLINK; - } - mandatory true; - description "It indicates the packet filter direction."; - } - leaf sourceMacAddr { - type string; - mandatory true; - description "It specifies the source MAC address formatted in the - hexadecimal notation."; - reference "clause 1.1 and clause 2.1 of IETF RFC 7042"; - } - leaf-list vlanTags { - type string; - description "It specifies the Customer-VLAN and/or Service-VLAN tags - containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and - IETF RFC 7042. The first/lower instance in the array stands for the - Customer-VLAN tag and the second/higher instance in the array stands - for the Service-VLAN tag."; - } - leaf srcMacAddrEnd { - type string; - description "It specifies the source MAC address end. If this attribute is present, the sourceMacAddr attribute specifies the source MAC address start. E.g. srcMacAddrEnd with value 00-10-A4-23-3E-FE and sourceMacAddr with value 00-10-A4-23-3E-02 means all MAC addresses from 00-10-A4-23-3E-02 up to and including 00-10-A4-23-3E-FE."; - } - leaf destMacAddrEnd { - type string; - description "It specifies the destination MAC address end. If this attribute is present, the destMacAddr attribute specifies the destination MAC address start."; - } - } - - grouping FlowInformation { - description "It specifies the flow information of a PCC rule."; - leaf flowDescription { - type string; - mandatory true; - description "It defines a packet filter for an IP flow."; - } - uses EthFlowDescription; - leaf packFiltId { - type string; - mandatory true; - description "It is the identifier of the packet filter."; - } - leaf packetFilterUsage { - type boolean; - default false; - description "It indicates if the packet shall be sent to the UE."; - } - leaf tosTrafficClass { - type string; - mandatory true; - description "It contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field."; - } - leaf spi { - type string; - mandatory true; - description "It is the security parameter index of the IPSec packet."; - reference "IETF RFC 4301"; - } - leaf flowLabel { - type string; - description "It specifies the Ipv6 flow label header field."; - } - leaf flowDirection { - type enumeration { - enum DOWNLINK; - enum UPLINK; - enum BIDIRECTIONAL; - enum UNSPECIFIED; - } - mandatory true; - description "It indicates the direction/directions that a filter is applicable."; - } - } - - grouping PccRule { - description "It specifies the PCC rule, see TS 29.512"; - leaf pccRuleId { - type string; - mandatory true; - description "It identifies the PCC rule."; - } - container flowInfoList { - description "It is a list of IP flow packet filter information."; - list flowInfo { - description "The list of IP flow packet filter information."; - key "packFiltId"; - uses FlowInformation; - } - } - leaf applicationId { - type string; - default false; - description "A reference to the application detection filter configured - at the UPF."; - } - leaf appDescriptor { - type string; - description "It is the ATSSS rule application descriptor."; - } - leaf contentVersion { - type uint8; - description "Indicates the content version of the PCC rule."; - } - leaf precedence { - type uint8 { - range 0..255; - } - description "It indicates the order in which this PCC rule is applied - relative to other PCC rules within the same PDU session."; - } - leaf afSigProtocol { - type enumeration { - enum NO_INFORMATION; - enum SIP; - } - description "Indicates the protocol used for signalling between the UE - and the AF, the default value is NO_INFORMATION."; - } - leaf isAppRelocatable { - type boolean; - default false; - mandatory false; - description "It indicates the application relocation possibility, the - default value is NO_INFORMATION."; - } - leaf isUeAddrPreserved { - type boolean; - default false; - description "It Indicates whether UE IP address should be preserved."; - } - container qosData { - description "It contains the QoS control policy data for a PCC rule."; - list qosDataInfo { - description "The list of QoS control policy data."; - key "qosId"; - uses QosDataInformation; - } - } - container altQosParams { - description "It contains the QoS control policy data for the Alternative - QoS parameter sets of the service data flow."; - list qosDataInfo { - description "The list of QoS control policy data."; - key "qosId"; - uses QosDataInformation; - } - } - container trafficControlData { - description "It contains the traffic control policy data for a PCC rule."; - list trafficControlDataInfo { - description "The list of traffic control policy data."; - key "tcId"; - uses TrafficControlDataInformation; - } - } - uses ConditionData; - container tscaiInputUl { - description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; - uses TscaiInputContainer; - - } - container tscaiInputDl { - description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; - uses TscaiInputContainer; - } - } - - grouping PredefinedPccRuleSetGrp { - description "Represents the PredefinedPccRuleSet IOC."; - list PredefinedPccRules { - description "The list of predefined PCC rules."; - key "pccRuleId"; - uses PccRule; - } - } - - grouping PredefinedPccRuleSetSubtree { - description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; - list PredefinedPccRuleSet { - description "Specifies the predefined PCC rules."; - key "id"; - uses top3gpp:Top_Grp; - container attributes { - description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; - uses PredefinedPccRuleSetGrp; - } - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - description "It specifies the containment relation of PredefinedPccRuleSet MOI with SMFFunction MOI."; - uses PredefinedPccRuleSetSubtree; - } - - augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { - description "It specifies the containment relation of PredefinedPccRuleSet MOI with PCFFunction MOI."; - uses PredefinedPccRuleSetSubtree; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-scpfunction.yang b/yang-models/_3gpp-5gc-nrm-scpfunction.yang deleted file mode 100755 index aa1f98072..000000000 --- a/yang-models/_3gpp-5gc-nrm-scpfunction.yang +++ /dev/null @@ -1,50 +0,0 @@ -module _3gpp-5gc-nrm-scpfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-scpfunction; - prefix scp3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC represents the SCP function in 5GC. For more information about the SCP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-20 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - grouping SCPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - leaf address { - description "The host address of the SCP."; - type inet:host; - } - - list supportedFuncList { - min-elements 1; - key "function"; - uses types5g3gpp:SupportedFunc; - } - - } - - augment "/me3gpp:ManagedElement" { - list SCPFunction { - description "5G Core SCP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SCPFunctionGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-seppfunction.yang b/yang-models/_3gpp-5gc-nrm-seppfunction.yang deleted file mode 100755 index e4793dd3f..000000000 --- a/yang-models/_3gpp-5gc-nrm-seppfunction.yang +++ /dev/null @@ -1,70 +0,0 @@ -module _3gpp-5gc-nrm-seppfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-seppfunction; - prefix sepp3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3gpp SA5"; - description "This IOC represents the SEPP function which support message filtering - and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-08-03 { reference "CR-0321"; } - revision 2019-10-28 { reference S5-193518 ; } - - typedef SEPPType { - reference "3GPP TS 23501"; - type enumeration { - enum CSEPP { - value 0; - description "consumer SEPP"; - } - - enum PSEPP { - value 1; - description "producer SEPP"; - } - } - } - - grouping SEPPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - container pLMNId { - description "PLMN Identifiers of the sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf sEPPType { - type sepp3gpp:SEPPType; - } - - leaf sEPPId { - type uint16; - } - - leaf fqdn { - description "The domain name of the SEPP."; - type inet:domain-name; - } - } - - augment "/me3gpp:ManagedElement" { - list SEPPFunction { - description "5G Core SEPP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SEPPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang deleted file mode 100755 index 04659fb71..000000000 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ /dev/null @@ -1,102 +0,0 @@ -module _3gpp-5gc-nrm-smffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smffunction; - prefix smf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "SMFFunction derived from basic ManagedFunction."; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-06 { reference "CR-0333"; } - revision 2020-06-03 { reference "CR-0286"; } - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-31 {reference "Ericsson refactoring."; } - revision 2018-08-07 { reference "Initial revision";} - - grouping SMFFunctionGrp { - description "Represents the SMFFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile - Network Code)."; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) - where the represented management function is serving."; - reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; - config false; - type types3gpp:Tac; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the SMFFunction supports - (is associated to)."; - } - - leaf dynamic5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the SMFFunction supports - (is associated to)."; - } - } - - augment "/me3gpp:ManagedElement" { - list SMFFunction { - description "5G Core SMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang deleted file mode 100755 index 720d90417..000000000 --- a/yang-models/_3gpp-5gc-nrm-smsffunction.yang +++ /dev/null @@ -1,62 +0,0 @@ -module _3gpp-5gc-nrm-smsffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smsffunction; - prefix smsf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC represents the SMSF function defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - - } - - grouping SMSFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list SMSFFunction { - description "5G Core SMSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SMSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang deleted file mode 100755 index 74965272a..000000000 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ /dev/null @@ -1,86 +0,0 @@ -module _3gpp-5gc-nrm-udmfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udmfunction; - prefix udm3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDM function in 5GC. For more - information about the UDM, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - revision 2019-05-22 { reference "initial revision";} - - grouping UDMFuntionGrp { - description "Represents the UDMFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - description "Specifies a list of commModel. It can be used by NF and - NF services to interact with each other in 5G Core network "; - reference "3GPP TS 23.501"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list UDMFunction { - description "5G Core UDM Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDMFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang deleted file mode 100755 index 5eabaac8b..000000000 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ /dev/null @@ -1,78 +0,0 @@ -module _3gpp-5gc-nrm-udrfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction; - prefix udr3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDR function in 5GC. For more information - about the UDR, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-22 {reference "initial revision"; } - - grouping UDRFuntionGrp { - description "Representse the UDRFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list UDRFunction { - description "5G Core UDR Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDRFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang deleted file mode 100755 index c0ef6f217..000000000 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ /dev/null @@ -1,79 +0,0 @@ -module _3gpp-5gc-nrm-udsffunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction; - prefix udsf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDSF function which can be interacted - with any other 5GC NF defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-22 { reference "initial revision"; } - - grouping UDSFFuntionGrp { - description "Represents the UDSFFuntion IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the - service-based interface."; - type inet:domain-name; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - description "Managed Network Function profile"; - reference "3GPP TS 23.501"; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list UDSFFunction { - description "5G Core UDSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDSFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang deleted file mode 100755 index 1443942e5..000000000 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ /dev/null @@ -1,80 +0,0 @@ -module _3gpp-5gc-nrm-upffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-upffunction; - prefix upf3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "UPFFunction derived from basic ManagedFunction."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-31 { reference "Ericsson refactoring."; } - revision 2018-08-07 { reference "Initial revision"; } - - grouping UPFFunctionGrp { - description "Represents the UPFFunction IOC"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "A list of PLMN identifiers (Mobile Country Code and Mobile - Network Code)."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) - where the represented management function is serving."; - reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; - config false; - type types3gpp:Tac; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - max-elements 1; - reference "3GPP TS 23.003"; - uses types3gpp:ManagedNFProfile; - } - - leaf-list supportedBMOList { - type string; - description "List of supported BMOs (Bridge Managed Objects) required - for integration with TSN system."; - } - } - - augment /me3gpp:ManagedElement { - list UPFFunction { - description "5G Core UPF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UPFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang deleted file mode 100755 index 0dc1ddc30..000000000 --- a/yang-models/_3gpp-common-ep-rp.yang +++ /dev/null @@ -1,68 +0,0 @@ -module _3gpp-common-ep-rp { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; - prefix "eprp3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp ; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-measurements { prefix meas3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Common/basic class/grouping to be inherited/reused. - This IOC represents an end point of a link used across a reference - point between two network entities."; - reference - "3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS) - - 3GPP TS 28.620 - Umbrella Information Model (UIM)"; - - revision 2020-06-08 { reference "CR-0092"; } - - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EP_RPGrp { - description "Abstract class, represents an end point of a link used - across a reference point between two network entities. - - For naming the subclasses of EP_RP, the following rules shall apply: - - The name of the subclassed IOC shall have the form 'EP_', - where is a string that represents the name of the reference point. - Thus, two valid examples of EP_RP subclassed IOC names would be: - EP_S1 and EP_X2."; - - leaf userLabel { - type string; - description "A user-friendly (and user assignable) name of this object."; - } - - leaf farEndEntity { - config false; - type types3gpp:DistinguishedName; - } - } - - grouping EP_Common { - uses EP_RPGrp; - uses meas3gpp:SupportedPerfMetricGroupGrp; - list localAddress { - description "Local IP address and VLAN ID."; - key "ipAddress vlanId"; - min-elements 1; - max-elements 1; - uses types3gpp:AddressWithVlan; - } - - leaf remoteAddress { - description "Remote IP address."; - mandatory true; - type inet:ip-address; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang deleted file mode 100755 index 10ea1a9c3..000000000 --- a/yang-models/_3gpp-common-fm.yang +++ /dev/null @@ -1,408 +0,0 @@ -module _3gpp-common-fm { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-fm"; - prefix "fm3gpp"; - - import ietf-yang-types { prefix yang; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines a Fault Management model"; - - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS)"; - - revision 2020-06-03 { reference "CR-0091"; } - revision 2020-02-24 { - reference "S5-201365"; - } - - typedef eventType { - type enumeration { - enum COMMUNICATIONS_ALARM { - value 2; - } - - enum QUALITY_OF_SERVICE_ALARM { - value 3; - } - - enum PROCESSING_ERROR_ALARM { - value 4; - } - - enum EQUIPMENT_ALARM { - value 5; - } - - enum ENVIRONMENTAL_ALARM { - value 6; - } - - enum INTEGRITY_VIOLATION { - value 7; - } - - enum OPERATIONAL_VIOLATION { - value 8; - } - - enum PHYSICAL_VIOLATIONu { - value 9; - } - - enum SECURITY_SERVICE_OR_MECHANISM_VIOLATION { - value 10; - } - - enum TIME_DOMAIN_VIOLATION { - value 11; - } - } - - description "General category for the alarm."; - } - - typedef severity-level { - type enumeration { - enum CRITICAL { value 3; } - enum MAJOR { value 4; } - enum MINOR { value 5; } - enum WARNING { value 6; } - enum INDETERMINATE { value 7; } - enum CLEARED { value 8; } - } - - description "The possible alarm serverities. - Aligned with ERICSSON-ALARM-MIB."; - } - - grouping AlarmRecordGrp { - description "Contains alarm information of an alarmed object instance. - A new record is created in the alarm list when an alarmed object - instance generates an alarm and no alarm record exists with the same - values for objectInstance, alarmType, probableCause and specificProblem. - When a new record is created the MnS producer creates an alarmId, that - unambiguously identifies an alarm record in the AlarmList. - - Alarm records are maintained only for active alarms. Inactive alarms are - automatically deleted by the MnS producer from the AlarmList. - Active alarms are alarms whose - a) perceivedSeverity is not CLEARED, or whose - b) perceivedSeverity is CLEARED and its ackState is not ACKNOWLEDED."; - - leaf alarmId { - type string; - mandatory true; - description "Identifies the alarmRecord"; - } - - leaf objectInstance { - type string; - config false ; - mandatory true; - } - - leaf notificationId { - type string; - config false ; - mandatory true; - } - - leaf alarmRaisedTime { - type yang:date-and-time ; - config false ; - } - - leaf alarmChangedTime { - type yang:date-and-time ; - config false ; - description "not applicable if related alarm has not changed"; - } - - leaf alarmClearedTime { - type yang:date-and-time ; - config false ; - description "not applicable if related alarm was not cleared"; - } - - leaf alarmType { - type eventType; - config false ; - description "General category for the alarm."; - } - - leaf probableCause { - type string; - config false ; - } - - leaf specificProblem { - type string; - config false ; - reference "ITU-T Recommendation X.733 clause 8.1.2.2."; - } - - leaf perceivedSeverity { - type severity-level; - description "This is Writable only if producer supports consumer - to set perceivedSeverity to CLEARED"; - } - - leaf backedUpStatus { - type string; - config false ; - description "Indicates if an object (the MonitoredEntity) has a back - up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; - } - - leaf backUpObject { - type string; - config false ; - } - - leaf trendIndication { - type string; - config false ; - description "Indicates if some observed condition is getting better, - worse, or not changing. "; - reference "ITU-T Recommendation X.733 clause 8.1.2.6."; - } - - grouping ThresholdPackGrp { - leaf thresholdLevel { - type string; - } - leaf thresholdValue { - type string; - } - leaf hysteresis { - type string; - description "The hysteresis has a threshold high and a threshold - low value that are different from the threshold value. - A hysteresis, therefore, defines the threshold-high and - threshold-low levels within which the measurementType value is - allowed to oscillate without triggering the threshold crossing - notification."; - } - } - - grouping ThresholdInfoGrp { - leaf measurementType { - type string; - mandatory true; - } - - leaf direction { - type enumeration { - enum INCREASING; - enum DECREASING; - } - mandatory true; - description " - If it is 'Increasing', the threshold crossing notification is - triggered when the measurement value equals or exceeds a - thresholdValue. - - If it is 'Decreasing', the threshold crossing notification is - triggered when the measurement value equals or below a - thresholdValue."; - } - - uses ThresholdPackGrp; - } - - list thresholdInfo { - config false ; - uses ThresholdInfoGrp; - } - - leaf stateChangeDefinition { - type string; - config false ; - description "Indicates MO attribute value changes. See definition - in ITU-T Recommendation X.733 clause 8.1.2.11."; - } - - leaf monitoredAttributes { - type string; - config false ; - description "Indicates MO attributes whose value changes are being - monitored. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; - } - - leaf proposedRepairActions { - type string; - config false ; - description "Indicates proposed repair actions. See definition in - ITU-T Recommendation X.733 clause 8.1.2.12."; - } - - leaf additionalText { - type string; - config false ; - } - - leaf additionalInformation { - type string; - config false ; - } - - leaf rootCauseIndicator { - type enumeration { - enum YES; - enum NO; - } - config false ; - description "It indicates that this AlarmInformation is the root cause - of the events captured by the notifications whose identifiers are in - the related CorrelatedNotification instances."; - } - - leaf ackTime { - type yang:date-and-time ; - config false ; - description "It identifies the time when the alarm has been - acknowledged or unacknowledged the last time, i.e. it registers the - time when ackState changes."; - } - - leaf ackUserId { - type string; - description "It identifies the last user who has changed the - Acknowledgement State."; - } - - leaf ackSystemId { - type string; - description "It identifies the system (Management System) that last - changed the ackState of an alarm, i.e. acknowledged or unacknowledged - the alarm."; - } - - leaf ackState { - type enumeration { - enum ACKNOWLEDGED { - description "The alarm has been acknowledged."; - } - enum UNACKNOWLEDGED { - description "The alarm has unacknowledged or the alarm has never - been acknowledged."; - } - } - } - - leaf clearUserId { - type string; - description "Carries the identity of the user who invokes the - clearAlarms operation."; - } - - leaf clearSystemId { - type string; - } - - leaf serviceUser { - type string; - config false ; - description "It identifies the service-user whose request for service - provided by the serviceProvider led to the generation of the - security alarm."; - } - - leaf serviceProvider { - type string; - config false ; - description "It identifies the service-provider whose service is - requested by the serviceUser and the service request provokes the - generation of the security alarm."; - } - - leaf securityAlarmDetector { - type string; - config false ; - } - } - - grouping AlarmListGrp { - description "Represents the AlarmList IOC."; - - leaf administrativeState { - type types3gpp:AdministrativeState ; - default LOCKED; - description "When set to UNLOCKED, the alarm list is updated. - When the set to LOCKED, the existing alarm records are not - updated, and new alarm records are not added to the alarm list."; - } - - leaf operationalState { - type types3gpp:OperationalState ; - default DISABLED; - config false; - description "The producer sets this attribute to ENABLED, indicating - that it has the resource and ability to record alarm in AlarmList - else, it sets the attribute to DISABLED."; - } - - leaf numOfAlarmRecords { - type uint32 ; - config false; - mandatory true; - description "The number of alarm records in the AlarmList"; - } - - leaf lastModification { - type yang:date-and-time ; - config false; - description "The last time when an alarm record was modified"; - } - - list alarmRecords { - key alarmId; - description "List of alarmRecords"; - uses AlarmRecordGrp; - } - } - - grouping FmSubtree { - description "Contains FM related classes. - Should be used in all classes (or classes inheriting from) - - SubNetwork - - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must - augment all user classes!"; - - list AlarmList { - key id; - max-elements 1; - description "The AlarmList represents the capability to store and manage - alarm records. The management scope of an AlarmList is defined by all - descendant objects of the base managed object, which is the object - name-containing the AlarmList, and the base object itself. - - AlarmList instances are created by the system or are pre-installed. - They cannot be created nor deleted by MnS consumers. - - When the alarm list is locked or disabled, the existing alarm records - are not updated, and new alarm records are not added to the alarm list"; - - - uses top3gpp:Top_Grp ; - container attributes { - uses AlarmListGrp ; - } - } - } - -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang deleted file mode 100755 index 33acde382..000000000 --- a/yang-models/_3gpp-common-managed-element.yang +++ /dev/null @@ -1,248 +0,0 @@ -module _3gpp-common-managed-element { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-managed-element; - prefix "me3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp ; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-subscription-control { prefix subscr3gpp; } - import _3gpp-common-fm { prefix fm3gpp; } - import _3gpp-common-trace { prefix trace3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines ManagedElement which will be augmented - by other IOCs"; - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS) - - 3GPP TS 28.620 - Umbrella Information Model (UIM)"; - - revision 2021-01-16 { reference "CR-0120"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } - revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-12 { reference "CR0084"; } - revision 2020-02-24 { reference "S5-201365"; } - revision 2019-06-17 { reference " S5-203316"; } - revision 2019-05-08 { reference "Initial revision"; } - - feature MeasurementsUnderManagedElement { - description "The MeasurementSubtree shall be contained under - ManagedElement"; - } - - feature SubscriptionControlUnderManagedElement { - description "The SubscriptionControlSubtree shall be contained under - ManagedElement"; - } - - feature FmUnderManagedElement { - description "The FmSubtree shall be contained under ManagedElement"; - } - - feature TraceUnderManagedElement { - description "The TraceSubtree shall be contained under ManageElement"; - } - - feature DESManagementFunction { - description "Class representing Distributed SON or Domain-Centralized SON - Energy Saving feature. The DESManagementFunction shall be contained under - ManagedElement."; - } - - feature DMROFunction { - description "Class representing D-SON function of MRO feature. The - DMROFunction shall be contained under ManagedElement."; - } - - feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization - feature. The DRACHOptimizationFunction shall be contained under - ManagedElement."; - } - - feature DPCIConfigurationFunction { - description "Class representing Distributed SON or Domain-Centralized SON - function of PCI configuration feature. The DPCIConfigurationFunction shall - be contained under ManagedElement."; - } - - feature CPCIConfigurationFunction { - description "Class representing Cross Domain-Centralized SON function of PCI - configuration feature. The CPCIConfigurationFunction shall be contained - under ManagedElement."; - } - - feature CESManagementFunction { - description "Class representing Cross Domain-Centralized SON Energy Saving - feature. The CESManagementFunction shall be contained under - ManagedElement."; - } - - grouping ManagedElement_Grp { - description "Abstract class representing telecommunications resources. - An ME communicates with a manager (directly or indirectly) for the - purpose of being monitored and/or controlled. MEs may perform element - management functionality. - An ME (and its contained Function_(s)) may or may not be geographically - distributed. An ME (and its contained Function_(s)) is often referred - to as a Network Element"; - - leaf dnPrefix { - description "Provides naming context that allows the Managed - Elements to be partitioned into logical domains. - A Distingushed Name(DN) is defined by 3GPP TS 32.300, - which splits the DN into a DN Prefix and Local DN"; - type types3gpp:DistinguishedName; - } - - leaf userLabel { - description "A user-friendly (and user assignable) name of this object."; - type string; - } - - leaf locationName { - description "The physical location (e.g. an address) of an entity - represented by a (derivative of) ManagedElement_. It may contain no - information to support the case where the derivative of - ManagedElement_ needs to represent a distributed multi-location NE."; - config false; - type string; - } - - leaf-list managedBy { - description "Relates to the role played by ManagementSystem_ in the - between ManagedSystem_ and ManagedElement_. This attribute contains - a list of the DN(s) of the related subclasses of - ManagementSystem_ instance(s)."; - - config false; - type types3gpp:DistinguishedName; - } - - leaf-list managedElementTypeList { - description "The type of functionality provided by the ManagedElement. - It may represent one ME functionality or a combination of - more than one functionality. - 1) The allowed values of this attribute are the names of the IOC(s) - that are (a) derived/subclassed from ManagedFunction and (b) directly - name-contained by ManagedElement IOC (on the first level below - ManagedElement), but with the string 'Function' excluded. - 2) If a ManagedElement contains multiple instances of a ManagedFunction - this attribute will not contain repeated values. - 3) The capitalisation (usage of upper/lower case) of characters in this - attribute is insignificant. Thus, the NodeB should be case insensitive - when reading these values. - 4) Two examples of allowed values are: - - NodeB; - - HLR, VLR."; - - config false; - min-elements 1; - type string; - } - } - - grouping ManagedElementGrp { - description "Represents telecommunications equipment or - TMN entities within the telecommunications network providing support - and/or service to the subscriber."; - - uses ManagedElement_Grp; - uses meas3gpp:SupportedPerfMetricGroupGrp; - - leaf vendorName { - config false; - type string; - } - - leaf userDefinedState { - type string; - description "An operator defined state for operator specific usage"; - } - - leaf swVersion { - config false; - type string; - } - - leaf priorityLabel { - type uint32; - mandatory true; - } - } - - list ManagedElement { - description "Represents telecommunications equipment or TMN entities within - the telecommunications network providing support and/or service to the - subscriber. An ManagedElement IOC is used to represent a Network Element - defined in TS 32.101 including virtualizeation or non-virtualization - scenario. An ManagedElement instance is used for communicating with a - manager (directly or indirectly) over one or more management interfaces - for the purpose of being monitored and/or controlled. ManagedElement may - or may not additionally perform element management functionality. - An ManagedElement contains equipment that may or may not be geographically - distributed. - - A telecommunication equipment has software and hardware components. The - ManagedElement IOC described above represents following two case: - - In the case when the software component is designed to run on dedicated - hardware component, the ManagedElement IOC description includes both - software and hardware components. - - In the case when the software is designed to run on ETSI NFV defined - NFVI [15], the ManagedElement IOC description would exclude the NFVI - component supporting the above mentioned subject software. - - A ManagedElement may be contained in either a SubNetwork or in a MeContext - instance. A single ManagedElement may also exist stand-alone with no - parent at all. - - The relation of ManagedElement IOC and ManagedFunction IOC can be - described as following: - - A ManaagedElement instance may have 1..1 containment relationship to a - ManagedFunction instance. In this case, the ManagedElement IOC may be - used to represent a NE with single functionality. For example, a - ManagedElement is used to represent the 3GPP defined RNC node; - - A ManagedElement instance may have 1..N containment relationship to - multiple ManagedFunction IOC instances. In this case, the ManagedElement - IOC may be used to represent a NE with combined ManagedFunction - funcationality (as indicated by the managedElementType attribute and the - contained instances of different ManagedFunction IOCs).For example, a - ManagedElement is used to represent the combined functionality of 3GPP - defined gNBCUCPFuntion, gNBCUUPFunction and gNBDUFunction"; - - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ManagedElementGrp; - } - - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderManagedElement; - } - - uses subscr3gpp:SubscriptionControlSubtree { - if-feature SubscriptionControlUnderManagedElement; - } - - uses fm3gpp:FmSubtree { - if-feature FmUnderManagedElement; - } - - uses trace3gpp:TraceSubtree { - if-feature TraceUnderManagedElement; - } - - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang deleted file mode 100755 index a46d86482..000000000 --- a/yang-models/_3gpp-common-managed-function.yang +++ /dev/null @@ -1,311 +0,0 @@ -module _3gpp-common-managed-function { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-managed-function; - prefix mf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-trace { prefix trace3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The module defines a base class/grouping for major 3GPP - functions."; - reference - "3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS) - - 3GPP TS 28.620 - Umbrella Information Model (UIM)"; - - revision 2021-01-25 { reference "CR-0122"; } - revision 2020-09-30 { reference "CR-bbbb"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } - revision 2020-06-23 { reference "CR-085"; } - revision 2020-06-08 { reference "CR-0092"; } - revision 2019-11-21 { reference "S5-197275, S5-197735"; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-18 { reference "Initial revision"; } - - feature MeasurementsUnderManagedFunction { - description "The MeasurementSubtree shall be contained under ManageElement"; - } - - feature TraceUnderManagedFunction { - description "The TraceSubtree shall be contained under ManagedFunction"; - } - - grouping Operation { - description "This data type represents an Operation."; - reference "3gpp TS 28.622"; - - leaf name { - type string; - mandatory true; - } - - leaf-list allowedNFTypes { - type string; - min-elements 1; - description "The type of the managed NF service instance - The specifc values allowed are described in TS 23.501"; - } - - leaf operationSemantics { - type enumeration { - enum REQUEST_RESPONSE; - enum SUBSCRIBE_NOTIFY; - - } - config false; - mandatory true; - description "Semantics type of the operation."; - reference "3GPP TS 23.502"; - } - } - - grouping ManagedNFServiceGrp { - description "A ManagedNFService represents a Network Function (NF) service."; - reference "Clause 7 of 3GPP TS 23.501."; - - leaf userLabel { - type string; - description "A user-friendly (and user assignable) name of this object."; - } - - leaf nFServiceType { - config false; - mandatory true; - type string; - description "The type of the managed NF service instance - The specifc values allowed are described in clause 7.2 of TS 23.501"; - } - - list sAP { - key "host port"; - min-elements 1; - max-elements 1; - description "The service access point of the managed NF service instance"; - uses types3gpp:SAP; - } - - list operations { - key name; - min-elements 1; - uses Operation ; - description "Set of operations supported by the managed NF - service instance"; - } - - leaf administrativeState { - type types3gpp:AdministrativeState; - mandatory true; - description "Permission to use or prohibition against using the instance"; - } - - leaf operationalState { - type types3gpp:OperationalState; - config false; - mandatory true; - description "Describes whether the resource is installed and working"; - } - - leaf usageState { - type types3gpp:usageState ; - config false; - mandatory true; - description "Describes whether the resource is actively in use at a - specific instant, and if so, whether or not it has spare - capacity for additional users."; - } - - leaf registrationState { - type enumeration { - enum REGISTERED; - enum DEREGISTERED; - } - config false; - } - } - - grouping Function_Grp { - description "A base grouping for 3GPP functions."; - - leaf userLabel { - type string; - description "A user-friendly (and user assignable) name of this object."; - } - } - - grouping ManagedFunctionGrp { - description "Abstract root class to be inherited/reused by classes - representing 3GPP functions. - - Anywhere this grouping is used by classes inheriting from ManagedFunction - the list representing the inheriting class needs to include all - contained classes of ManagedFunction too. Contained classes are - either - - augmented into the Function class or - - shall be included in the list representing the inheriting class - using the grouping ManagedFunctionContainedClasses: - 1) EP_RP solved using augment - 2) uses mf3gpp:ManagedFunctionContainedClasses; - "; - - uses Function_Grp; - - list vnfParametersList { - key vnfInstanceId; - description "Contains the parameter set of the VNF - instance(s) corresponding to an NE. - The presence of this list indicates that the ManagedFunction - represented is realized by one or more VNF instance(s). Otherwise it - shall be absent. - The presence of a vnfParametersList entry, whose vnfInstanceId with a - string length of zero, in createMO operation can trigger the - instantiation of the related VNF/VNFC instances."; - - leaf vnfInstanceId { - type string ; - description "VNF instance identifier"; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2 - - ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); - Management and Orchestration; Report on NFV Information Model - section B2.4.2.1.2.3"; - } - - leaf vnfdId { - type string ; - description "Identifier of the VNFD on which the VNF instance is based. - The absence of the leaf or a string length of zero for vnfInstanceId - means the VNF instance(s) does not exist (e.g. has not been - instantiated yet, has already been terminated)."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2"; - } - - leaf flavourId { - type string ; - description "Identifier of the VNF Deployment Flavour applied to this - VNF instance."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV) Management and Orchestration"; - } - - leaf autoScalable { - type boolean ; - mandatory true; - description "Indicator of whether the auto-scaling of this - VNF instance is enabled or disabled."; - } - } - - list peeParametersList { - key idx; - description "Contains the parameter set for the control - and monitoring of power, energy and environmental parameters of - ManagedFunction instance(s)."; - - leaf idx { type uint32; } - - leaf siteIdentification { - type string; - mandatory true; - description "The identification of the site where the - ManagedFunction resides."; - } - - leaf siteLatitude { - type decimal64 { - fraction-digits 4; - range "-90.0000..+90.0000"; - } - description "The latitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - the northern hemisphere. This attribute is optional in case of - BTSFunction and RNCFunction instance(s)."; - } - - leaf siteLongitude { - type decimal64 { - fraction-digits 4; - range "-180.0000..+180.0000"; - } - description "The longitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - degrees east of 0 degrees longitude. This attribute is optional in - case of BTSFunction and RNCFunction instance(s)."; - } - - leaf siteDescription { - type string; - mandatory true; - description "An operator defined description of the site where - the ManagedFunction instance resides."; - } - - leaf equipmentType { - type string; - mandatory true; - description "The type of equipment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } - - leaf environmentType { - type string; - mandatory true; - description "The type of environment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } - - leaf powerInterface { - type string; - mandatory true; - description "The type of power."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } - } - - leaf priorityLabel { - mandatory true; - type uint32; - } - uses meas3gpp:SupportedPerfMetricGroupGrp; - } - - grouping ManagedFunctionContainedClasses { - description "A grouping used to containe classes (lists) contained by - the abstract IOC ManagedFunction"; - list ManagedNFService { - description "Represents a Network Function (NF)"; - reference "3GPP TS 23.501"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ManagedNFServiceGrp; - } - } - - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderManagedFunction ; - } - - uses trace3gpp:TraceSubtree { - if-feature TraceUnderManagedFunction ; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang deleted file mode 100755 index 30627565c..000000000 --- a/yang-models/_3gpp-common-measurements.yang +++ /dev/null @@ -1,542 +0,0 @@ -module _3gpp-common-measurements { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-measurements"; - prefix "meas3gpp"; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines Measurement and KPI related groupings - Any list/class intending to use this should include 2 or 3 uses statements - controlled by a feature: - - A) -+++ feature MeasurementsUnderMyClass { -+++ description 'Indicates whether measurements and/or KPIs are supported -+++ for this class.'; -+++ } - - B) include the attribute measurementsList and/or kPIsList indicating the - supported measurment and KPI types and GPs. Note that for classes - inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are - already inherited, so there is no need to include them once more. E.g. - -+++ grouping MyClassGrp { -+++ uses meas3gpp:SupportedPerfMetricGroup; -+++ } - - C) include the class PerfmetricJob to control the measurements/KPIs. E.g. - - list MyClass { - container attributes { - uses MyClassGrp; - } -+++ uses meas3gpp:MeasurementSubtree { -+++ if-feature MeasurementsUnderMyClass ; -+++ } - } - - Measurements can be contained under ManagedElement, SubNetwork, or - any list representing a class inheriting from Subnetwork or - ManagedFunction. Note: KPIs will only be supported under SubNetwork"; - - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS)"; - - revision 2020-11-06 { reference "CR-0118"; } - revision 2020-09-04 { reference "CR-000107"; } - revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-31 { reference "CR-0084"; } - revision 2020-03-11 { reference "S5-201581, SP-200229"; } - revision 2019-11-21 { reference "S5-197275, S5-197735"; } - revision 2019-10-28 { reference "S5-193516"; } - revision 2019-06-17 { } - - grouping ThresholdInfoGrp { - description "Defines a single threshold level."; - - leaf-list measurementTypes { - type string; - description "The Measurement type can be those specified in TS 28.552, - TS 32.404 and can be those specified by other SDOs or can be - vendor-specific."; - } - - leaf thresholdLevel { - type uint64; - mandatory true; - description "Number (key) for a single threshold in the threshold list - applicable to the monitored performance metric."; - } - - leaf thresholdDirection { - type enumeration { - enum UP; - enum DOWN; - enum UP_AND_DOWN; - } - must '. = "UP_AND_DOWN" or not(../hysteresis)' { - error-message "In case a threshold with hysteresis is configured, the " - +"threshold direction attribute shall be set to 'UP_AND_DOWN'."; - } - mandatory true; - description "Direction of a threshold indicating the direction for which - a threshold crossing triggers a threshold. - - When the threshold direction is configured to 'UP', the associated - treshold is triggered only when the performance metric value is going - up upon reaching or crossing the threshold value. The treshold is not - triggered, when the performance metric is going down upon reaching or - crossing the threshold value. - - Vice versa, when the threshold direction is configured to 'DOWN', the - associated treshold is triggered only when the performance metric is - going down upon reaching or crossing the threshold value. The treshold - is not triggered, when the performance metric is going up upon reaching - or crossing the threshold value. - - When the threshold direction is set to 'UP_AND_DOWN' the treshold is - active in both direcions. - - In case a threshold with hysteresis is configured, the threshold - direction attribute shall be set to 'UP_AND_DOWN'."; - } - - leaf thresholdValue { - type union { - type int64; - type decimal64 { - fraction-digits 2; - } - } - mandatory true; - description "Value against which the monitored performance metric is - compared at a threshold level in case the hysteresis is zero"; - } - - leaf hysteresis { - type union { - type uint64; - type decimal64 { - fraction-digits 2; - range "0..max"; - } - } - description "Hysteresis of a threshold. If this attribute is present - the monitored performance metric is not compared against the - threshold value as specified by the thresholdValue attribute but - against a high and low threshold value given by - - threshold-high = thresholdValue + hysteresis - threshold-low = thresholdValue - hysteresis - - When going up, the threshold is triggered when the performance metric - reaches or crosses the high threshold value. When going down, the - hreshold is triggered when the performance metric reaches or crosses - the low threshold value. - - A hysteresis may be present only when the monitored performance - metric is not of type counter that can go up only. If present - for a performance metric of type counter, it shall be ignored."; - } - } - - grouping SupportedPerfMetricGroupGrp { - list SupportedPerfMetricGroup { - config false; - description "Captures a group of supported performance metrics and - associated parameters related to their production and reporting. - A SupportedPerfMetricGroup attribute which is part of an MOI may - define performanceMetrics for any MOI under the subtree contained - under that MOI, e.g. SupportedPerfMetricGroup on a ManagedElement - can specify supported metrics for contained ManagedFunctions - like a GNBDUFunction."; - - leaf-list performanceMetrics { - type string; - min-elements 1; - description "Performance metrics include measurements defined in - TS 28.552 and KPIs defined in TS 28.554. Performance metrics can - also be those specified by other SDOs or vendor specific metrics. - Performance metrics are identfied with their names. A name can also - identify a vendor specific group of performance metrics. - - For measurements defined in TS 28.552 the name is constructed as - follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without subcounters - - 'family' for measurement families - - For KPIs defined in TS 28.554 the name is defined in the KPI - definitions template as the component designated with e)."; - } - - leaf-list granularityPeriods { - type uint32 { - range 1..max ; - } - units seconds; - } - - leaf-list reportingMethods { - type enumeration { - enum FILE_BASED_LOC_SET_BY_PRODUCER; - enum FILE_BASED_LOC_SET_BY_CONSUMER; - enum STREAM_BASED; - } - min-elements 1; - } - - leaf-list monitorGranularityPeriods { - type uint32 { - range 1..max ; - } - units seconds; - description "Granularity periods supported for the monitoring of - associated measurement types for thresholds"; - } - } - } - - grouping PerfMetricJobGrp { - description "Represents the attributtes of the IOC PerfMetricJob"; - - leaf administrativeState { - default UNLOCKED; - type types3gpp:AdministrativeState ; - description "Enable or disables production of the metrics"; - } - - leaf operationalState { - config false; - mandatory true; - type types3gpp:OperationalState ; - description "Indicates whether the PerfMetricJob is working."; - } - - leaf jobId { - type string; - description "Id for a PerfMetricJob job."; - } - - leaf-list performanceMetrics { - type string; - min-elements 1; - description "Performance metrics include measurements defined in - TS 28.552 and KPIs defined in TS 28.554. Performance metrics can - also be those specified by other SDOs or vendor specific metrics. - Performance metrics are identfied with their names. A name can also - identify a vendor specific group of performance metrics. - - For measurements defined in TS 28.552 the name is constructed as - follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without subcounters - - 'family' for measurement families - - For KPIs defined in TS 28.554 the name is defined in the KPI - definitions template as the component designated with e)."; - } - - leaf granularityPeriod { - type uint32 { - range 1..max ; - } - units seconds; - mandatory true; - description "Granularity period used to produce measurements. The value - must be one of the supported granularity periods for the metric."; - } - - leaf-list objectInstances { - type types3gpp:DistinguishedName; - } - - leaf-list rootObjectInstances { - type types3gpp:DistinguishedName; - description "Each object instance designates the root of a subtree that - contains the root object and all descendant objects."; - } - - choice reportingCtrl { - mandatory true; - description "This choice defines the method for reporting collected - performance metrics to MnS consumers as well as the parameters for - configuring the reporting function. It is a choice between the control - parameter required for the reporting methods, whose presence selects - the reporting method as follows: - - When only the fileReportingPeriod attribute is present, the MnS - producer shall store files on the MnS producer at a location selected - by the MnS producer and inform the MnS consumer about the availability - of new files and the file location using the notifyFileReady - notification. - - When only the fileReportingPeriod and fileLocation attributes are - present, the MnS producer shall store the files on the MnS consumer at - the location specified by fileLocation. No notification is emitted by - the MnS producer. - - When only the streamTarget attribute is present, the MnS producer - shall stream the data to the location specified by streamTarget. - - For the file-based reporting methods the fileReportingPeriod attribute - specifies the time window during which collected measurements are stored - into the same file before the file is closed and a new file is opened."; - - case file-based-reporting { - leaf fileReportingPeriod { - type uint32 { - range 1..max; - } - units minutes; - must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { - error-message - "The time-period must be a multiple of the granularityPeriod."; - } - mandatory true; - description "For the file-based reporting method this is the time - window during which collected measurements are stored into the same - file before the file is closed and a new file is opened. - The time-period must be a multiple of the granularityPeriod. - - Applicable when the file-based reporting method is supported"; - } - - leaf fileLocation { - type string ; - description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the MnS - consumer."; - } - } - case stream-based-reporting { - leaf streamTarget { - type string; - mandatory true; - description "Applicable when stream-based reporting method is - supported."; - } - } - } - } - - - grouping ThresholdMonitorGrp { - description "A threshold monitor that is created by the consumer for - the monitored entities whose measurements are required by consumer - to monitor."; - - leaf administrativeState { - default UNLOCKED; - type types3gpp:AdministrativeState ; - description "Enables or disables the ThresholdMonitor."; - } - - leaf operationalState { - config false; - mandatory true; - type types3gpp:OperationalState ; - description "Indicates whether the ThresholdMonitor is working."; - } - - list thresholdInfoList { - key idx; - min-elements 1; - leaf idx { type uint32 ; } - uses ThresholdInfoGrp; - } - - leaf monitorGranularityPeriod { - type uint32 { - range "1..max"; - } - units second; - mandatory true; - description " Granularity period used to monitor measurements for - threshold crossings. "; - } - - leaf-list objectInstances { - type types3gpp:DistinguishedName; - } - - leaf-list rootObjectInstances { - type types3gpp:DistinguishedName; - description "Each object instance designates the root of a subtree that - contains the root object and all descendant objects."; - } - } - - grouping MeasurementSubtree { - description "Contains classes that define measurements. - Should be used in all classes (or classes inheriting from) - - SubNnetwork - - ManagedElement - - ManagedFunction - - If a YANG module wants to augment these classes/list/groupings they must - augment all user classes! - - If a class uses this grouping in its list it shall also use the - grouping SupportedPerfMetricGroupGrp to add SupportedPerfMetricGroup as - an attribute to its grouping"; - - list PerfMetricJob { - description "This IOC represents a performance metric production job. It - can be name-contained by SubNetwork, ManagedElement, or ManagedFunction. - - To activate the production of the specified performance metrics, a MnS - consumer needs to create a PerfMetricJob instance on the MnS producer - and ensure that the adminState is sUNLOCKED>. - For ultimate deactivation of metric production, the MnS consumer should - delete the job to free up resources on the MnS producer. - - For temporary suspension of metric production, the MnS consumer can - manipulate the value of the administrative state attribute. The MnS - producer may disable metric production as well, for example in overload - situations. This situation is indicated by the MnS producer with setting - the operational state attribute to disabled. When production is resumed - the operational state is set again to enabled. - - The jobId attribute can be used to associate metrics from multiple - PerfMetricJob instances. The jobId can be included when reporting - performance metrics to allow a MnS consumer to associate received - metrics for the same purpose. For example, it is possible to configure - the same jobId value for multiple PerfMetricJob instances required to - produce the measurements for a specific KPI. - - The attribute performanceMetrics defines the performance metrics to be - produced and the attribute granularityPeriod defines the granularity - period to be applied. - - All object instances below and including the instance name-containing - the PerfMetricJob (base object instance) are scoped for performance - metric production. Performance metrics are produced only on those object - instances whose object class matches the object class associated to the - performance metrics to be produced. - - The attributes objectInstances and rootObjectInstances allow to restrict - the scope. When the attribute objectInstances is present, only the object - instances identified by this attribute are scoped. When the attribute - rootObjectInstances is present, then the subtrees whose root objects are - identified by this attribute are scoped. Both attributes may be present - at the same time meaning the total scope is equal to the sum of both - scopes. Object instances may be scoped by both the objectInstances and - rootObjectInstances attributes. This shall not be considered as an error - by the MnS producer. - - When the performance metric requires performance metric production on - multiple managed objects, which is for example the case for KPIs, the - MnS consumer needs to ensure all required objects are scoped. Otherwise - a PerfMetricJob creation request shall fail. - - The attribute reportingCtrl specifies the method and associated control - parameters for reporting the produced measurements to MnS consumers. - Three methods are available: file-based reporting with selection of the - file location by the MnS producer, file-based reporting with selection - of the file location by the MnS consumer and stream-based reporting. - - A PerfMetricJob creation request shall fail, when the requested - performance metrics, the requested granularity period, the requested - repoting method, or the requested combination thereof is not supported - by the MnS producer. - - Creation and deletion of PerfMetricJob instances by MnS consumers is - optional; when not supported, PerfMetricJob instances may be created and - deleted by the system or be pre-installed."; - - key id; - uses top3gpp:Top_Grp ; - container attributes { - uses PerfMetricJobGrp ; - } - } - - list ThresholdMonitor { - key id; - description "Represents a threshold monitor for performance metrics. - It can be contained by SubNetwork, ManagedElement, or ManagedFunction. - A threshold monitor checks for threshold crossings of performance metric - values and generates a notification when that happens. - - To activate threshold monitoring, a MnS consumer needs to create a - ThresholdMonitor instance on the MnS producer. For ultimate deactivation - of threshold monitoring, the MnS consumer should delete the monitor to - free up resources on the MnS producer. - - For temporary suspension of threshold monitoring, the MnS consumer can - manipulate the value of the administrative state attribute. The MnS - producer may disable threshold monitoring as well, for example in - overload situations. This situation is indicated by the MnS producer with - setting the operational state attribute to disabled. When monitoring is - resumed the operational state is set again to enabled. - - All object instances below and including the instance containing the - ThresholdMonitor (base object instance) are scoped for performance - metric production. Performance metrics are monitored only on those - object instances whose object class matches the object class associated - to the performance metrics to be monitored. - - The optional attributes objectInstances and rootObjectInstances allow to - restrict the scope. When the attribute objectInstances is present, only - the object instances identified by this attribute are scoped. When the - attribute rootObjectInstances is present, then the subtrees whose root - objects are identified by this attribute are scoped. Both attributes may - be present at the same time meaning the total scope is equal to the sum - of both scopes. Object instances may be scoped by both the objectInstances - and rootObjectInstances attributes. This shall not be considered as an - error by the MnS producer. - - Multiple thresholds can be defined for multiple performance metric sets - in a single monitor using thresholdInfoList. The attribute - monitorGranularityPeriod defines the granularity period to be applied. - - Each threshold is identified with a number (key) called thresholdLevel. - A threshold is defined using the attributes thresholdValue , - thresholdDirection and hysteresis. - - When hysteresis is absent or carries no information, a threshold is - triggered when the thresholdValue is reached or crossed. When hysteresis - is present, two threshold values are specified for the threshold as - follows: A high treshold value equal to the threshold value plus the - hysteresis value, and a low threshold value equal to the threshold value - minus the hysteresis value. When the monitored performance metric - increases, the threshold is triggered when the high threshold value is - reached or crossed. When the monitored performance metric decreases, the - threshold is triggered when the low threshold value is reached or crossed. - The hsyteresis ensures that the performance metric value can oscillate - around a comparison value without triggering each time the threshold when - the threshold value is crossed. - - Using the thresholdDirection attribute a threshold can be configured in - such a manner that it is triggered only when the monitored performance - metric is going up or down upon reaching or crossing the threshold. - - A ThresholdMonitor creation request shall be rejected, if the performance - metrics requested to be monitored, the requested granularity period, or - the requested combination thereof is not supported by the MnS producer. - A creation request may fail, when the performance metrics requested to be - monitored are not produced by a PerfMetricJob. - - Creation and deletion of ThresholdMonitor instances by MnS consumers is - optional; when not supported, ThresholdMonitor instances may be created - and deleted by the system or be pre-installed."; - - - uses top3gpp:Top_Grp ; - container attributes { - uses ThresholdMonitorGrp ; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang deleted file mode 100755 index 36776b38a..000000000 --- a/yang-models/_3gpp-common-subnetwork.yang +++ /dev/null @@ -1,214 +0,0 @@ -module _3gpp-common-subnetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-subnetwork"; - prefix "subnet3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-subscription-control { prefix subscr3gpp; } - import _3gpp-common-fm { prefix fm3gpp; } - import _3gpp-common-trace { prefix trace3gpp; } - import ietf-yang-schema-mount { prefix yangmnt; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines basic SubNetwork which will be augmented by other IOCs"; - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS) - - 3GPP TS 28.620 - Umbrella Information Model (UIM)"; - - revision 2021-01-16 { reference "CR-0120"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-08 { - reference "S5-203316"; - } - - - revision 2020-03-11 { - description "Added KPIs and corrections"; - reference "S5-201365, S5-201581, SP-200229"; - } - - revision 2020-02-24 { - reference "S5-201365"; - } - - revision 2019-06-17 { - reference "Initial revision"; - } - - feature ExternalsUnderSubNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalGNBCUCPFunction, ExternalENBFunction - are contained under a Subnetwork list/class."; - } - - feature MeasurementsUnderSubNetwork { - description "The MeasurementSubtree shall be contained under SubNetwork"; - } - - feature SubscriptionControlUnderSubNetwork { - description "The SubscriptionControlSubtree shall be contained under - SubNetwork"; - } - - feature FmUnderSubNetwork { - description "The FmSubtree shall be contained under SubNetwork"; - } - - feature TraceUnderSubNetwork { - description "The TraceSubtree shall be contained under SubNetwork"; - } - - feature DESManagementFunction { - description "Class representing Distributed SON or Domain-Centralized SON - Energy Saving feature. The DESManagementFunction shall be contained under - SubNetwork."; - } - - feature DMROFunction { - description "Class representing D-SON function of MRO feature. The - DMROFunction shall be contained under SubNetwork."; - } - - feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization feature. - The DRACHOptimizationFunction shall be contained under SubNetwork."; - } - - feature DPCIConfigurationFunction { - description "Class representing Distributed SON or Domain-Centralized SON - function of PCI configuration feature. The DPCIConfigurationFunction shall - be contained under SubNetwork."; - } - - feature CPCIConfigurationFunction { - description "Class representing Cross Domain-Centralized SON function of PCI - configuration feature. The CPCIConfigurationFunction shall be contained - under SubNetwork."; - } - - feature CESManagementFunction { - description "Class representing Cross Domain-Centralized SON Energy Saving - feature. The CESManagementFunction shall be contained under SubNetwork."; - } - - grouping Domain_Grp { - description "A domain is a partition of instances of managed entities - such that : - - the group represents a topological structure which describes the - potential for connectivity - - Subject to common administration - - With common characteristics"; - - leaf dnPrefix { - type types3gpp:DistinguishedName; - reference "Annex C of 32.300 "; - } - - leaf userLabel { - type string; - description "A user-friendly (and user assignable) name of this object."; - } - - leaf userDefinedNetworkType { - type string; - description "Textual information indicating network type, e.g. 'UTRAN'."; - } - } - - grouping SubNetworkGrp { - uses Domain_Grp; - uses meas3gpp:SupportedPerfMetricGroupGrp; - - - leaf-list setOfMcc { - description "Set of Mobile Country Code (MCC). - The MCC uniquely identifies the country of domicile - of the mobile subscriber. MCC is part of the IMSI (3GPP TS 23.003) - - This list contains all the MCC values in subordinate object - instances to this SubNetwork instance. - - See clause 2.3 of 3GPP TS 23.003 for MCC allocation principles. - - It shall be supported if there is more than one value in setOfMcc - of the SubNetwork. Otherwise the support is optional."; - type types3gpp:Mcc; - } - - leaf priorityLabel { - mandatory true; - type uint32; - } - - } - - list SubNetwork { - key id; - description "Represents a set of managed entities"; - - uses top3gpp:Top_Grp; - container attributes { - uses SubNetworkGrp; - leaf-list parents { - description "Reference to all containg SubNetwork instances - in strict order from the root subnetwork down to the immediate - parent subnetwork. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetworks. - This reference MUST NOT be present for the top level SubNetwork and - MUST be present for other SubNetworks."; - type leafref { - path "../../../SubNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained SubNetwork instances. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetwork."; - type leafref { - path "../../../SubNetwork/id"; - } - } - } - - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderSubNetwork; - } - - uses subscr3gpp:SubscriptionControlSubtree { - if-feature SubscriptionControlUnderSubNetwork; - } - - uses fm3gpp:FmSubtree { - if-feature FmUnderSubNetwork; - } - - uses trace3gpp:TraceSubtree { - if-feature TraceUnderSubNetwork; - } - - yangmnt:mount-point children-of-SubNetwork { - description "Mountpoint for ManagedElement"; - reference "RFC8528 YANG Schema Mount"; - } - - // augment external parts here - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang deleted file mode 100755 index 25bde6927..000000000 --- a/yang-models/_3gpp-common-subscription-control.yang +++ /dev/null @@ -1,209 +0,0 @@ -module _3gpp-common-subscription-control { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-subscription-control"; - prefix "subscr3gpp"; - - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines IOCs for subscription and heartbeat control."; - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - 3GPP TS 28.623"; - - revision 2021-01-16 { reference "CR-0120"; } - revision 2020-08-26 { reference "CR-0106"; } - revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } - - grouping NtfSubscriptionControlGrp { - description "Attributes of a specific notification subscription"; - - leaf notificationRecipientAddress { - type string; - mandatory true; - } - - leaf-list notificationTypes { - type string; - description "Defines the types of notifications that are candidates - for being forwarded to the notification recipient. - If the notificationFilter attribute is not supported or not present - all candidate notifications types are forwarded to the notification; - discriminated by notificationFilter attribute."; - } - - list scope { - key "scopeType"; - min-elements 1; - max-elements 1; - description "Describes which object instances are selected with - respect to a base object instance."; - - leaf scopeType { - type enumeration { - enum BASE_ONLY; - enum BASE_ALL; - enum BASE_NTH_LEVEL; - enum BASE_SUBTREE; - } - description "If the optional scopeLevel parameter is not supported - or absent, allowed values of scopeType are BASE_ONLY and BASE_ALL. - - The value BASE_ONLY indicates only the base object is selected. - The value BASE_ALL indicates the base object and all of its - subordinate objects (incl. the leaf objects) are selected. - - If the scopeLevel parameter is supported and present, allowed - values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL - and BASE_SUBTREE. - - The value BASE_NTH_LEVEL indicates all objects on the level, - which is specified by the scopeLevel parameter, below the base - object are selected. The base object is at scopeLevel zero. - The value BASE_SUBTREE indicates the base object and all of its - subordinate objects down to and including the objects on the level, - which is specified by the scopeLevel parameter, are selected. - The base object is at scopeLevel zero."; - } - - leaf scopeLevel { - when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; - type uint16; - mandatory true; - description "See description of scopeType."; - } - } - - leaf notificationFilter { - type string; - description "Defines a filter to be applied to candidate notifications - identified by the notificationTypes attribute. - If notificationFilter is present, only notifications that pass the - filter criteria are forwarded to the notification recipient; all other - notifications are discarded. - The filter can be applied to any field of a notification."; - } - } - - grouping HeartbeatControlGrp { - description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf - attribute has no mapping in the present release."; - - leaf heartbeatNtfPeriod { - type uint32; - mandatory true; - units seconds; - description "Specifies the periodicity of heartbeat notification emission. - The value of zero has the special meaning of stopping the heartbeat - notification emission."; - } - } - - grouping SubscriptionControlSubtree { - description "Contains notification subscription related classes. - Should be used in all classes (or classes inheriting from) - - SubNetwork - - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must - augment all user classes!"; - - list NtfSubscriptionControl { - description "A NtfSubscriptionControl instance represents the - notification subscription of a particular notification recipient. - The scope attribute is used to select managed object instances. - The base object instance of the scope is the object instance - name-containing the NtfSubscriptionControl instance. - The notifications related to the selected managed object instances - are candidates to be sent to the address specified by the - notificationRecipientAddress attribute. - The notificationType attribute and notificationFilter attribute - allow MnS consumers to exercise control over which candidate - notifications are sent to the notificationRecipientAddress. - If the notificationType attribute is supported and present, its - value identifies the - types of notifications that are candidate to be sent to the - notificationRecipientAddress. If the notificationType attribute is - not supported or not present, all types of notifications are - candidate to be sent to notificationRecipientAddress. - If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. Only candidate - notifications that pass the filter criteria are sent to the - notificationRecipientAddress. If the notificationFilter attribute is - not supported all candidate notificatios are sent to the - notificationRecipientAddress. - To receive notifications, a MnS consumer has to create - NtfSubscriptionControl object instancess on the MnS producer. - A MnS consumer can create a subscription for another MnS consumer - since it is not required the notificationRecipientAddress be his own - address. - When a MnS consumer does not wish to receive notifications any more - the MnS consumer shall delete the corresponding NtfSubscriptionControl - instance. - Creation and deletion of NtfSubscriptionControl instances by MnS - consumers is optional; when not supported, the NtfSubscriptionControl - instances may be created and deleted by the system or be - pre-installed."; - - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NtfSubscriptionControlGrp; - } - - list HeartbeatControl { - description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between them and - data reporting MnS producers emitting notifications such as - notifyNewAlarm and notifyFileReady. - - A HeartbeatControl instance allows controlling the emission of - heartbeat notifications by MnS producers. The recipients of heartbeat - notifications are specified by the notificationRecipientAddress - attribute of the NtfSubscriptionControl instance containing the - HeartbeatControl instance. - - Note that the MnS consumer managing the HeartbeatControl instance - and the MnS consumer receiving the heartbeat notifications may not be - the same. - - As a pre-condition for the emission of heartbeat notifications, a - HeartbeatControl instance needs to be created. Creation of an instance - with an initial non-zero value of the heartbeatNtfPeriod attribute - triggers an immediate heartbeat notification emission. Creation of an - instance with an initial zero value of the heartbeatPeriod attribute - does not trigger an emission of a heartbeat notification. Deletion of - an instance does not trigger an emission of a heartbeat notification. - - Once the instance is created, heartbeat notifications are emitted with - a periodicity defined by the value of the heartbeatNtfPeriod - attribute. No heartbeat notifications are emitted if the value is - equal to zero. Setting a zero value to a non zero value, or a non zero - value to a different non zero value, triggers an immediate heartbeat - notification, that is the base for the new heartbeat period. Setting a - non zero value to a zero value stops emitting heartbeats immediately; - no final heartbeat notification is sent. - - Creation and deletion of HeartbeatControl instances by MnS Consumers - is optional; when not supported, the HeartbeatControl instances may be - created and deleted by the system or be pre-installed. - - Whether and when to emit heartbeat notifications is controlled by - HeartbeatControl. Subscription for heartbeat is not supported via the - NtfSubscriptionControl."; - - max-elements 1; - key id; - uses top3gpp:Top_Grp; - - container attributes { - uses HeartbeatControlGrp; - } - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-top.yang b/yang-models/_3gpp-common-top.yang deleted file mode 100755 index c58adbea7..000000000 --- a/yang-models/_3gpp-common-top.yang +++ /dev/null @@ -1,36 +0,0 @@ -module _3gpp-common-top { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-common-top; - prefix top3gpp; - - organization "3gpp SA5"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and - network slicing."; - reference - "3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS) - - 3GPP TS 28.620 - Umbrella Information Model (UIM)"; - - revision 2019-06-17 { - description "Initial revision"; - } - - grouping Top_Grp { - description "Abstract class supplying a naming attribute"; - reference "3GPP TS 28.620"; - - leaf id { - type string; - description "Key leaf (namingAttribute) for a class/list. - Should be used as a key leaf for lists representing - stage 2 classes."; - reference "3GPP TS 32.300 Name convention for managed objects"; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang deleted file mode 100755 index 13b3f026d..000000000 --- a/yang-models/_3gpp-common-trace.yang +++ /dev/null @@ -1,895 +0,0 @@ -module _3gpp-common-trace { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-trace"; - prefix "trace3gpp"; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types {prefix types3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Trace handling"; - - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS)"; - - revision 2021-01-25 { reference "CR-0122"; } - revision 2020-11-16 { reference "CR-0117"; } - revision 2020-08-06 { reference "CR-0102"; } - - grouping TraceJobGrp { - leaf tjJobType { - type enumeration { - enum IMMEDIATE_MDT_ONLY; - enum LOGGED_MDT_ONLY; - enum TRACE_ONLY; - enum IMMEDIATE_MDT_AND_TRACE; - enum RLF_REPORT_ONLY; - enum RCEF_REPORT_ONLY; - enum LOGGED_MBSFN_MDT; - } - default TRACE_ONLY; - description "Specifies the MDT mode and it specifies also whether the - TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined - Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and - RLF reporting."; - reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the - allowed values."; - } - - list tjListOfInterfaces { - key idx; - must 'count(MSCServerInterfaces)+count(MGWInterfaces)+count(RNCInterfaces)' - +'+count(SGSNInterfaces)+count(GGSNInterfaces)+count(S-CSCFInterfaces)' - +'+count(P-CSCFInterfaces)+count(I-CSCFInterfaces)+count(MRFCInterfaces)' - +'+count(MGCFInterfaces)+count(IBCFInterfaces)+count(E-CSCFInterfaces)' - +'+count(BGCFInterfaces)+count(ASInterfaces)+count(HSSInterfaces)' - +'+count(EIRInterfaces)+count(BM-SCInterfaces)+count(MMEInterfaces)' - +'+count(SGWInterfaces)+count(PDN_GWInterfaces)+count(eNBInterfaces)' - +'+count(en-gNBInterfaces)+count(AMFInterfaces)+count(AUSFInterfaces)' - +'+count(NEFInterfaces)+count(NRFInterfaces)+count(NSSFInterfaces)' - +'+count(PCFInterfaces)+count(SMFInterfaces)+count(SMSFInterfaces)' - +'+count(UDMInterfaces)+count(UPFInterfaces)+count(ng-eNBInterfaces)' - +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)+count(gNB-DUInterfaces)'; - - description "Specifies the interfaces that need to be traced in the given - ManagedEntityFunction.The attribute is applicable only for Trace. In - case this attribute is not used, it carries a null semantic."; - reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the - allowed values."; - - leaf idx { type uint32 ; } - - leaf-list MSCServerInterfaces { - type enumeration { - enum A ; - enum Iu-CS ; - enum Mc ; - enum MAP-G ; - enum MAP-B ; - enum MAP-E ; - enum MAP-F ; - enum MAP-D ; - enum MAP-C ; - enum CAP ; - } - } - leaf-list MGWInterfaces { - type enumeration { - enum Mc ; - enum Nb-UP ; - enum Iu-UP ; - } - } - leaf-list RNCInterfaces { - type enumeration { - enum Iu-CS ; - enum Iu-PS ; - enum Iur ; - enum Iub ; - enum Uu ; - } - } - leaf-list SGSNInterfaces { - type enumeration { - enum Gb ; - enum Iu-PS ; - enum Gn ; - enum MAP-Gr ; - enum MAP-Gd ; - enum MAP-Gf ; - enum Ge ; - enum Gs ; - enum S6d ; - enum S4 ; - enum S3 ; - enum S13 ; - } - } - leaf-list GGSNInterfaces { - type enumeration { - enum Gn ; - enum Gi ; - enum Gmb ; - } - } - leaf-list S-CSCFInterfaces { - type enumeration { - enum Mw ; - enum Mg ; - enum Mr ; - enum Mi ; - } - } - leaf-list P-CSCFInterfaces { - type enumeration { - enum Gm ; - enum Mw ; - } - } - leaf-list I-CSCFInterfaces { - type enumeration { - enum Cx ; - enum Dx ; - enum Mg ; - enum Mw ; - } - } - leaf-list MRFCInterfaces { - type enumeration { - enum Mp ; - enum Mr ; - } - } - leaf-list MGCFInterfaces { - type enumeration { - enum Mg ; - enum Mj ; - enum Mn ; - } - } - leaf-list IBCFInterfaces { - type enumeration { - enum Ix ; - enum Mx ; - } - } - leaf-list E-CSCFInterfaces { - type enumeration { - enum Mw ; - enum Ml ; - enum Mm ; - enum Mi-Mg ; - } - } - leaf-list BGCFInterfaces { - type enumeration { - enum Mi ; - enum Mj ; - enum Mk ; - } - } - leaf-list ASInterfaces { - type enumeration { - enum Dh ; - enum Sh ; - enum ISC ; - enum Ut ; - } - } - leaf-list HSSInterfaces { - type enumeration { - enum MAP-C ; - enum MAP-D ; - enum Gc ; - enum Gr ; - enum Cx ; - enum S6d ; - enum S6a ; - enum Sh ; - } - } - leaf-list EIRInterfaces { - type enumeration { - enum MAP-F ; - enum S13 ; - enum MAP-Gf ; - } - } - leaf-list BM-SCInterfaces { - type enumeration { - enum Gmb ; - } - } - leaf-list MMEInterfaces { - type enumeration { - enum S1-MME ; - enum S3 ; - enum S6a ; - enum S10 ; - enum S11 ; - enum S13 ; - } - } - leaf-list SGWInterfaces { - type enumeration { - enum S4 ; - enum S5 ; - enum S8 ; - enum S11 ; - enum Gxc ; - } - } - leaf-list PDN_GWInterfaces { - type enumeration { - enum S2a ; - enum S2b ; - enum S2c ; - enum S5 ; - enum S6b ; - enum Gx ; - enum S8 ; - enum SGi ; - } - } - leaf-list eNBInterfaces { - type enumeration { - enum S1-MME ; - enum X2 ; - } - } - leaf-list en-gNBInterfaces { - type enumeration { - enum S1-MME ; - enum X2 ; - enum Uu ; - enum F1-C ; - enum E1 ; - } - } - leaf-list AMFInterfaces { - type enumeration { - enum N1 ; - enum N2 ; - enum N8 ; - enum N11 ; - enum N12 ; - enum N14 ; - enum N15 ; - enum N20 ; - enum N22 ; - enum N26 ; - } - } - leaf-list AUSFInterfaces { - type enumeration { - enum N12 ; - enum N13 ; - } - } - leaf-list NEFInterfaces { - type enumeration { - enum N29 ; - enum N30 ; - enum N33 ; - } - } - leaf-list NRFInterfaces { - type enumeration { - enum N27 ; - } - } - leaf-list NSSFInterfaces { - type enumeration { - enum N22 ; - enum N31 ; - } - } - leaf-list PCFInterfaces { - type enumeration { - enum N5 ; - enum N7 ; - enum N15 ; - } - } - leaf-list SMFInterfaces { - type enumeration { - enum N4 ; - enum N7 ; - enum N10 ; - enum N11 ; - enum S5-C ; - } - } - leaf-list SMSFInterfaces { - type enumeration { - enum N20 ; - enum N21 ; - } - } - leaf-list UDMInterfaces { - type enumeration { - enum N8 ; - enum N10 ; - enum N13 ; - enum N21 ; - } - } - leaf-list UPFInterfaces { - type enumeration { - enum N4 ; - } - } - leaf-list ng-eNBInterfaces { - type enumeration { - enum NG-C ; - enum Xn-C ; - enum Uu ; - } - } - leaf-list gNB-CU-CPInterfaces { - type enumeration { - enum NG-C ; - enum Xn-C ; - enum Uu ; - enum F1-C ; - enum E1 ; - enum X2-C ; - } - } - leaf-list gNB-CU-UPInterfaces { - type enumeration { - enum E1 ; - } - } - leaf-list gNB-DUInterfaces { - type enumeration { - enum F1-C ; - } - } - } - - leaf-list tjListOfNeTypes { - type enumeration { - enum MSC_SERVER; - enum SGSN; - enum MGW; - enum GGSN; - enum RNC; - enum BM_SC; - enum MME; - enum SGW; - enum PGW; - enum ENB; - enum EN_GNB; - enum GNB_CU_CP; - enum GNB_CU_UP; - enum GNB_DU; - } - description "Specifies in which type of ManagedFunction the trace should - be activated. The attribute is applicable only for Trace with - Signalling Based Trace activation. In case this attribute is not used, - it carries a null semantic"; - reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the - allowed values"; - } - - leaf tjPLMNTarget { - type string; - mandatory true; - description "Specifies which PLMN that the subscriber of the session to - be recorded uses as selected PLMN. PLMN Target might differ from the - PLMN specified in the Trace Reference"; - reference "Clause 5.9b of 3GPP TS 32.422"; - } - - leaf tjStreamingTraceConsumerURI { - when './tjTraceReportingFormat = "STREAMING"'; - type inet:uri; - mandatory true; - description "URI of the Streaming Trace data reporting MnS consumer - (a.k.a. streaming target). - This attribute shall be present if file based trace data reporting is - supported and tjTraceReportingFormat set to 'file based' or when - tjJobType is set to Logged MDT or Logged MBSFN MDT."; - reference "Clause 5.9 of 3GPP TS 32.422"; - } - - leaf tjTraceCollectionEntityAddress { - when './tjTraceReportingFormat = "FILE_BASED" or ' - +'./tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; - type union { - type inet:uri; - type inet:ip-address; - } - mandatory true; - description "Specifies the address of the Trace Collection Entity when - the attribute tjTraceReportingFormat is configured for the file-based - reporting. The attribute is applicable for both Trace and MDT."; - reference "Clause 5.9 of 3GPP TS 32.422"; - } - - leaf tjTraceDepth { - when './tjJobType = "TRACE_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type enumeration { - enum MINIMUM; - enum MEDIUM; - enum MAXIMUM; - enum VENDORMINIMUM; - enum VENDORMEDIUM; - enum VENDORMAXIMUM; - } - default MAXIMUM; - description "Specifies how detailed information should be recorded in the - Network Element. The Trace Depth is a paremeter for Trace Session level, - i.e., the Trace Depth is the same for all of the NEs to be traced in - the same Trace Session. - The attribute is applicable only for Trace, otherwise it carries a null - semantic."; - reference "Clause 5.3 of 3GPP TS 32.422"; - } - - leaf tjTraceReference { - type uint64; - mandatory true; - description "A globally unique identifier, which uniquely identifies the - Trace Session that is created by the TraceJob. - In case of shared network, it is the MCC and MNC of the Participating - Operator that request the trace session that shall be provided. - The attribute is applicable for both Trace and MDT."; - } - - leaf tjTraceReportingFormat { - type enumeration { - enum FILE_BASED; - enum STREAMING; - } - default FILE_BASED; - description "Specifies the trace reporting format - streaming trace - reporting or file-based trace reporting"; - reference "3GPP TS 32.422 clause 5.11"; - } - list tjTraceTarget { - key "targetIdType targetIdValue"; - max-elements 1; - - leaf targetIdType { - type enumeration { - enum IMSI; - enum IMEI; - enum IMEISV; - enum PUBLIC_ID; - enum UTRAN_CELL; - enum E_UTRAN_CELL; - enum NG_RAN_CELL; - enum ENB; - enum RNC; - enum GNB; - enum SUPI; - } - } - - leaf targetIdValue { - type string; - } - - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute - includes the ID type of the target as an enumeration and the ID value. - - The tjTraceTarget shall be public ID in case of a Management Based - Activation is done to an ScscfFunction. The tjTraceTarget shall be - cell only in case of the UTRAN cell traffic trace function. - - The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell - traffic trace function.The tjTraceTarget shall be either IMSI or - IMEI(SV) if the Trace Session is activated to any of the following - ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - The tjTraceTarget shall be IMSI if the Trace Session is activated to a - ManagedEntity playing a role of ServinGWFunction. - - In case of signaling based Trace/MDT, the tjTraceTarget attribute shall be - able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute shall be - able to carry a list of (cell or E-UtranCell or NRCellDU or TA/LA/RA). - - In case of management based Immediate MDT, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry a list of - (Utrancell or E-UtranCell or NRCellDU). - - In case of management based Logged MDT, the tjTraceTarget attribute - shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated on - the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope attribute - shall carry a list of (Utrancell or E-UtranCell or NRCellDU or TA/LA/RA). - - In case of RLF reporting, or RCEF reporting, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry one or - list of eNBs/gNBs"; - reference "3GPP TS 32.422"; - } - - leaf tjTriggeringEvent { - when './tjJobType = "TRACE" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type string ; - mandatory true; - description "Specifies the triggering event parameter of the trace session. - The attribute is applicable only for Trace. In case this attribute is - not used, it carries a null semantic."; - reference "Clause 5.1 of 3GPP TS 32.422"; - } - - leaf tjMDTAnonymizationOfData { - when ./tjMDTAreaScope ; - type enumeration { - enum NO_IDENTITY; - enum TAC_OF_IMEI; - } - default NO_IDENTITY; - description "Specifies level of MDT anonymization."; - reference "3GPP TS 32.422 clause 5.10.12."; - } - - list tjMDTAreaConfigurationForNeighCell { - when './tjJobType = "LOGGED_MDT_ONLY"'; - key "idx"; - min-elements 1; - leaf idx { type uint32 ; } - - description "It specifies the area for which UE is requested to perform - measurement logging for neighbour cells which have list of frequencies. - If it is not configured, the UE shall perform measurement logging for - all the neighbour cells. - - Applicable only to NR Logged MDT."; - reference "3GPP TS 32.422 clause 5.10.26."; - - leaf frequency { - type string; - } - - leaf cell { - type string; - } - } - - leaf-list tjMDTAreaScope { - type string; - description "specifies MDT area scope when activates an MDT job. - - For RLF and RCEF reporting it specifies the eNB or list of eNBs where the - RLF or RCEF reports should be collected. - - - List of cells/TA/LA/RA for signaling based MDT or management based Logged - MDT. - - List of cells for management based Immediate MDT. - - Cell, TA, LA, RA are mutually exclusive. - - One or list of eNBs for RLF and RCEFreporting"; - reference "Clause 5.10.2 of 3GPP TS 32.422"; - } - - leaf tjMDTCollectionPeriodRrmLte { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" - +"24000|28000|32000|64000"; - } - units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M2, M3 in LTE. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a - null semantic."; - reference "Clause 5.10.20 of 3GPP TS 32.422"; - } - - leaf tjMDTCollectionPeriodRrmUmts { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1024|1280|2048|2560|5120|" - +"10240|60000"; - } - units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M3, M4, M5 in UMTS. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, it carries - a null semantic"; - reference "Clause 5.10.21 of 3GPP TS 32.422"; - } - - leaf tjMDTCollectionPeriodRrmNR { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1024|2048|5120|10240|60000"; - } - units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M4, M5 in NR. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a - null semantic."; - reference "Clause 5.10.30 of 3GPP TS 32.422"; - } - - leaf tjMDTEventListForTriggeredMeasurement { - when './tjJobType = "LOGGED_MDT_ONLY"'; - type enumeration { - enum OUT_OF_COVERAGE ; - enum A2_EVENT ; - } - mandatory true; - description "Specifies event types for event triggered measurement in the - case of logged NR MDT. Each trace session may configure at most one - event. The UE shall perform logging of measurements only upon certain - condition being fulfilled: - - Out of coverage. - - A2 event."; - reference "Clause 5.10.28 of 3GPP TS 32.422"; - } - - leaf tjMDTEventThreshold { - type int64; - description "Specifies the threshold which should trigger the reporting - in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute - is applicable only for Immediate MDT and when reportingTrigger is - configured for A2 event in LTE or 1F event or 1l event in UMTS. In - case this attribute is not used, it carries a null semantic."; - reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; - } - - leaf tjMDTListOfMeasurements { - when './tjJobType = "IMMEDIATE_MDT"'; - type int64; - mandatory true; - description "It specifies the UE measurements that shall be collected in - an Immediate MDT job. The attribute is applicable only for Immediate MDT. - In case this attribute is not used, it carries a null semantic."; - reference "3GPP TS 32.422 clause 5.10.3"; - } - - leaf tjMDTLoggingDuration { - when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; - type uint32 { - range "600|1200|2400|3600|5400|7200"; - } - units seconds; - mandatory true; - description "Specifies how long the MDT configuration is valid at the - UE in case of Logged MDT. The attribute is applicable only for - Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it - carries a null semantic."; - reference "5.10.9 of 3GPP TS 32.422"; - } - - leaf tjMDTLoggingInterval { - when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; - type uint32 { - range "1280|2560|5120|10240|20480|" - +"30720|40960|61440"; - } - units milliseconds; - mandatory true; - description "Specifies the periodicty for Logged MDT. The attribute is - applicable only for Logged MDT and Logged MBSFN MDT. In case this - attribute is not used, it carries a null semantic"; - reference "5.10.8 of 3GPP TS 32.422"; - } - - leaf-list tjMDTMBSFNAreaList { - when './tjJobType = "LOGGED_MBSFN_MDT"'; - type string; - min-elements 1; - max-elements 8; - description "The MBSFN Area consists of a MBSFN Area ID and Carrier - Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. - This parameter is applicable only if the job type is Logged MBSFN MDT."; - reference "5.10.25 of 3GPP TS 32.422"; - } - - leaf tjMDTMeasurementPeriodLTE { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1024|1280|2048|2560|5120|" - +"10240|60000"; - } - units milliseconds; - mandatory true; - description "It specifies the measurement period for the Data Volume and - Scheduled IP throughput measurements for MDT taken by the eNB. - The attribute is applicable only for Immediate MDT. In case this - attribute is not used, it carries a null semantic."; - reference "Clause 5.10.23 of 3GPP TS 32.422"; - } - - leaf tjMDTMeasurementPeriodUMTS { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" - +"24000|28000|32000|64000"; - } - units milliseconds; - mandatory true; - description "It specifies the measurement period for the Data Volume and - Throughput measurements for MDT taken by RNC. - The attribute is applicable only for Immediate MDT. In case this - attribute is not used, it carries a null semantic."; - reference "Clause 5.10.22 of 3GPP TS 32.422"; - } - - leaf tjMDTMeasurementQuantity { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint64 ; - mandatory true; - description "It specifies the measurements that are collected in an MDT - job for a UMTS MDT configured for event triggered reporting."; - reference "Clause 5.10.15 of 3GPP TS 32.422"; - } - - list tjMDTPLMList { - when './tjJobType = "LOGGED_MDT_ONLY"'; - key "mcc mnc"; - uses types3gpp:PLMNId; - min-elements 1; - max-elements 16; - description "It indicates the PLMNs where measurement collection, status - indication and log reporting is allowed."; - reference "Clause 5.10.24 of 3GPP TS 32.422"; - } - - leaf tjMDTPositioningMethod { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; - type enumeration { - enum GNSS; - enum E_CELL_ID; - } - mandatory true; - description "It specifies what positioning method should be used in the - MDT job."; - reference "Clause 5.10.19 of 3GPP TS 32.422"; - } - - leaf tjMDTReportAmount { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; - type union { - type uint32 { - range "1|4|8|16|32|64" ; - } - type enumeration { - enum INFINITY; - } - } - mandatory true; - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In - case this attribute is not used, it carries a null semantic."; - reference "Clause 5.10.6 of 3GPP TS 32.422"; - } - - leaf tjMDTReportingTrigger { - when './tjJobType = "IMMEDIATE_MDT_ONLY"'; - type enumeration { - enum PERIODICAL; - enum A2_FOR_LTE; - enum 1F_FOR_UMTS; - enum 1I_FOR_UMTS_MCPS_TDD; - enum A2_TRIGGERED_PERIODIC_FOR_LTE; - enum ALL_CONFIGURED_RRM_FOR_LTE; - enum ALL_CONFIGURED_RRM_FOR_UMTS; - } - description "It specifies whether periodic or event based measurements - should be collected. - The attribute is applicable only for Immediate MDT and when the - tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) - or M2 (only for UMTS). In case this attribute is not used, it carries - a null semantic."; - reference "Clause 5.10.4 of 3GPP TS 32.422"; - } - - leaf tjMDTReportInterval { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; - type uint32 { - range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" - +"5120|6000|8000|10240|12000|16000|20000|" - +"24000|28000|32000|60000|64000|" - +"360000|720000|1800000|3600000"; - } - units milliseconds; - mandatory true; - description "It specifies the interval between the periodical measurements - that shall be taken when the UE is in connected mode. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In case - this attribute is not used, it carries a null semantic."; - reference "5.10.5 of 3GPP TS 32.422"; - } - - leaf tjMDTReportType { - when './tjJobType = "LOGGED_MDT_ONLY"'; - type enumeration { - enum PERIODICAL; - enum EVENT_TRIGGERED; - } - mandatory true; - description "It specifies report type for logged NR MDT"; - reference "Clause 5.10.27 of 3GPP TS 32.422"; - } - - leaf tjMDTSensorInformation { - type bits { - bit BAROMETRIC_PRESSURE; - bit UE_SPEED; - bit UE_ORIENTATION; - } - default ""; - description "It specifies which sensor information shall be included in - logged NR MDT and immediate NR MDT measurement if they are available. - The following sensor measurement can be included or excluded for the UE."; - reference "Clause 5.10.29 of 3GPP TS 32.422"; - } - - leaf tjMDTTraceCollectionEntityID { - when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; - type uint8; - mandatory true; - description "It specifies the TCE Id which is sent to the UE in Logged MDT."; - reference "Clause 5.10.11 of 3GPP TS 32.422"; - } - } - - grouping TraceSubtree { - description "Contains classes that manage Tracing. - Should be used in all classes (or classes inheriting from) - - SubNnetwork - - ManagedElement - - ManagedFunction - - If a YANG module wants to augment these classes/list/groupings they must - augment all user classes!"; - - list TraceJob { - description "Represents the Trace Control and Configuration parameters of a - particular Trace Job (see TS 32.421 and TS 32.422 for details). - - To activate Trace Jobs, a MnS consumer has to create TraceJob object - instances on the MnS producer. A MnS consumer can activate a Trace Job - for another MnS consumer since it is not required the value of - tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his - own. - - When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - - For details of management Trace Job activation/deactivation see clause - 4.1.1.1.2 of TS 32.422. - - Creation and deletion of TraceJob instances by MnS consumers is optional; - when not supported, the TraceJob instances may be created and deleted by - the system or be pre-installed."; - - key id; - uses top3gpp:Top_Grp ; - container attributes { - uses TraceJobGrp ; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang deleted file mode 100755 index 9bc0a82be..000000000 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ /dev/null @@ -1,95 +0,0 @@ -module _3gpp-common-yang-extensions { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-yang-extensions ; - prefix yext3gpp ; - - organization "3GPP SA5"; - description "The module defines YANG extensions needed - 3GPP YANG modeling. - - Copyright (c) 2019 3GPP. All rights reserved. - - Extensions MUST be defined with the following structure in the - description statement: - - What is this statement. - - Newline, - - This statement can be a substatement of the xxx statements with - cardinality x..y. - - This statement can have the following substatements with - cardinality x..y. - - Newline - - Is changing this statement an editorial, BC(backwards compatible) - or NBC(non-BC) change? - - Newline. - - The argument its meaning and type. Preferably use YANG types and - constraints to define the argument's type. - - Any extension statement can be added with a - deviation/deviate add statement. In this case the restriction about - the parent statement of the extension SHALL be evaluated based on the - target of the deviation statement. - - Support for this module does not mean that a YANG server implements - support for each of these extensions. - Implementers of each specific module using an extensions MUST check - if the server implements support for the used extension. - Note: modules use many extensions which individual - implementations MAY or MAY NOT support. - If support for an extension is missing the extension statement needs - individual handling or it SHOULD be removed from the module using - the extension e.g. with a deviation. - "; - - revision "2019-06-23" { - description "Initial version"; - } - - extension inVariant { - description - "Indicates that the value for the data node can only be set when its - parent data node is being created. To change the value after that, the - parent data node must be deleted and recreated with the data node - having the new value. - - It is unnecessary to use and MUST NOT be used for key leafs. - - The statement MUST only be a substatement of a leaf, leaf-list, list - statements that is config=true. - Zero or one inVariant statement is allowed per parent statement. - NO substatements are allowed. - - Adding this statement is an NBC change, removing it is BC."; - } - - extension initial-value { - description "Specifies a value that the system will set for a leaf - leaf-list if a value is not specified for it when its parent list - or container is created. The value has no effect in any other - modification e.g. changing or removing the value. - - The description statement of the parent statement SHOULD contain - the label 'Initial-value: ' followed by the text from the argument. - - The statement MUST only be a substatement of a leaf or leaf-list. - The statement MUST NOT be present if the leaf or the leaf-list - has a default statement or the type used for the data node - has a default value. - The statement MUST NOT be used for config=false data or in an - action, rpc or notification. - Zero or one initial-value statements are allowed for a leaf parent - statement. Zero or more initial-value statements are allowed for a - leaf-list parent statement. If the leaf-list is ordered-by user, the - initial values are stored in the order they appear in the YANG definition. - NO substatements are allowed. - - Always consider using a YANG-default statement instead. - - Modification of the initial-value is a non-backwards-compatible change. - - The argument specifies a single initial value for a leaf or leaf-list. - The value MUST be part of the valuespace of the leaf/leaf-list. - It follows the same rules as the argument of the default statement."; - - argument "initial-value"; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang deleted file mode 100755 index f71e5420b..000000000 --- a/yang-models/_3gpp-common-yang-types.yang +++ /dev/null @@ -1,512 +0,0 @@ -module _3gpp-common-yang-types { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-yang-types"; - prefix "types3gpp"; - - import ietf-inet-types { prefix inet; } - import ietf-yang-types { prefix yang; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and - network slicing."; - reference "3GPP TS 28.541"; - - revision 2020-11-06 { - description "Removed incorrect S-NSSAI definitions."; - reference "CR-0118"; - } - - revision 2020-03-10 { - description "Removed faulty when statements."; - reference "SP-200229"; - } - - revision 2019-10-25 { - description "Added ManagedNFProfile."; - reference "S5-194457"; - } - - revision 2019-10-16 { - description "Added SAP and usageState."; - reference "S5-193518"; - } - - revision 2019-06-23 { - reference "Initial version."; - } - - grouping ManagedNFProfile { - description "Defines profile for managed NF"; - reference "3GPP TS 23.501"; - - leaf idx { type uint32 ; } - - leaf nfInstanceID { - config false; - mandatory true; - type yang:uuid ; - description "This parameter defines profile for managed NF. - The format of the NF Instance ID shall be a - Universally Unique Identifier (UUID) version 4, - as described in IETF RFC 4122 " ; - } - - leaf-list nfType { - config false; - min-elements 1; - type NfType; - description "Type of the Network Function" ; - } - - leaf hostAddr { - mandatory true; - type inet:host ; - description "Host address of a NF"; - } - - leaf authzInfo { - type string ; - description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins - allowed to consume NF Service(s) of NF Service Producer."; - reference "See TS 23.501" ; - } - - leaf location { - type string ; - description "Information about the location of the NF instance - (e.g. geographic location, data center) defined by operator"; - reference "TS 29.510" ; - } - - leaf capacity { - mandatory true; - type uint16 ; - description "This parameter defines static capacity information - in the range of 0-65535, expressed as a weight relative to other - NF instances of the same type; if capacity is also present in the - nfServiceList parameters, those will have precedence over this value."; - reference "TS 29.510" ; - } - - leaf nFSrvGroupId { - type string ; - description "This parameter defines identity of the group that is - served by the NF instance. - May be config false or true depending on the ManagedFunction. - Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. - Shall be present if ../nfType = UDM or AUSF or UDR. "; - reference "TS 29.510" ; - } - - leaf-list supportedDataSetIds { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - description "List of supported data sets in the UDR instance. - May be present if ../nfType = UDR"; - reference "TS 29.510" ; - } - - leaf-list smfServingAreas { - type string ; - description "Defines the SMF service area(s) the UPF can serve. - Shall be present if ../nfType = UPF"; - reference "TS 29.510" ; - } - - leaf priority { - type uint16; - description "This parameter defines Priority (relative to other NFs - of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over - this value. Shall be present if ../nfType = AMF "; - reference "TS 29.510" ; - } - } - - typedef usageState { - type enumeration { - enum IDLE; - enum ACTIVE; - enum BUSY; - } - description "It describes whether or not the resource is actively in - use at a specific instant, and if so, whether or not it has spare - capacity for additional users at that instant. The value is READ-ONLY."; - reference "ITU T Recommendation X.731"; - } - - grouping SAP { - leaf host { - type inet:host; - mandatory true; - } - leaf port { - type inet:port-number; - mandatory true; - } - description "Service access point."; - reference "TS 28.622"; - } - - typedef Mcc { - description "The mobile country code consists of three decimal digits, - The first digit of the mobile country code identifies the geographic - region (the digits 1 and 8 are not used):"; - type string { - pattern '[02-79][0-9][0-9]'; - } - reference "3GPP TS 23.003 subclause 2.2 and 12.1"; - } - - typedef Mnc { - description "The mobile network code consists of two or three - decimal digits (for example: MNC of 001 is not the same as MNC of 01)"; - type string { - pattern '[0-9][0-9][0-9]|[0-9][0-9]'; - } - reference "3GPP TS 23.003 subclause 2.2 and 12.1"; - } - - grouping PLMNId { - leaf mcc { - mandatory true; - type Mcc; - } - leaf mnc { - mandatory true; - type Mnc; - } - reference "TS 23.658"; - } - - typedef Nci { - description "NR Cell Identity. The NCI shall be of fixed length of 36 bits - and shall be coded using full hexadecimal representation. - The exact coding of the NCI is the responsibility of each PLMN operator"; - reference "TS 23.003"; - type union { - type string { - length 36; - pattern '[01]+'; - } - type string { - length 9; - pattern '[a-fA-F0-9]*'; - } - } - } - - typedef OperationalState { - reference "3GPP TS 28.625 and ITU-T X.731"; - type enumeration { - enum DISABLED { - value 0; - description "The resource is totally inoperable."; - } - - enum ENABLED { - value 1; - description "The resource is partially or fully operable."; - } - - } - } - - typedef AdministrativeState { - reference "3GPP TS 28.625 and ITU-T X.731"; - type enumeration { - enum LOCKED { - value 0; - description "The resource is administratively prohibited from performing - services for its users."; - } - - enum UNLOCKED { - value 1; - description "The resource is administratively permitted to perform - services for its users. This is independent of its inherent - operability."; - } - - enum SHUTTINGDOWN { - value 2; - description "Use of the resource is administratively permitted to - existing instances of use only. While the system remains in - the shutting down state the manager or the managed element - may at any time cause the resource to transition to the - locked state."; - } - } - } - - typedef AvailabilityStatus { - type enumeration { - enum IN_TEST; - enum FAILED; - enum POWER_OFF; - enum OFF_LINE; - enum OFF_DUTY; - enum DEPENDENCY; - enum DEGRADED; - enum NOT_INSTALLED; - enum LOG_FULL; - } - } - - typedef CellState { - type enumeration { - enum IDLE; - enum INACTIVE; - enum ACTIVE; - } - } - - typedef Nrpci { - type uint32; - description "Physical Cell Identity (PCI) of the NR cell."; - reference "TS 36.211 subclause 6.11"; - } - - typedef Tac { - type int32 { - range 0..16777215 ; - } - description "Tracking Area Code"; - reference "TS 23.003 clause 19.4.2.3"; - } - - typedef AmfRegionId { - type union { - type uint8 ; - type string { - length 8; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - typedef AmfSetId { - type union { - type uint16 { - range '0..1023'; - } - type string { - length 8; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - typedef AmfPointer { - type union { - type uint8 { - range '0..63'; - } - type string { - length 6; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - grouping AmfIdentifier { - leaf amfRegionId { - type AmfRegionId; - } - leaf amfSetId { - type AmfSetId; - } - leaf amfPointer { - type AmfPointer; - } - description "The AMFI is constructed from an AMF Region ID, - an AMF Set ID and an AMF Pointer. - The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and - the AMF Pointer uniquely identifies the AMF within the AMF Set. "; - } - -// type definitions especially for core NFs - - typedef NfType { - type enumeration { - enum NRF; - enum UDM; - enum AMF; - enum SMF; - enum AUSF; - enum NEF; - enum PCF; - enum SMSF; - enum NSSF; - enum UDR; - enum LMF; - enum GMLC; - enum 5G_EIR; - enum SEPP; - enum UPF; - enum N3IWF; - enum AF; - enum UDSF; - enum BSF; - enum CHF; - } - } - - typedef NotificationType { - type enumeration { - enum N1_MESSAGES; - enum N2_INFORMATION; - enum LOCATION_NOTIFICATION; - } - } - - typedef Load { - description "Latest known load information of the NF, percentage "; - type uint8 { - range 0..100; - } - } - - typedef N1MessageClass { - type enumeration { - enum 5GMM; - enum SM; - enum LPP; - enum SMS; - } - } - - typedef N2InformationClass { - type enumeration { - enum SM; - enum NRPPA; - enum PWS; - enum PWS_BCAL; - enum PWS_RF; - } - } - - grouping DefaultNotificationSubscription { - - leaf notificationType { - type NotificationType; - } - - leaf callbackUri { - type inet:uri; - } - - leaf n1MessageClass { - type N1MessageClass; - } - - leaf n2InformationClass { - type N2InformationClass; - } - } - - grouping Ipv4AddressRange { - leaf start { - type inet:ipv4-address; - } - leaf end { - type inet:ipv4-address; - } - } - - grouping Ipv6PrefixRange { - leaf start { - type inet:ipv6-prefix; - } - leaf end { - type inet:ipv6-prefix; - } - } - - typedef NsiId { - type string; - } - - typedef UeMobilityLevel { - type enumeration { - enum STATIONARY; - enum NOMADIC; - enum RESTRICTED_MOBILITY; - enum FULLY_MOBILITY; - } - } - - typedef ResourceSharingLevel { - type enumeration { - enum SHARED; - enum NOT_SHARED; - } - } - - typedef TxDirection { - type enumeration { - enum DL; - enum UL; - enum DL_AND_UL; - } - } - - grouping AddressWithVlan { - leaf ipAddress { - type inet:ip-address; - } - leaf vlanId { - type uint16; - } - } - - typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? - type string { - pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*' - + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?' - + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})' - + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'; - } - description "Represents the international standard for the representation - of Distinguished Name (RFC 4512). - The format of the DistinguishedName REGEX is: - {AttributeType = AttributeValue} - - AttributeType consists of alphanumeric and hyphen (OIDs not allowed). - All other characters are restricted. - The Attribute value cannot contain control characters or the - following characters : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain the following characters if they - are excaped : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain control characters if its an escaped - double digit hex number. - Examples could be - UID=nobody@example.com,DC=example,DC=com - CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US"; - reference "RFC 4512 Lightweight Directory Access Protocol (LDAP): - Directory Information Models"; - } // recheck regexp it doesn't handle posix [:cntrl:] - - typedef QOffsetRange { - type int8 { - range "-24 | -22 | -20 | -18 | -16 | -14 | -12 | -10 | -8 | -6 | " + - " -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | " + - " 12 | 14 | 16 | 18 | 20 | 22 | 24"; - } - units dB; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-beam.yang b/yang-models/_3gpp-nr-nrm-beam.yang deleted file mode 100755 index 95f4677b7..000000000 --- a/yang-models/_3gpp-nr-nrm-beam.yang +++ /dev/null @@ -1,96 +0,0 @@ -module _3gpp-nr-nrm-beam { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-beam"; - prefix "beam3gpp"; - - import _3gpp-nr-nrm-commonbeamformingfunction { prefix cbeamff3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the Beam Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-11-22 { - description "Initial revision"; - reference "S5-197643"; - } - - typedef BeamType { - type enumeration { - enum SSB-BEAM; - } - } - - grouping BeamGrp { - description "Represents the Beam IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf beamIndex { - description "Index of the beam. "; - mandatory true; - type int32; - } - - leaf beamType { - description "The type of the beam. "; - mandatory false; - type BeamType; - } - - leaf beamAzimuth { - description "The azimuth of a beam transmission, which means the horizontal beamforming pointing angle (beam peak direction) in the (Phi) ?-axis in 1/10th degree resolution. The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Zero degree implies explicit antenna bearing (boresight). Positive angle implies clockwise from the antenna bearing."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - mandatory false; - type int32 { range "-1800..1800"; } - units "0.1"; - } - - leaf beamTilt { - description "The tilt of a beam transmission, which means the vertical beamforming pointing angle (beam peak direction) in the (Theta) ?-axis in 1/10th degree resolution. -The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Positive value implies downtilt."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - mandatory false; - type int32 { range "-900..900"; } - units "0.1"; - } - - - - leaf beamHorizWidth { - description " The Horizontal beamWidth of a beam transmission, which means the horizontal beamforming half-power (3dB down) beamwidth in the (Phi) ?-axis in 1/10th degree resolution."; - reference "3GPP TS 38.104, TS 38.901"; - mandatory false; - type int32 { range "0..3599"; } - units "0.1"; - } - - leaf beamVertWidth { - description " The Vertical beamWidth of a beam transmission, which means the vertical beamforming half-power (3dB down) beamwidth in the (Theta) ?-axis in 1/10th degree resolution."; - reference "3GPP TS 38.104, TS 38.901"; - mandatory false; - type int32 { range "0..1800"; } - units "0.1"; - } - - - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier/cbeamff3gpp:CommonBeamformingFunction" { - - list Beam { - description "Represents the per-Beam information required for, e.g. beam performance management utilizing measurements generated in the RAN. Can have spatial attributes of horizontal/azimuth (ie: Phi ?-axis) and vertical/tilt (ie: Theta ?-axis) beam pointing direction and beam width attributes."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses BeamGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-bwp.yang b/yang-models/_3gpp-nr-nrm-bwp.yang deleted file mode 100755 index bd18865a6..000000000 --- a/yang-models/_3gpp-nr-nrm-bwp.yang +++ /dev/null @@ -1,104 +0,0 @@ -module _3gpp-nr-nrm-bwp { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-bwp"; - prefix "bwp3gpp"; - - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the BWP Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-11-17 { reference CR-0410 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { reference "Initial revision"; } - - typedef CyclicPrefix { - type enumeration { - enum NORMAL; - enum EXTENDED; - } - } - - typedef BwpContext { - type enumeration { - enum DL; - enum UL; - enum SUL; - } - } - typedef IsInitialBwp { - type enumeration { - enum INITIAL; - enum OTHER; - } - } - - grouping BWPGrp { - description "Represents the BWP IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf bwpContext { - description "Identifies whether the object is used for downlink, uplink - or supplementary uplink."; - mandatory true; - type BwpContext; - } - - leaf isInitialBwp { - description "Identifies whether the object is used for initial or other - BWP."; - mandatory true; - type IsInitialBwp; - } - - leaf subCarrierSpacing { - description "Subcarrier spacing configuration for a BWP."; - reference "3GPP TS 38.104"; - mandatory true; - type uint32 { range "15 | 30 | 60 | 120"; } - units kHz; - } - - leaf cyclicPrefix { - description "Cyclic prefix, which may be normal or extended."; - reference "3GPP TS 38.211"; - mandatory true; - type CyclicPrefix; - } - - leaf startRB { - description "Offset in common resource blocks to common resource block 0 - for the applicable subcarrier spacing for a BWP."; - reference "N_BWP_start in 3GPP TS 38.211"; - mandatory true; - type uint32; - } - - leaf numberOfRBs { - description "Number of physical resource blocks for a BWP."; - reference "N_BWP_size in 3GPP TS 38.211"; - mandatory true; - type uint32; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list BWP { - description "Represents a bandwidth part (BWP)."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses BWPGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang deleted file mode 100755 index 8aa498d81..000000000 --- a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang +++ /dev/null @@ -1,64 +0,0 @@ -module _3gpp-nr-nrm-cesmanagementfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cesmanagementfunction"; - prefix "cesmanagementfunction3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CESManagementFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-08 { reference S5-203316; } - - - grouping CESManagementFunctionGrp { - description "Represents the CESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf cesSwitch { - description "This attribute determines whether the Cross Domain-Centralized SON energy saving function is enabled or disabled."; - type boolean; - } - - leaf energySavingState { - description "Specifies the status regarding the energy saving in the cell. If the value of energySavingControl is toBeEnergySaving, then it shall be tried to achieve the value isEnergySaving for the energySavingState. If the value of energySavingControl is toBeNotEnergySaving, then it shall be tried to achieve the value isNotEnergySaving for the energySavingState. "; - type enumeration{ - enum isNotEnergySaving; - enum isEnergySaving; - } - } - - - leaf energySavingControl { - description "This attribute allows the Cross Domain-Centralized SON energy saving function to initiate energy saving activation or deactivation."; - type enumeration{ - enum toBeEnergySaving; - enum toBeNotEnergySaving; - } - } - - - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang deleted file mode 100755 index e900d4fc4..000000000 --- a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang +++ /dev/null @@ -1,62 +0,0 @@ -module _3gpp-nr-nrm-commonbeamformingfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-commonbeamformingfunction"; - prefix "combeamformfunc3gpp"; - - import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - - organization "3GPP SA5"; - description "Defines the YANG mapping of the CommonBeamformingFuntion Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-11-22 { - description "Initial revision"; - reference "S5-197643"; - } - - grouping CommonBeamformingFunctionGrp { - description "Represents the CommonBeamformingFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf coverageShape { - description "Identifies the sector carrier coverage shape described by the envelope of the contained SSB beams. The coverage shape is implementation dependent."; - mandatory true; - type int32 { range "0..65535"; } - } - - leaf digitalAzimuth { - description "Digitally-controlled azimuth through beamforming. It represents the horizontal pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical horizontal pan of the selected coverageShape. Positive value gives azimuth to the right and negative value gives an azimuth to the left."; - - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - type int32 { range "-1800..1800"; } - units "0.1"; - } - - leaf digitalTilt { - description "Digitally-controlled tilt through beamforming. It represents the vertical pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical vertical tilt of the selected coverageShape. Positive value gives downwards tilt and negative value gives upwards tilt."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - type int32 { range "-900..900"; } - units "0.1"; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier" { - - list CommonBeamformingFunction { - description "Represents common beamforming functionality (eg: SSB beams) for the NRSectorCarrier."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses CommonBeamformingFunctionGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang deleted file mode 100755 index 1437acece..000000000 --- a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang +++ /dev/null @@ -1,67 +0,0 @@ -module _3gpp-nr-nrm-cpciconfigurationfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cpciconfigurationfunction"; - prefix "cpciconfigurationfunction3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CPCIConfigurationFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-08 { reference S5-203316; } - - - grouping CPCIConfigurationFunctionGrp { - description "Represents the CPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - - list cSonPciList { - key NRPci; - description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; - leaf NRPci {type int32;} - container attributes { - uses CSonPciListGrp; - } - } - - - leaf cPciConfigurationControl { - description "This attribute determines whether the Cross Domain-Centralized SON PCI configuration function is enabled or disabled."; - type boolean; - } - - } - - grouping CSonPciListGrp { - description "Represents the C-SON PCI list for the PCI configuration function."; - - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; - } - } - - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { - if-feature nrcelldu3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang deleted file mode 100755 index 9ec94fc20..000000000 --- a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang +++ /dev/null @@ -1,44 +0,0 @@ -module _3gpp-nr-nrm-danrmanagementfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-danrmanagementfunction"; - prefix "danrmanagementfunction3gpp"; - - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - - - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DANRManagementFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-08 { reference S5-203316; } - - - grouping DANRManagementFunctionGrp { - description "Represents the DANRManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf intrasystemANRManagementSwitch { - description "This attribute determines whether the intra-system ANR function is activated or deactivated."; - type boolean; - } - - leaf intersystemANRManagementSwitch { - description "This attribute determines whether the inter-system ANR function is activated or deactivated."; - type boolean; - } - - - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature gnbcucp3gpp:DANRManagementFunction; - uses DANRManagementFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang deleted file mode 100755 index b4b86d2b0..000000000 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ /dev/null @@ -1,261 +0,0 @@ -module _3gpp-nr-nrm-desmanagementfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-desmanagementfunction"; - prefix "desmanagementfunction3gpp"; - - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DESManagementFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-08 { reference S5-203316; } - - - grouping DESManagementFunctionGrp { - description "Represents the DESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf desSwitch { - description "This attribute determines whether the Distributed SON or Domain-Centralized SON energy saving function is enabled or disabled."; - type boolean; - } - - list intraRatEsActivationOriginalCellLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as an original cell.This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationOriginalCellLoadParametersGrp; - } - } - - - list intraRatEsActivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationCandidateCellsLoadParametersGrp; - } - } - - list intraRatEsDeactivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as a candidate cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; - } - } - - list esNotAllowedTimePeriod { - key startTimeandendTime; - description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; - leaf startTimeandendTime {type string;} - container attributes { - uses EsNotAllowedTimePeriodGrp; - } - } - - list interRatEsActivationOriginalCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationOriginalCellParametersGrp; - } - } - - list interRatEsActivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationCandidateCellParametersGrp; - } - } - - list interRatEsDeactivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsDeactivationCandidateCellParametersGrp; - } - } - - leaf energySavingState { - description "Specifies the status regarding the energy saving in the cell."; - type enumeration { - enum isNotEnergySaving; - enum isEnergySaving; - } - } - - leaf isProbingCapable { - description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; - type enumeration{ - enum yes; - enum no; - } - } - - } - - grouping IntraRatEsActivationOriginalCellLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping EsNotAllowedTimePeriodGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf startTimeandendTime { - description "This field indicate valid UTC time."; - type string; - } - - - leaf periodOfDay { - description "This field indicate the period of day."; - type string; - } - - leaf daysOfWeekList { - description "This field indicate the list of weekday."; - type string; - } - - leaf listoftimeperiods { - description "This field indicate the list of time periods."; - type string; - } - - } - - grouping InterRatEsActivationOriginalCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsActivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsDeactivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; - type int32 { range "0..900"; } - units "1"; - } - } - - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature gnbcucp3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang deleted file mode 100755 index c657f1587..000000000 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ /dev/null @@ -1,70 +0,0 @@ -module _3gpp-nr-nrm-dmrofunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dmrofunction"; - prefix "dmrofunction3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DMROFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-08 { reference S5-203316; } - - - grouping DMROFunctionGrp { - description "Represents the DMROFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf maximumDeviationHoTrigger { - description "This parameter defines the maximum allowed absolute deviation of the Handover Trigger, from the default point of operation."; - type int32 { range "-20..20"; } - units "0.5"; - } - - leaf minimumTimeBetweenHoTriggerChange { - description "This parameter defines the minimum allowed time interval between two Handover Trigger change performed by MRO. This is used to control the stability and convergence of the algorithm."; - type int32 { range "0..604800"; } - units "1"; - } - - leaf tstoreUEcntxt { - description "The timer used for detection of too early HO, too late HO and HO to wrong cell."; - type int32 { range "0..1023"; } - units "100"; - } - - - leaf dmroControl { - description " This attribute determines whether the MRO function is enabled or disabled."; - type boolean; - } - - } - - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:DMROFunction; - uses DMROFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature gnbcucp3gpp:DMROFunction; - uses DMROFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:DMROFunction; - uses DMROFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:DMROFunction; - uses DMROFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang deleted file mode 100755 index dce102ff2..000000000 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ /dev/null @@ -1,69 +0,0 @@ -module _3gpp-nr-nrm-dpciconfigurationfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dpciconfigurationfunction"; - prefix "dpciconfigurationfunction3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DPCIConfigurationFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-11-25 { reference CR-0386 ; } - revision 2020-05-08 { reference S5-203316; } - - - grouping DPCIConfigurationFunctionGrp { - description "Represents the DPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - - list nRPciList { - key NRPci; - description "This holds a list of physical cell identities that can be assigned to the NR cells. This attribute shall be supported if D-SON PCI configuration or domain Centralized SON PCI configuration function is supported."; - leaf NRPci {type int32;} - container attributes { - uses NRPciListGrp; - } - } - - - leaf dPciConfigurationControl { - description " This attribute determines whether the Distributed SON or Domain-Centralized SON PCI configuration Function is enabled or disabled."; - type boolean; - } - - } - - grouping NRPciListGrp { - description "Represents the NR PCI list for the PCI configuration function."; - - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; - } - } - - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang deleted file mode 100755 index 7ef35373c..000000000 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ /dev/null @@ -1,120 +0,0 @@ -module _3gpp-nr-nrm-drachoptimizationfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-drachoptimizationfunction"; - prefix "drachoptimizationfunction3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DRACHOptimizationFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-10-02 { reference "CR-0384, CR-0382" ; } - revision 2020-05-08 { reference S5-203316; } - - grouping DRACHOptimizationFunctionGrp { - description "Represents the DRACHOptimizationFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - list ueAccProbilityDist { - key targetProbability; - description "This is a list of target Access Probability (APn) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccProbilityDistGrp; - } - } - - list ueAccDelayProbilityDist { - key targetProbability; - description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccDelayProbilityDistGrp; - } - } - - leaf drachOptimizationControl { - description "This attribute determines whether the RACH Optimization function is enabled or disabled."; - type boolean; - } - } - typedef TargetProbability { - type enumeration { - enum 25; - enum 50; - enum 75; - enum 90; - } - } - - typedef Numberofpreamblessent { - type int32 { range "1..200"; } - units "1"; - } - - typedef Accessdelay { - type int32 { range "10..560"; } - units "1"; - } - - - grouping UeAccProbilityDistGrp { - description "Represents the target Access Probability (APn) for the RACH optimization function."; - - leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; - } - - - leaf numberofpreamblessent { - description "This attribute determines the number of preambles sent."; - mandatory true; - type Numberofpreamblessent; - } - } - - grouping UeAccDelayProbilityDistGrp { - description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; - - leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; - } - - - leaf accessdelay { - description "This attribute determines the access delay."; - mandatory true; - type Accessdelay; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { - if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - if-feature gnbdu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { - if-feature me3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { - if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang deleted file mode 100755 index 835e2e05c..000000000 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ /dev/null @@ -1,256 +0,0 @@ -module _3gpp-nr-nrm-ep { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-ep"; - prefix "ep3gpp"; - - import _3gpp-common-ep-rp { prefix eprp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the NR related endpoint - Information Object Classes (IOCs) that are part of the NR Network - Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-03-03 { reference CR-0435 ; } - revision 2021-02-17 { reference CR-0470; } - revision 2020-11-17 { reference CR-0410 ; } - revision 2020-03-02 { reference S5-201191; } - revision 2019-06-17 { reference "Initial revision"; } - - feature EPClassesUnderGNBCUCPFunction { - description "Endpoint classes shall be contained under GNBCUCPFunction"; - } - - feature EPClassesUnderGNBCUUPFunction { - description "Endpoint classes shall be contained under GNBCUUPFunction"; - } - - feature EPClassesUnderGNBDUFunction { - description "Endpoint classes shall be contained under GNBDUFunction"; - } - - grouping EP_E1Grp { - description "Represents the EP_E1 IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - uses eprp3gpp:EP_Common; - } - - grouping EP_F1CGrp { - description "Represents the EP_F1C IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_F1UGrp { - description "Represents the EP_F1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_XnCGrp { - description "Represents the EP_XnC IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - uses eprp3gpp:EP_Common; - } - - grouping EP_XnUGrp { - description "Represents the EP_XnU IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - uses eprp3gpp:EP_Common; - } - - grouping EP_NgCGrp { - description "Represents the EP_NgC IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_NgUGrp { - description "Represents the EP_NgU IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_X2CGrp { - description "Represents the EP_X2C IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.423"; - uses eprp3gpp:EP_Common; - } - - grouping EP_X2UGrp { - description "Represents the EP_X2U IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.425"; - uses eprp3gpp:EP_Common; - } - - grouping EP_S1UGrp { - description "Represents the EP_S1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.410"; - uses eprp3gpp:EP_Common; - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature EPClassesUnderGNBCUCPFunction; - - list EP_E1 { - description "Represents the local end point of the logical link, - supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_E1Grp; - } - } - - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_NgC { - description "Represents the local end point of the control plane - interface (NG-C) between the gNB and NG-Core entity."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NgCGrp; - } - } - - list EP_XnC { - description "Represents the local gNB node end point of the logical - link, supporting Xn application protocols, to a neighbour NG-RAN node - (including gNB and ng-eNB). The Xn Application PDUs are carried over - SCTP/IP/Data link layer/Physical layer stack."; - reference "3GPP TS 28.541, 3GPP TS 38.420 subclause 7"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_XnCGrp; - } - } - - list EP_X2C { - description "Represents the local end point of the logical link, - supporting X2-C application protocols used in EN-DC, to a neighbour - eNB or en-gNB node."; - reference "3GPP TS 28.541, 3GPP TS 36.423"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_X2CGrp; - } - } - } - - augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { - if-feature EPClassesUnderGNBCUUPFunction; - - list EP_E1 { - description "Represents the local end point of the logical link, - supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_E1Grp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } - - list EP_NgU { - description "Represents the local end point of the NG user plane - (NG-U) interface between the gNB and UPF."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NgUGrp; - } - } - - list EP_XnU { - description "Represents the one end-point of a logical link supporting - the Xn user plane (Xn-U) interface. The Xn-U interface provides - non-guaranteed delivery of user plane PDUs between two NG-RAN nodes."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_XnUGrp; - } - } - - list EP_X2U { - description "Represents the local end-point of a logical link supporting - the X2 user plane (X2-U) interface used in EN-DC."; - reference "3GPP TS 28.541, 3GPP TS 36.425"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_X2UGrp; - } - } - - list EP_S1U { - description "Represents the local end point of the logical link, - supporting S1-U interface towards a S-GW node."; - reference "3GPP TS 28.541, 3GPP TS 36.410"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S1UGrp; - } - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - if-feature EPClassesUnderGNBDUFunction; - - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang deleted file mode 100755 index 4eee4a401..000000000 --- a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang +++ /dev/null @@ -1,160 +0,0 @@ -module _3gpp-nr-nrm-eutrancellrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutrancellrelation"; - prefix "eutrancellrel3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranCellRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - typedef ActionAllowed { - type enumeration { - enum YES; - enum NO; - } - } - - typedef EnergySavingCoverage { - type enumeration { - enum YES; - enum NO; - enum PARTIAL; - } - } - - grouping EUtranCellRelationGrp { - description "Represents the EUtranCellRelation IOC."; - reference "3GPP TS 28.541, EUtranRelation in 3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf tCI { - description "Target Cell Identifier. Consists of E-UTRAN Cell Global - Identifier (ECGI) and Physical Cell Identifier (PCI) of the target - cell. Identifies the target cell from the perspective of the parent - cell instance."; - mandatory true; - type uint64; - } - - leaf isRemoveAllowed { - description "Indicates if the subject EUtranCellRelation can be removed - (deleted) or not. If YES, the subject EUtranCellRelation instance can - be removed (deleted). If NO, the subject EUtranCellRelation instance - shall not be removed (deleted) by any entity but an IRPManager."; - mandatory true; - type ActionAllowed; - } - - leaf isHOAllowed { - description "Indicates if handover is allowed or prohibited. If YES, - handover is allowed from source cell to target cell. Source cell is - represented by the parent cell instance. Target cell is the adjacent - cell referenced by this EUtranCellRelation instance. If NO, handover - shall not be allowed."; - mandatory true; - type ActionAllowed; - } - leaf isENDCAllowed { - description "Indicates if EN-DC is allowed or prohibited. If TRUE, - the target cell is allowed to be used for EN-DC. The target cell is - referenced by the NRCellRelation that contains this isENDCAllowed. - If FALSE, EN-DC shall not be allowed."; - mandatory true; - type ActionAllowed; - } - - - leaf isICICInformationSendAllowed { - description "Indicates if ICIC (Inter Cell Interference Coordination) - load information message sending is allowed or prohibited. If YES, - ICIC load information message sending is allowed from source cell to - target cell. Source cell is represented by the parent cell instance. - Target cell is the adjacent cell referenced by this EUtranCellRelation - instance. If NO, ICIC load information message sending shall not be - allowed."; - reference "3GPP TS 36.423"; - mandatory true; - type ActionAllowed; - } - - leaf isLBAllowed { - description "Indicates if load balancing is allowed or prohibited from - source cell to target cell. If YES, load balancing is allowed from - source cell to target cell. Source cell is represented by the parent - cell instance. Target cell is the adjacent cell referenced by this - EUtranCellRelation instance. If NO, load balancing shall be prohibited - from source cell to target cell."; - mandatory true; - type ActionAllowed; - } - - leaf isESCoveredBy { - description "Indicates whether the adjacent cell according to this - planning provides no, partial or full coverage for the parent cell - instance. Adjacent cells with this attribute equal to YES are - recommended to be considered as candidate cells to take over the - coverage when the original cell is about to be transferred to energy - saving state. The entirety of adjacent cells with this property equal - to PARTIAL are recommended to be considered as entirety of candidate - cells to take over the coverage when the original cell is about to be - transferred to energy saving state."; - mandatory true; - type EnergySavingCoverage; - } - - leaf qOffset { - description "Offset applicable to a specific neighbouring cell used for - evaluating the cell as a candidate for cell re-selection. Corresponds - to parameter q-OffsetCell broadcast in SIB4 for intra-frequency cells - and in SIB5 for inter-frequency cells. Used for Mobility Robustness - Optimization."; - reference "3GPP TS 36.331"; - mandatory true; - type types3gpp:QOffsetRange; - } - - leaf cellIndividualOffset { - description "Offset applicable to a neighbouring cell. It is used for - evaluating the neighbouring cell for handover in connected mode. Used - by the HandOver parameter Optimization (HOO) function or Load - Balancing Optimization (LBO) function."; - reference "3GPP TS 36.331"; - config false; - type types3gpp:QOffsetRange; - } - - leaf adjacentCell { - description "Reference to an EUtranCellFDD/TDD or - ExternalEUtranCellFDD/TDD instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list EUtranCellRelation { - description "Represents a relation between an NR cell and an E-UTRAN cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranCellRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang deleted file mode 100755 index 068bc246c..000000000 --- a/yang-models/_3gpp-nr-nrm-eutranetwork.yang +++ /dev/null @@ -1,61 +0,0 @@ -module _3gpp-nr-nrm-eutranetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; - prefix "eutranet3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtraNetwork Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderEUtraNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalENBFunction are contained under a EUtraNetwork list/class."; - } - - grouping EUtraNetworkGrp { - description "Represents the EUtraNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; - } - - list EUtraNetwork { - description "A subnetwork containing gNB external E-UTRAN entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtraNetworkGrp; - leaf-list parents { - description "Reference to all containg EUtraNetwork instances - in strict order from the root EUtraNetwork down to the immediate - parent EUtraNetwork. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetworks. - This reference MUST NOT be present for the top level EUtraNetwork and - MUST be present for other EUtraNetworks."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained EUtraNetwork instances. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetwork."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang deleted file mode 100755 index fce8aa7ff..000000000 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ /dev/null @@ -1,208 +0,0 @@ -module _3gpp-nr-nrm-eutranfreqrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfreqrelation"; - prefix "eutranfreqrel3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranFreqRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EUtranFreqRelationGrp { - description "Represents the EUtranFreqRelation IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellIndividualOffset { - description "Offset applicable to a neighbouring cell. Used for - evaluating the neighbouring cell for handover in connected mode. - Used by the HandOver parameter Optimization (HOO) function or - Load Balancing Optimization (LBO) function."; - reference "cellIndividualOffset in MeasObjectEUTRA in 3GPP TS 38.331"; - default 0; - type types3gpp:QOffsetRange; - } - - leaf-list blackListEntry { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in E-UTRAN measurements."; - reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf-list blackListEntryIdleMode { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in SIB4 and SIB5."; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf cellReselectionPriority { - description "The absolute priority of the carrier frequency used by the - cell reselection procedure. Value 0 means lowest priority. The value - must not already used by other RAT, i.e. equal priorities between RATs - are not supported. The UE behaviour when no value is entered is - specified in subclause 5.2.4.1 of 3GPP TS 38.304."; - reference "CellReselectionPriority in 3GPP TS 38.331, priority in - 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..7"; } - } - - leaf cellReselectionSubPriority { - description "Indicates a fractional value to be added to the value of - cellReselectionPriority to obtain the absolute priority of the - concerned carrier frequency for E-UTRA and NR."; - reference "3GPP TS 38.331"; - type uint8 { range "2 | 4 | 6 | 8"; } - units "0.1"; - } - - leaf pMax { - description "Used for calculation of the parameter Pcompensation - (defined in 3GPP TS 38.304), at cell reselection to a cell."; - reference "PEMAX in 3GPP TS 38.101-1"; - mandatory true; - type int32 { range "-30..33"; } - units dBm; - } - - leaf qOffsetFreq { - description "The frequency specific offset applied when evaluating - candidates for cell reselection."; - type int32; - default 0; - } - - leaf qQualMin { - description "Indicates the minimum required quality level in the cell. - Value 0 means that it is not sent and UE applies in such case the - (default) value of negative infinity for Qqualmin. Sent in SIB3 or - SIB5."; - reference "qQualMin in TS 38.304"; - mandatory true; - type int32 { range "-34..-3 | 0"; } - units dB; - } - - leaf qRxLevMin { - description "Indicates the required minimum received Reference Symbol - Received Power (RSRP) level in the (E-UTRA) frequency for cell - reselection. Broadcast in SIB3 or SIB5, depending on whether the - related frequency is intra- or inter-frequency. Resolution is 2."; - reference "Qrxlevmin in 3GPP TS 38.304"; - mandatory true; - type int32 { range "-140..-44"; } - units dBm; - } - - leaf threshXHighP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, HighP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXHighQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, HighQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range 0..31; } - units dB; - } - - leaf threshXLowP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, LowP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXLowQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory false; - type int32 { range "0..31"; } - units dB; - } - - leaf tReselectionEutra { - description "Cell reselection timer for intra frequency E-UTRA cell - reselection. May be used for Mobility Robustness Optimization."; - reference "t-ReselectionEUTRA in 3GPP TS 36.331 and in 3GPP TS 23.207"; - mandatory true; - type uint8 { range "0..7"; } - units s; - } - - leaf tReselectionEutraSfHigh { - description "The attribute tReselectionEutra (parameter TreselectionEUTRA - in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - high mobility state."; - reference "Speed dependent ScalingFactor for TreselectionEUTRA for high - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf tReselectionEutraSfMedium { - description "The attribute tReselectionEutra (parameter TreselectionEUTRA - in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - medium mobility state."; - reference "Speed dependent ScalingFactor for TreselectionEUTRA for medium - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf eUtranFrequencyRef { - description "Reference to a corresponding EUtranFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list EUtranFreqRelation { - description "Represents a frequency relation between an NR cell and an - E-UTRAN cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranFreqRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang deleted file mode 100755 index 2d8a4534a..000000000 --- a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang +++ /dev/null @@ -1,64 +0,0 @@ -module _3gpp-nr-nrm-eutranfrequency { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; - prefix "eutraneteutranfreq3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranFrequency Information - Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EUtranFrequencyGrp { - description "Represents the EUtranFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf earfcnDL { - description "Specifies the channel number for the central DL frequency."; - reference "3GPP TS 36.101"; - mandatory true; - type uint32 { range "0..262143"; } - } - - leaf-list multiBandInfoListEutra { - description "List of additional frequency bands the frequency belongs to."; - config false; - min-elements 0; - type uint16 { range "1..256"; } - } - } - - grouping EUtranFrequencyWrapper { - list EUtranFrequency { - description "Represents certain E-UTRAN frequency properties."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranFrequencyGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses EUtranFrequencyWrapper ; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses EUtranFrequencyWrapper ; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang deleted file mode 100755 index bfd30c58a..000000000 --- a/yang-models/_3gpp-nr-nrm-externalamffunction.yang +++ /dev/null @@ -1,69 +0,0 @@ -module _3gpp-nr-nrm-externalamffunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalamffunction"; - prefix "extamf3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalAMFFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalAMFFunctionGrp { - description "Represents the ExternalAMFFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least - one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - container aMFIdentifier { - presence true; - description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; - uses types3gpp:AmfIdentifier; - } - } - - grouping ExternalAMFFunctionWrapper { - list ExternalAMFFunction { - description "Represents the properties, known by the management - function, of a AMFFunction managed by another management - function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalAMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalAMFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalAMFFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang deleted file mode 100755 index 7dab2e970..000000000 --- a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang +++ /dev/null @@ -1,60 +0,0 @@ -module _3gpp-nr-nrm-externalenbfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalenbfunction"; - prefix "extenb3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalENBFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalENBFunctionGrp { - description "Represets the ExternalENBFunction IOC."; - reference "3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf eNBId { - description "Unambiguously identifies an eNodeB within a PLMN."; - reference "3GPP TS 36.413, 3GPP TS 36.300"; - mandatory true; - type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. - // 18, 20 and 21 bit eNB IDs also - // allowed. - } - } - - grouping ExternalENBFunctionWrapper { - list ExternalENBFunction { - description "Represents an external eNB functionality."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalENBFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalENBFunctionWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalENBFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang deleted file mode 100755 index df62f1c5f..000000000 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ /dev/null @@ -1,153 +0,0 @@ -module _3gpp-nr-nrm-externaleutrancell { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externaleutrancell"; - prefix "exteutrancell3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalEUtranCellFDD and - ExternalEUtranCellTDD Information Object Classes (IOCs) that are part - of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalEUtranGenericCellGrp { - description "Represents the ExternalEUtranGenericCell IOC."; - reference "3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf pci { - description "The Physical Cell Identity (PCI) of the cell (for - NM-Centralized, EM-Centralized and Distributed PCI assignment cases). - In the case of NM-Centralized PCI assignment, see 3GPP TS 36.300."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..503"; } - } - - list plmnIdList { - description "List of unique identities for PLMNs. A cell can broadcast - up to 6 PLMN IDs. This is to support the case that one cell can be - used by up to 6 operator's core networks. The PLMN(s) included in this - list will use the same single tracking area code (TAC) and the same - Cell Identity (cellLocalId) for sharing the radio access network - resources. One member of plmnIdList is the primary PLMN ID. A PLMN ID - included in this list cannot be included in the cellAccessInfoList. - The PLMN ID is composed of a Mobile Country Code (MCC) and a Mobile - Network Code (MNC)."; - reference "3GPP TS 36.300, 3GPP TS 36.331, 3GPP TS 23.003"; - key "mcc mnc"; - min-elements 1; - max-elements 6; - uses types3gpp:PLMNId; - } - - leaf cellLocalId { - description "Unambiguously identifies a cell within an eNodeB."; - reference "NCI defined in 3GPP TS 38.300"; - type int32 {range "0..255"; } - } - - leaf eNBId { - description "Unambiguously identifies an eNodeB within a PLMN."; - reference "3GPP TS 36.413, 3GPP TS 36.300"; - mandatory true; - type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. - // 18, 20 and 21 bit eNB IDs also - // allowed. - } - } - - grouping ExternalEUtranCellFDDGrp { - description "Represents the ExternalEUtranCellFDD IOC."; - reference "3GPP TS 28.658"; - uses ExternalEUtranGenericCellGrp; - - leaf earfcnDL { - description "The channel number for the central DL frequency."; - reference "3GPP TS 36.101"; - mandatory true; - type int32 { range "0..17999 | 46590..262143"; } - } - - leaf earfcnUL { - description "The channel number for the central UL frequency. Value 0 - means that the UL channel number is N/A for the DL-only bands."; - reference "3GPP TS 36.101"; - mandatory true; - type int32 { range "0 | 18000..35999 | 46590..262143"; } - } - } - - grouping ExternalEUtranCellTDDGrp { - description "Represents the ExternalEUtranCellTDD IOC."; - reference "3GPP TS 28.658"; - uses ExternalEUtranGenericCellGrp; - - leaf earfcn { - description "The frequency number for the central frequency."; - reference "3GPP TS 36.104"; - mandatory true; - type int32 { range "36000..262143"; } - } - } - - grouping ExternalEUtranCellFDDWrapper { - list ExternalEUtranCellFDD { - description "Represents the common properties of external E-UTRAN FDD - cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalEUtranCellFDDGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - grouping ExternalEUtranCellTDDWrapper { - list ExternalEUtranCellTDD { - description "Represents the common properties of external E-UTRAN cell - TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalEUtranCellTDDGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellTDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellTDDWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang deleted file mode 100755 index 531e45bed..000000000 --- a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang +++ /dev/null @@ -1,76 +0,0 @@ -module _3gpp-nr-nrm-externalgnbcucpfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcucpfunction"; - prefix "extgnbcucp3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBCUCPFunction - Information Object Class (IOC), that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBCUCPFunctionGrp { - description "Represets the ExternalGNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - } - - grouping ExternalGNBCUCPFunctionWrapper { - list ExternalGNBCUCPFunction { - description "Represents the properties, known by the management function, - of a GNBCUCPFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBCUCPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUCPFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUCPFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang deleted file mode 100755 index bcdeecbcc..000000000 --- a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang +++ /dev/null @@ -1,66 +0,0 @@ -module _3gpp-nr-nrm-externalgnbcuupfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcuupfunction"; - prefix "extgnbcuup3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBCUUPFunction - Information Object Class (IOC), that is part of the NR Network - Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBCUUPFunctionGrp { - description "Represets the ExternalGNBCUUPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - } - - grouping ExternalGNBCUUPFunctionWrapper { - list ExternalGNBCUUPFunction { - description "Represents the properties, known by the management function, - of a GNBCUUPFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBCUUPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUUPFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUUPFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang deleted file mode 100755 index 844933025..000000000 --- a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang +++ /dev/null @@ -1,76 +0,0 @@ -module _3gpp-nr-nrm-externalgnbdufunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; - prefix "extgnbdu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBDUFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBDUFunctionGrp { - description "Represets the ExternalGNBDUFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - } - - grouping ExternalGNBDUFunctionWrapper { - list ExternalGNBDUFunction { - description "Represents the properties, known by the management function, - of a GNBDUFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBDUFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBDUFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBDUFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang deleted file mode 100755 index 78e4671f0..000000000 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ /dev/null @@ -1,85 +0,0 @@ -module _3gpp-nr-nrm-externalnrcellcu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalnrcellcu"; - prefix "extnrcellcu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalNRCellCU Information - Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalNRCellCUGrp { - description "Represents the ExternalNRCellCU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - reference "NCI in 3GPP TS 38.300"; - mandatory true; - type int32 {range "0..16383"; } - } - - leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..1007"; } - } - - list pLMNIdList { - description "Defines which PLMNs that are assumed to be served by the - NR cell in another gNB CU-CP. This list is either updated by the - managed element itself (e.g. due to ANR, signalling over Xn, etc.) or - by consumer over the standard interface."; - key "mcc mnc"; - min-elements 1; - max-elements 12; - uses types3gpp:PLMNId; - } - - leaf nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - grouping ExternalNRCellCUWrapper { - list ExternalNRCellCU { - description "Represents the properties of an NRCellCU controlled by - another Management Service Provider."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNRCellCUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalNRCellCUWrapper; - } - - augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalNRCellCUWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang deleted file mode 100755 index 96f51bd22..000000000 --- a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang +++ /dev/null @@ -1,52 +0,0 @@ -module _3gpp-nr-nrm-externalservinggwfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalservinggwfunction"; - prefix "extservgw3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalServingGWFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalServingGWFunctionGrp { - description "Represents the ExternalServingGWFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - } - - grouping ExternalServingGWFunctionWrapper { - list ExternalServingGWFunction { - description "Represents the properties, known by the management - function, of a ServingGWFunction managed by another management - function."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalServingGWFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalServingGWFunctionWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalServingGWFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang deleted file mode 100755 index 1175c8c60..000000000 --- a/yang-models/_3gpp-nr-nrm-externalupffunction.yang +++ /dev/null @@ -1,51 +0,0 @@ -module _3gpp-nr-nrm-externalupffunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalupffunction"; - prefix "extupf3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalUPFFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalUPFFunctionGrp { - description "Represents the ExternalUPFFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - } - - grouping ExternalUPFFunctionWrapper { - list ExternalUPFFunction { - description "Represents the properties, known by the management - function, of a UPFFunction managed by another management - function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalUPFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalUPFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalUPFFunctionWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang deleted file mode 100755 index 8e8d2adf3..000000000 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ /dev/null @@ -1,132 +0,0 @@ -module _3gpp-nr-nrm-gnbcucpfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction"; - prefix "gnbcucp3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the GNBCUCPFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-10-02 { reference CR-0384 ; } - revision 2020-08-06 { reference "CR-0333"; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-06-03 { reference "CR-0286"; } - revision 2020-05-08 { reference S5-203316 ; } - revision 2020-04-28 { reference "0260"; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - feature DESManagementFunction { - description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature"; - } - - feature DANRManagementFunction { - description "Classs representing D-SON function of ANR Management feature"; - } - - - feature DMROFunction { - description "Classs representing D-SON function of MRO feature"; - } - - grouping GNBCUCPFunctionGrp { - description "Represents the GNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBId { - description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - leaf gNBCUName { - description "Identifies the Central Unit of an gNB."; - reference "3GPP TS 38.473"; - mandatory true; - type string { length "1..150"; } - } - - list pLMNId { - description "The PLMN identifier to be used as part of the global RAN - node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - - leaf-list x2BlackList { - type string; - description "List of nodes to which X2 connections are prohibited."; - } - - leaf-list x2WhiteList { - type string; - description "List of nodes to which X2 connections are enforced."; - } - - leaf-list xnBlackList { - type string; - description "List of nodes to which Xn connections are prohibited."; - } - - leaf-list xnWhiteList { - type string; - description "List of nodes to which X2 connections are enforced."; - } - - leaf-list xnHOBlackList { - type string; - description "List of nodes to which handovers over Xn are prohibited."; - } - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; - } - - leaf-list x2HOBlackList { - type string; - description "List of nodes to which handovers over X2 are prohibited."; - } - leaf dynamic5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBCUCPFunction { - description "Represents the logical function CU-CP of gNB and en-gNB."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses GNBCUCPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang deleted file mode 100755 index 944da20a7..000000000 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ /dev/null @@ -1,172 +0,0 @@ -module _3gpp-nr-nrm-gnbcuupfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcuupfunction"; - prefix "gnbcuup3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the GNBCUUPFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-08-06 { reference "CR-0333"; } - revision 2020-08-03 { reference "CR-0321"; } - revision 2020-06-03 { reference "CR-0286"; } - revision 2020-05-28 { reference "CR-0318"; } - revision 2020-03-12 { reference "SP-200233 S5-201547"; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-21 { reference "Initial revision"; } - - grouping TAIGrp { - description "Tracking Area Identity"; - - list pLMNId { - key "mcc mnc"; - description "PLMN IDs for the Tracking area"; - uses types3gpp:PLMNId; - } - - leaf nRTAC { - type int64; - description "Identity of the common Tracking Area Code for the PLMNs - allowedValues: - a) It is the TAC or Extended-TAC. - b) A cell can only broadcast one TAC or Extended-TAC. - See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). - c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and - Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. - d) For a 5G SA (Stand Alone), it has a non-null value."; - } - } - - grouping BackhaulAddressGrp { - description "Indicates the backhauladdress of gNB."; - - leaf gNBId { - type uint32 { - range "0..4294967295"; - } - description "It identifies a gNB within a PLMN. The gNB ID is part of - the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. - Global gNB ID in subclause 9.3.1.6 of TS 38.413"; - } - - list tAI { - key nRTAC; - min-elements 1; - max-elements 1; - description "Tracking Area Identity"; - reference "subclause 9.3.3.11 in TS 38.413"; - uses TAIGrp; - } - } - - grouping MappingSetIDBackhaulAddressGrp { - description "Mapping relationship between setID and backhaulAddress of gNB"; - - leaf idx { - type uint32 ; - description "ID value"; - } - - leaf setID { - type uint32; - mandatory true; - description "Indicates the setID of gNB."; - reference "Subclause 7.4.1.6 in TS 38.211"; - } - - list backhaulAddress { - key gNBId; - min-elements 1; - max-elements 1; - description "Indicates the backhauladdress of gNB."; - uses BackhaulAddressGrp; - } - } - grouping GNBCUUPFunctionGrp { - description "Represents the GNBCUUPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBCUUPId { - type uint64 { - range "0..68719476735" ; - } - config false; - mandatory true; - description "Identifies the gNB-CU-UP at least within a gNB-CU-CP"; - reference "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463"; - } - - leaf gNBId { - type uint32; - mandatory true; - description "Identifies a gNB within a PLMN. The gNB ID is part of the - NR Cell Identifier (NCI) of the gNB cells. "; - reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. - Global gNB ID in subclause 9.3.1.6 of TS 38.413"; - } - - leaf gNBIdLength { - mandatory true; - type int32 { range "22..32"; } - description "Indicates the number of bits for encoding the gNB Id."; - reference "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the GNBCUUPFunction and - which S-NSSAIs can be supported by the GNBCUUPFunction for - corresponding PLMN in case of network slicing feature is supported"; - key "mcc mnc sd sst"; - uses types5g3gpp:PLMNInfo; - } - - list mappingSetIDBackhaulAddressList { - key idx; - description "Specifies a list of mappingSetIDBackhaulAddress used to - retrieve the backhaul address of the victim set. - Must be present if Remote Interference Management function is - supported."; - uses MappingSetIDBackhaulAddressGrp; - } - - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUUPFunction - supports (is associated to)."; - } - leaf dynamic5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUUPFunction - supports (is associated to)."; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBCUUPFunction { - key id; - description "Represents the logical function CU-UP of gNB or en-gNB."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - container attributes { - uses GNBCUUPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang deleted file mode 100755 index d317ae74e..000000000 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ /dev/null @@ -1,93 +0,0 @@ -module _3gpp-nr-nrm-gnbdufunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction"; - prefix "gnbdu3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the GNBDUFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-10-02 { reference CR-0384 ; } - revision 2020-03-12 { reference "SP-200233 S5-201547" ; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-21 { - description "Initial revision."; - } - - feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization -feature"; - } - - grouping GNBDUFunctionGrp { - description "Represents the GNBDUFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBId { - type int64 { range "0..4294967295"; } - config false; - mandatory true; - description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - leaf gNBIdLength { - type int32 { range "22..32"; } - mandatory true; - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - leaf gNBDUId { - type int64 { range "0..68719476735"; } - mandatory true; - description "Uniquely identifies the DU at least within a gNB."; - reference "3GPP TS 38.473"; - } - - leaf gNBDUName { - type string { length "1..150"; } - description "Identifies the Distributed Unit of an NR node"; - reference "3GPP TS 38.473"; - } - - leaf aggressorSetID { - type uint32 { range "0..4194304"; } - config false; - description "Indicates the associated aggressor gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; - } - leaf victimSetID { - type uint32 { range "0..4194304"; } - config false; - description "Indicates the associated victim gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBDUFunction { - key id; - description "Represents the logical function DU of gNB or en-gNB."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - container attributes { - uses GNBDUFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellcu.yang b/yang-models/_3gpp-nr-nrm-nrcellcu.yang deleted file mode 100755 index 3aa5db4d5..000000000 --- a/yang-models/_3gpp-nr-nrm-nrcellcu.yang +++ /dev/null @@ -1,93 +0,0 @@ -module _3gpp-nr-nrm-nrcellcu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu"; - prefix "nrcellcu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the NRCellCU Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-11-25 { reference CR-0386 ; } - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-10-02 { reference CR-0384 ; } - revision 2020-05-08 { reference S5-203316 ; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { reference "Initial revision"; } - - feature DPCIConfigurationFunction { - description "Class representing Distributed SON or Domain-Centralized SON - function of PCI configuration feature"; - } - - feature DESManagementFunction { - description "Class representing Distributed SON or Domain-Centralized SON - Energy Saving feature"; - } - - feature DMROFunction { - description "Class representing D-SON function of MRO feature"; - } - - feature CESManagementFunction { - description "Class representing Cross Domain-Centralized SON Energy Saving - feature"; - } - - grouping NRCellCUGrp { - description "Represents the NRCellCU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - mandatory true; - type int32 { range "0..16383"; } - } - - list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It defines - which PLMNs that can be served by the NR cell, and which S-NSSAIs that - can be supported by the NR cell for corresponding PLMN in case of - network slicing feature is supported."; - // Note: Whether the attribute pLMNId in the pLMNInfo can be writable - // depends on the implementation. - key "mcc mnc sd sst"; - min-elements 1; - uses types5g3gpp:PLMNInfo; - } - - leaf nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - config false; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - - list NRCellCU { - description "Represents the information required by CU that is - responsible for the management of inter-cell mobility and neighbour - relations via ANR."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellCUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang deleted file mode 100755 index f81da5001..000000000 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ /dev/null @@ -1,226 +0,0 @@ -module _3gpp-nr-nrm-nrcelldu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu"; - prefix "nrcelldu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the NRCellDU Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-11-25 { reference CR-0386 ; } - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-10-02 { reference CR-0384 ; } - revision 2020-05-08 { reference S5-203316 ; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-09-03 { reference "Initial revision"; } - - feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization - feature"; - } - - feature CPCIConfigurationFunction { - description "Class representing Cross Domain-Centralized SON function of - PCI configuration feature"; - } - - grouping NRCellDUGrp { - description "Represents the NRCellDU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; - reference "NCI in 3GPP TS 38.300"; - mandatory true; - type int32 { range "0..16383"; } - } - - leaf operationalState { - description "Operational state of the NRCellDU instance. Indicates - whether the resource is installed and partially or fully operable - (ENABLED) or the resource is not installed or not operable - (DISABLED)."; - config false; - type types3gpp:OperationalState; - } - - leaf administrativeState { - description "Administrative state of the NRCellDU. Indicates the - permission to use or prohibition against using the cell, imposed - through the OAM services."; - type types3gpp:AdministrativeState; - default LOCKED; - } - - leaf cellState { - description "Cell state of the NRCellDU instance. Indicates whether the - cell is not currently in use (IDLE), or currently in use but not - configured to carry traffic (INACTIVE), or currently in use and is - configured to carry traffic (ACTIVE)."; - config false; - type types3gpp:CellState; - } - - list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the NR cell, and which - S-NSSAIs that can be supported by the NR cell for corresponding PLMN - in case of network slicing feature is supported. The plMNId of the - first entry of the list is the PLMNId used to construct the nCGI for - the NR cell."; - key "mcc mnc sd sst"; - min-elements 1; - ordered-by user; - uses types5g3gpp:PLMNInfo; - } - - leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..1007"; } - } - - leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; - reference "3GPP TS 23.003, 3GPP TS 38.473"; - type types3gpp:Tac; - } - - leaf arfcnDL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - downlink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32; - } - - leaf arfcnUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - uplink."; - reference "3GPP TS 38.104"; - type int32; - } - - leaf arfcnSUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - supplementary uplink."; - reference "3GPP TS 38.104"; - type int32; - } - - leaf bSChannelBwDL { - description "Base station channel bandwidth for downlink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } - - leaf bSChannelBwUL { - description "Base station channel bandwidth for uplink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } - - leaf bSChannelBwSUL { - description "Base station channel bandwidth for supplementary uplink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } - - leaf ssbFrequency { - description "Indicates cell defining SSB frequency domain position. - Frequency (in terms of NR-ARFCN) of the cell defining SSB transmission. - The frequency identifies the position of resource element RE=#0 - (subcarrier #0) of resource block RB#10 of the SS block. The frequency - must be positioned on the NR global frequency raster, as defined in - 3GPP TS 38.101-1, and within bSChannelBwDL."; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf ssbPeriodicity { - description "Indicates cell defined SSB periodicity. The SSB periodicity - is used for the rate matching purpose."; - mandatory true; - type int32 { range "5 | 10 | 20 | 40 | 80 | 160"; } - units "subframes (ms)"; - } - - leaf ssbSubCarrierSpacing { - description "Subcarrier spacing of SSB. Only the values 15 kHz or 30 kHz - (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable."; - reference "3GPP TS 38.211"; - mandatory true; - type int32 { range "15 | 30 | 120 | 240"; } - units kHz; - } - - leaf ssbOffset { - description "Indicates cell defining SSB time domain position. Defined - as the offset of the measurement window, in which to receive SS/PBCH - blocks, where allowed values depend on the ssbPeriodicity - (ssbOffset < ssbPeriodicity)."; - mandatory true; - type int32 { range "0..159"; } - units "subframes (ms)"; - } - - leaf ssbDuration { - description "Duration of the measurement window in which to receive - SS/PBCH blocks."; - reference "3GPP TS 38.213"; - mandatory true; - type int32 { range "1..5"; } - units "subframes (ms)"; - } - - leaf-list nRSectorCarrierRef { - description "Reference to corresponding NRSectorCarrier instance."; - min-elements 1; - type types3gpp:DistinguishedName; - } - - leaf-list bWPRef { - description "Reference to corresponding BWP instance."; - type types3gpp:DistinguishedName; - } - - leaf-list nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list NRCellDU { - description "Represents the information of a cell known by DU."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellDUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang deleted file mode 100755 index 6e2a77b91..000000000 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ /dev/null @@ -1,144 +0,0 @@ -module _3gpp-nr-nrm-nrcellrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellrelation"; - prefix "nrcellrel3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRCellRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2021-01-25 { reference CR-0454 ; } - revision 2020-06-03 { reference S5-202333 ; } - revision 2020-04-23 { reference CR0281 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-30 { - description "Initial revision"; - } - - - typedef EnergySavingCoverage { - type enumeration { - enum FULL; - enum NO; - enum PARTIAL; - } - } - - grouping NRCellRelationGrp { - description "Represents the NRCellRelation IOC."; - reference "3GPP TS 28.541"; - - leaf nRTCI { - description "Target NR Cell Identifier. It consists of NR Cell - Identifier (NCI) and Physical Cell Identifier of the target NR cell - (nRPCI)."; - type uint64; - } - - container cellIndividualOffset { - description "A set of offset values for the neighbour cell. Used when - UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, - sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and - sinrOffsetCSI-RS."; - reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; - - leaf rsrpOffsetSsb { - description "Offset value of rsrpOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetSsb{ - description "Offset value of rsrqOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetSsb { - description "Offset value of sinrOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrpOffsetCsiRs{ - description "Offset value of rsrpOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetCsiRs { - description "Offset value of rsrqOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetCsiRs { - description "Offset value of sinrOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - } - - leaf nRFreqRelationRef { - description "Reference to a corresponding NRFreqRelation instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - - leaf adjacentNRCellRef { - description "Reference to an adjacent NR cell (NRCellCU or - ExternalNRCellCU)."; - mandatory true; - type types3gpp:DistinguishedName; - } - - leaf isRemoveAllowed { - type boolean; - default true; - description "True if the ANR function in the node is allowed to remove this relation."; - } - - leaf isHOAllowed { - type boolean; - default true; - description "True if handovers are allowed over this relation."; - } - - leaf isESCoveredBy { - description "Indicates whether the adjacent cell - provides no, partial or full coverage for the parent cell - instance. Adjacent cells with this attribute equal to FULL are - recommended to be considered as candidate cells to take over the - coverage when the original cell is about to be changed to energy - saving state. All adjacent cells with this property equal - to PARTIAL are recommended to be considered as entirety of candidate - cells to take over the coverage when the original cell is about to be - changed to energy saving state."; - type EnergySavingCoverage; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list NRCellRelation { - description "Represents a neighbour cell relation from a source cell - to a target cell, where the target cell is an NRCellCU or - ExternalNRCellCU instance."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang deleted file mode 100755 index 3d25d85d0..000000000 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ /dev/null @@ -1,245 +0,0 @@ -module _3gpp-nr-nrm-nrfreqrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfreqrelation"; - prefix "nrfreqrel3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRFreqRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-04-23 { reference CR0281 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRFreqRelationGrp { - description "Represents the NRFreqRelation IOC."; - reference "3GPP TS 28.541"; - - container offsetMO { - description "A set of offset values applicable to all measured cells - with reference signal(s) indicated in corresponding MeasObjectNR. It - is used to indicate a cell, beam or measurement object specific offset - to be applied when evaluating candidates for cell re-selection or when - evaluating triggering conditions for measurement reporting. It is - defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB, - rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; - reference "offsetMO in MeasObjectNR in 3GPP TS 38.331"; - - leaf rsrpOffsetSsb { - description "Offset value of rsrpOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetSsb { - description "Offset value of rsrqOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetSsb { - description "Offset value of sinrOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrpOffsetCsiRs { - description "Offset value of rsrpOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetCsiRs { - description "Offset value of rsrqOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetCsiRs { - description "Offset value of sinrOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - } - - leaf-list blackListEntry { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in NR measurements."; - reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf-list blackListEntryIdleMode { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in SIB4 and SIB5."; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf cellReselectionPriority { - description "The absolute priority of the carrier frequency used by the - cell reselection procedure. Value 0 means lowest priority. The value - must not already used by other RAT, i.e. equal priorities between RATs - are not supported. The UE behaviour when no value is entered is - specified in subclause 5.2.4.1 of 3GPP TS 38.304."; - reference "CellReselectionPriority in 3GPP TS 38.331, priority in - 3GPP TS 38.304"; - type uint32; - default 0; - } - - leaf cellReselectionSubPriority { - description "Indicates a fractional value to be added to the value of - cellReselectionPriority to obtain the absolute priority of the - concerned carrier frequency for E-UTRA and NR."; - reference "3GPP TS 38.331"; - type uint8 { range "2 | 4 | 6 | 8"; } - units "0.1"; - } - - leaf pMax { - description "Used for calculation of the parameter Pcompensation - (defined in 3GPP TS 38.304), at cell reselection to a cell."; - reference "PEMAX in 3GPP TS 38.101-1"; - mandatory false; - type int32 { range "-30..33"; } - units dBm; - } - - leaf qOffsetFreq { - description "The frequency specific offset applied when evaluating - candidates for cell reselection."; - mandatory false; - type types3gpp:QOffsetRange; - default 0; - } - - leaf qQualMin { - description "Indicates the minimum required quality level in the cell. - Value 0 means that it is not sent and UE applies in such case the - (default) value of negative infinity for Qqualmin. Sent in SIB3 or - SIB5."; - reference "3GPP TS 38.304"; - type int32 { range "-34..-3 | 0"; } - units dB; - default 0; - } - - leaf qRxLevMin { - description "Indicates the required minimum received Reference Symbol - Received Power (RSRP) level in the NR frequency for cell reselection. - Broadcast in SIB3 or SIB5, depending on whether the related frequency - is intra- or inter-frequency. Resolution is 2."; - reference "3GPP TS 38.304"; - mandatory true; - type int32 { range "-140..-44"; } - units dBm; - } - - leaf threshXHighP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, HighP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXHighQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, HighQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..31"; } - units dB; - } - - leaf threshXLowP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, LowP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXLowQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..31"; } - units dB; - } - - leaf tReselectionNR { - description "Cell reselection timer for NR."; - reference "TreselectionRAT for NR in 3GPP TS 38.331"; - mandatory true; - type int32 { range "0..7"; } - units s; - } - - leaf tReselectionNRSfHigh { - description "The attribute tReselectionNr (parameter TreselectionNR in - 3GPP TS 38.304) is multiplied with this scaling factor if the UE is - in high mobility state."; - reference "Speed dependent ScalingFactor for TreselectionNR for high - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf tReselectionNRSfMedium { - description "The attribute tReselectionNr (parameter TreselectionNR in - 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - medium mobility state."; - reference "Speed dependent ScalingFactor for TreselectionNR for medium - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf nRFrequencyRef { - description "Reference to a corresponding NRFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list NRFreqRelation { - description "Together with the target NRFrequency, it represents the - frequency properties applicable to the referencing NRFreqRelation."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFreqRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang deleted file mode 100755 index 77c905ead..000000000 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ /dev/null @@ -1,71 +0,0 @@ -module _3gpp-nr-nrm-nrfrequency { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; - prefix "nrfreq3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRFrequency Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRFrequencyGrp { - description "Represents the NRFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf absoluteFrequencySSB { - description "The absolute frequency applicable for a downlink NR carrier - frequency associated with the SSB, in terms of NR-ARFCN."; - mandatory true; - type uint32 { range "0.. 3279165"; } - } - - leaf sSBSubCarrierSpacing { - description "Sub-carrier spacing of the SSB."; - mandatory true; - type uint8 { range "15 | 30 | 60 | 120"; } - units "kHz"; - } - - leaf-list multiFrequencyBandListNR { - description "List of additional frequency bands the frequency belongs to. - The list is automatically set by the gNB."; - config false; - min-elements 0; - type uint16 { range "1..256"; } - } - } - - grouping NRFrequencyWrapper { - list NRFrequency { - description "Represents certain NR frequency properties."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFrequencyGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses NRFrequencyWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses NRFrequencyWrapper; - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang deleted file mode 100755 index 0e0bfc559..000000000 --- a/yang-models/_3gpp-nr-nrm-nrnetwork.yang +++ /dev/null @@ -1,39 +0,0 @@ -module _3gpp-nr-nrm-nrnetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; - prefix "nrnet3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRNetwork Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderNRNetwork { - description "Classes representing external entities like NRFrequency, - ExternalGNBCUCPFunction, ExternalGNBDUFunction - are contained under a NRNetwork list/class."; - } - - grouping NRNetworkGrp { - description "Represents the NRNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; - } - - list NRNetwork { - description "A subnetwork containing gNB external NR entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRNetworkGrp; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang deleted file mode 100755 index 2f55cf1db..000000000 --- a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang +++ /dev/null @@ -1,119 +0,0 @@ -module _3gpp-nr-nrm-nrsectorcarrier { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier"; - prefix "nrsectcarr3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the NRSectorCarrier Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-05-28 { reference CR-0316 ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRSectorCarrierGrp { - description "Represents the NRSectorCarrier IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf txDirection { - description "Indicates if the transmission direction is downlink, - uplink, or both downlink and uplink."; - mandatory true; - type types3gpp:TxDirection; - } - - leaf configuredMaxTxPower { - description "Maximum transmisssion power at the antenna port for all - downlink channels, used simultaneously in a cell, added together. - Condition: The sector-carrier has a downlink and the - configuration of Tx power at antenna port reference point is supported."; - mandatory true; - type int32; - units mW; - } - - leaf configuredMaxTxEIRP { - type int64; - units dBm; - mandatory true; - description "The maximum emitted isotroptic radiated power (EIRP) in dBm - for all downlink channels, used simultaneously in a cell, added together. - Condition: the sector-carrier has a downlink and the - configuration of emitted isotropic radiated power is supported"; - } - - leaf arfcnDL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for downlink. - Condition: The sector-carrier has a downlink AND the value - differs from the referring cell's value of arfcnDL."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf arfcnUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for uplink. - Condition: The sector-carrier has an uplink AND the value - differs from the referring cell's value of arfcnUL."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf bSChannelBwDL { - description "Base station channel bandwitdth for downlink. - Condition: The sector-carrier has a downlink AND the value - differs from the referring cell's value of bSChannelBwDL."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | - 90 | 100"; } - units MHz; - } - - leaf bSChannelBwUL { - description "Base station channel bandwitdth for uplink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | - 90 | 100"; } - units MHz; - } - - leaf sectorEquipmentFunctionRef { - description "Reference to corresponding SectorEquipmentFunction - instance."; - reference "3GPP TS 23.622"; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list NRSectorCarrier { - description "Represents the resources of each transmission point - included in the cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRSectorCarrierGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang deleted file mode 100755 index 3480c753c..000000000 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ /dev/null @@ -1,122 +0,0 @@ -module _3gpp-nr-nrm-rrmpolicy { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-rrmpolicy"; - prefix "nrrrmpolicy3gpp"; - - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the RRMPolicy abstract class that - is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-11-05 { reference CR-0412 ; } - revision 2020-04-28 { reference "CR0285"; } - revision 2020-02-14 { reference "Initial revision"; } - - grouping rRMPolicyMemberGrp { - description "This data type represents an RRM Policy member that will be - part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its - pLMNId and sNSSAI (S-NSSAI). - The members in a rRMPolicyMemberList are assigned a specific amount of - RRM resources based on settings in RRMPolicy."; - - uses types5g3gpp:PLMNInfo; - } - - typedef CyclicPrefix { - type enumeration { - enum NORMAL; - enum EXTENDED; - } - } - - grouping RRMPolicy_Grp { - description "This IOC represents the properties of an abstract RRMPolicy - . The RRMPolicy_ IOC needs to be subclassed to be instantiated. - It defines two attributes apart from those inherited from Top IOC, the - resourceType attribute defines type of resource (PRB, RRC - connected users, DRB usage etc.) and the rRMPolicyMemberList attribute - defines the RRMPolicyMember(s)that are subject to this policy. - An RRM resource (defined in resourceType - attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, - GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one - realization of a RRMPolicy_ IOC. This RRM framework allows adding new - policies, both standardized (like RRMPolicyRatio) or as vendor specific, - by inheriting from the abstract RRMPolicy_ IOC."; - - leaf resourceType { - description "The resourceType attribute defines type of resource (PRB, - RRC connected users, DRB usage etc.) that is subject to policy. - Valid values are 'PRB', 'RRC' or 'DRB'"; - mandatory true; - type string; - } - - list rRMPolicyMemberList{ - description "It represents the list of RRMPolicyMember (s) that the - managed object is supporting. A RRMPolicyMember <> include - the PLMNId <> and S-NSSAI <>." ; - min-elements 1; - key "mcc mnc sd sst"; - uses rRMPolicyMemberGrp; - } - } // grouping - - - grouping RRMPolicyRatioGrp { - description "Represents the RRMPolicyRatio concrete IOC."; - - uses RRMPolicy_Grp; // Inherits RRMPolicy_ - - - leaf rRMPolicyMaxRatio { - description " This attribute specifies the maximum percentage of radio - resource that can be used by the associated rRMPolicyMemberList. - The maximum percentage of radio resource include at least one of - the shared resources, prioritized resources and dedicated resources. - The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) - name-contained by same ManagedEntity can be greater that 100."; - default 100; - type uint8 { range "0..100"; } - units percent; - } - - leaf rRMPolicyMinRatio { - description " This attribute specifies the minimum percentage of radio - resources that can be used by the associated rRMPolicyMemberList. - The minimum percentage of radio resources including at least one of - prioritized resources and dedicated resources. The sum of the - rRMPolicyMinRatio values assigned to all RRM PolicyRatio(s) - name-contained by same ManagedEntity shall be less or equal 100."; - default 0; - type uint8 { range "0..100"; } - units percent; - } - - leaf rRMPolicyDedicatedRatio { - description " This attribute specifies the percentage of radio resource - that dedicatedly used by the associated rRMPolicyMemberList. The sum of - the rRMPolicyDeidctaedRatio values assigned to all RRMPolicyRatio(s) - name-contained by same ManagedEntity shall be less or equal 100. "; - default 0; - type uint8 { range "0..100"; } - units percent; - } - } - - list RRMPolicyRatio { - description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, - see the inheritance in Figure 4.2.1.2-1. This RRM framework allows - adding new policies, both standardized (like RRMPolicyRatio) or as - vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses RRMPolicyRatioGrp; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslice.yang b/yang-models/_3gpp-ns-nrm-networkslice.yang deleted file mode 100755 index d7b0d5044..000000000 --- a/yang-models/_3gpp-ns-nrm-networkslice.yang +++ /dev/null @@ -1,74 +0,0 @@ -module _3gpp-ns-nrm-networkslice { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-ns-nrm-networkslice; - prefix ns3gpp; - - import _3gpp-ns-nrm-networkslicesubnet { prefix nss3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - include _3gpp-ns-nrm-serviceprofile; - - organization "3GPP SA5"; - contact - "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "A network slice instance in a 5G network."; - reference "3GPP TS 28.541 - Management and orchestration; - 5G Network Resource Model (NRM); - Information model definitions for network slice NRM (chapter 6) - "; - - revision 2020-02-19 { - description "Introduction of YANG definitions for network slice NRM"; - reference "CR-0458"; - } - - grouping NetworkSliceGrp { - - uses subnet3gpp:SubNetworkGrp; // Inherits from SubNetwork - - leaf operationalState { - description "The operational state of the network slice instance. - It describes whether or not the resource is physically installed - and working."; - config false; - type types3gpp:OperationalState; - } - - leaf administrativeState { - description "The administrative state of the network slice instance. - It describes the permission to use or prohibition against - using the instance, imposed through the OAM services."; - type types3gpp:AdministrativeState; - } - - list serviceProfileList { - description "A list of service profiles supported by the network - slice instance."; - key serviceProfileId; - uses ServiceProfileGrp; - } - - leaf networkSliceSubnetRef { - type leafref { - path /nss3gpp:NetworkSliceSubnet/nss3gpp:id; - } - description "The NetworkSliceSubnet that the NetworkSlice is - associated with."; - } - } - - list NetworkSlice { - description "Represents the properties of a network slice instance in - a 5G network."; - key id; - - container attributes { - uses NetworkSliceGrp; - } - - uses top3gpp:Top_Grp; - } -} diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang deleted file mode 100755 index be7f4c6f7..000000000 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ /dev/null @@ -1,206 +0,0 @@ -module _3gpp-ns-nrm-networkslicesubnet { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-ns-nrm-networkslicesubnet; - prefix nss3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - include _3gpp-ns-nrm-sliceprofile; - - organization "3GPP SA5"; - contact - "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the properties of a network slice subnet - instance in a 5G network."; - reference "3GPP TS 28.541 - Management and orchestration; - 5G Network Resource Model (NRM); - Information model definitions for network slice NRM (chapter 6) - "; - - revision 2020-02-19 { - description "Introduction of YANG definitions for network slice NRM"; - reference "CR-0458"; - } - - revision 2019-06-07 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - feature MeasurementsUnderNetworkSliceSubnet { - description "The MeasurementSubtree shall be contained under - NetworkSliceSubnet."; - } - - typedef ETSI-GS-NFV-Identifier { - type string; - reference "ETSI GS NFV-IFA 013"; - } - - grouping EPTransportGrp { - leaf ipAddress { - description "This parameter specifies the IP address assigned to a - logical transport interface/endpoint. It can be an IPv4 address - (See RFC 791) or an IPv6 address (See RFC 2373)."; - mandatory true; - type string; - } - leaf logicInterfaceId { - description "This parameter specifies the identify of a logical - transport interface. It could be VLAN ID (See IEEE 802.1Q), - MPLS Tag or Segment ID."; - mandatory true; - type string; - } - leaf-list nextHopInfo { - description "This parameter is used to identify ingress transport - node. Each node can be identified by any of combination of IP - address of next-hop router of transport network, system name, - port name, IP management address of transport nodes."; - type string; - } - leaf-list qosProfile { - description "This parameter specifies reference to QoS Profile for - a logical transport interface. A QoS profile includes a set of - parameters which are locally provisioned on both sides of a logical - transport interface."; - type string; - } - leaf-list epApplicationRef { - description "This parameter specifies a list of application level - EPs associated with the logical transport interface."; - min-elements 1; - type types3gpp:DistinguishedName; - } - uses top3gpp:Top_Grp; - } - - grouping NsInfoGrp { - description "The NsInfo of the NS instance corresponding to the network - slice subnet instance."; - //suport condition: It shall be supported if the NSS instance is - //realized in the virtualized environment. - // Otherwise this attribute shall be absent. - reference "ETSI GS NFV-IFA 013 clause 8.3.3.2.2, which can be found at - https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/013 - /03.04.01_60/gs_NFV-IFA013v030401p.pdf page 123-124"; - leaf nSInstanceId { - description "Uniquely identifies the NS instance."; - config false; - type ETSI-GS-NFV-Identifier; - } - leaf nsName { - description "Human readable name of the NS instance."; - type string; - config false; - } - leaf description { - description "Human readable description of the NS instance."; - config false; - type string; - } - } - - grouping NetworkSliceSubnetGrp { - - uses subnet3gpp:SubNetworkGrp; - uses EPTransportGrp; - - leaf operationalState { - description "The operational state of the network slice instance. - It describes whether or not the resource is physically installed - and working."; - mandatory true; - config false; - type types3gpp:OperationalState; - } - - leaf administrativeState { - description "The administrative state of the network slice instance. - It describes the permission to use or prohibition against - using the instance, imposed through the OAM services."; - mandatory true; - type types3gpp:AdministrativeState; - } - - list nsInfo { - description "This list represents the properties of network service - information corresponding to the network slice subnet instance."; - reference "ETSI GS NFV-IFA 013 clause 8.3.3.2.2"; - config false; - key nSInstanceId; - max-elements 1; - uses NsInfoGrp; - } - - list sliceProfileList { - description "List of SliceProfiles supported by the network slice - subnet instance"; - key sliceProfileId; - uses SliceProfileGrp; - } - - list managedFunctionRef { - description "The managed functions that the NetworkSliceSubnet is - associated with."; - key aggregatedManagedFunction; - leaf aggregatedManagedFunction { - type instance-identifier; - } - } - - leaf-list networkSliceSubnetRef { - type leafref { - path /NetworkSliceSubnet/id; - } - description "Lists the NetworkSliceSubnet instances associated with - this NetworkSliceSubnet."; - } - } - - list NetworkSliceSubnet { - description "Represents the properties of a network slice subnet - instance in a 5G network."; - key id; - - container attributes { - - uses NetworkSliceSubnetGrp; - - leaf-list parents { - description "Reference to direct parent NetworkSliceSubnet - instances. - If NetworkSliceSubnets form a containment hierarchy this is - modeled using references between the child NetworkSliceSubnet - and the parent NetworkSliceSubnet. - This reference MUST NOT be present for the top level - NetworkSliceSubnet and MUST be present for other - NetworkSliceSubnets."; - type leafref { - path "/NetworkSliceSubnet/id"; - } - } - - leaf-list containedChildren { - description "Reference to all directly contained NetworkSliceSubnet - instances. If NetworkSliceSubnets form a containment hierarchy - this is modeled using references between the child - NetworkSliceSubnet and the parent NetworkSliceSubnet."; - type leafref { - path "/NetworkSliceSubnet/id"; - } - } - } - - uses top3gpp:Top_Grp; - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderNetworkSliceSubnet; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-perfreq.yang b/yang-models/_3gpp-ns-nrm-perfreq.yang deleted file mode 100755 index 7d0429304..000000000 --- a/yang-models/_3gpp-ns-nrm-perfreq.yang +++ /dev/null @@ -1,170 +0,0 @@ -module _3gpp-ns-nrm-perfreq { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-ns-nrm-perfreq; - prefix perf3gpp; - - organization "3GPP SA5"; - contact - "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The performance requirements for the NSI in terms of the - scenarios defined in the 3GPP TS 22.261, such as experienced data rate, - area traffic capacity (density) information of UE density."; - reference "3GPP TS 28.541 - Management and orchestration; - 5G Network Resource Model (NRM); - Information model definitions for network slice NRM (chapter 6) - "; - - revision 2020-02-19 { - description "Introduction of YANG definitions for network slice NRM"; - reference "CR-0458"; - } - - typedef data-rate { - type uint32; - units kbits/s; - } - typedef integer-percentage { - type uint8 { - range 0..100; - } - units percent; - } - typedef reliability-string { - description "Mean time between failures. - E.g. '1 day', or '3 months'"; - type string { - pattern "[0-9]+ (day|week|month|year)s?"; - } - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - typedef message-size-string { - description "Message size in bytes. - E.g. '80', or '250-2000'"; - type string { - pattern '[0-9]+(-[0-9]+)?'; - } - units bytes; - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - typedef transfer-interval-string { - description "Transfer interval time. If multiple values are given, - the first value is the application requirement, the other values are - the requirement with multiple transmission of the same information - two or three times, respectively). - E.g. '40ms', or '0ms-5ms,0ms-2.5ms,0ms-1.7ms'"; - type string { - pattern '[0-9]+(\.[0-9]+)?m?s-[0-9]+(\.[0-9]+)?m?s' + - '(,[0-9]+(\.[0-9]+)?m?s-[0-9]+(\.[0-9]+)?){0,2}'; - } - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - typedef survival-time-string { - description "Survival time in milliseconds (ms) or in multiples of - the transfer interval (x). If multiple values are given, - the first value is the application requirement, the other values are - the requirement with multiple transmission of the same information - two or three times, respectively). - E.g. '12ms', or '0x,2x'"; - type string { - pattern '[0-9]+(x|ms)(,[0-9]+(x|ms)){0,2}'; - } - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - - grouping PerfReqGrp { - //Stage2 issue: The perfReq object does not have any proper definition - // in 28.541 chapter 6. - //Stage2 issue: The text that exists on the perfReq mentions an sST - // element. There is potentially several sST elements in - // the SliceProfile/sNSSAIList which could be used as basis - // for deciding which perfReq elements are relevant. - // Operators can construct their own sST values. It is not - // clear which of the perfReq elements below would be - // relevant in such a case. Leaving all perfReq elements - // available in all use cases for now. - - // eMBB leafs, SST = 1 - leaf expDataRateDL { - description "User experienced data rate over downlink"; - //TODO: add when 'somepath/sST = 1'; - type data-rate; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - leaf expDataRateUL { - description "User experienced data rate over uplink"; - //TODO: add when 'somepath/sST = 1'; - type data-rate; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - leaf areaTrafficCapDL { - description "Area traffic capacity over downlink"; - //TODO: add when 'somepath/sST = 1'; - type data-rate; - units kbits/s/km2; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - leaf areaTrafficCapUL { - description "Area traffic capacity over uplink"; - //TODO: add when 'somepath/sST = 1'; - type data-rate; - units kbits/s/km2; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - leaf overallUserDensity { - description "Overall user density"; - //TODO: add when 'somepath/sST = 1'; - type uint32; - units users/km2; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - leaf activityFactor { - description "Percentage value of the amount of simultaneous active - UEs to the total number of UEs where active means the UEs are - exchanging data with the network."; - //TODO: add when 'somepath/sST = 1'; - type integer-percentage; - reference "3GPP TS 22.261 clause 7.1, table 7.1-1"; - } - - // uRLLC leafs, SST = 2 - leaf cSAvailabilityTarget { - description "Reliability uptime target"; - //TODO: add when 'somepath/sST = 2'; - type decimal64 { - fraction-digits 6; // E.g. 99.999999 - range 0..100; - } - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - leaf cSReliabilityMeanTime { - description "Mean time between failures"; - //TODO: add when 'somepath/sST = 2'; - type reliability-string; - } - leaf expDataRate { - description "User experienced data rate"; - //TODO: add when 'somepath/sST = 2'; - type data-rate; - reference "3GPP TS 22.104 clause 5.2-5.5"; - } - leaf msgSizeByte { - description "PDU size"; - //TODO: add when 'somepath/sST = 2'; - type message-size-string; - } - leaf transferIntervalTarget { - description "Time difference between two consecutive transfers - of application data from an application via the service interface - to 3GPP system"; - //TODO: add when 'somepath/sST = 2'; - type transfer-interval-string; - } - leaf survivalTime { - description "The time that an application consuming a communication - service may continue without an anticipated message"; - //TODO: add when 'somepath/sST = 2'; - type survival-time-string; - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-serviceprofile.yang b/yang-models/_3gpp-ns-nrm-serviceprofile.yang deleted file mode 100755 index f83dde353..000000000 --- a/yang-models/_3gpp-ns-nrm-serviceprofile.yang +++ /dev/null @@ -1,569 +0,0 @@ -submodule _3gpp-ns-nrm-serviceprofile { - yang-version 1.1; - belongs-to _3gpp-ns-nrm-networkslice { prefix ns3gpp; } - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - - organization "3GPP SA5"; - contact - "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "A network slice instance in a 5G network."; - reference "3GPP TS 28.541 - Management and orchestration; - 5G Network Resource Model (NRM); - Information model definitions for network slice NRM (chapter 6) - "; - - revision 2020-02-19 { - description "Introduction of YANG definitions for network slice NRM"; - reference "CR-0458"; - } - - revision 2019-06-23 { - description "Initial revision"; - reference "3GPP TS 28.541 V15.X.XX"; - } - - typedef availability-percentage { - description " - Percentage value of the amount of time the end-to-end communication - service is delivered according to an agreed QoS, divided by the amount - of time the system is expected to deliver the end-to-end service - according to the specification in a specific area."; - reference "3GPP TS 22.261 3.1"; - type decimal64 { - fraction-digits 4; // E.g. 99.9999 - range 0..100; - } - } - typedef Category-enum { - type enumeration { - enum character; - enum scalability; - } - } - typedef Tagging-enum { - type enumeration { - enum performance; - enum function; - enum operation; - } - } - typedef Exposure-enum { - type enumeration { - enum API; - enum KPI; - } - } - typedef Support-enum { - type enumeration { - enum NOT_SUPPORTED; - enum SUPPORTED; - } - } - grouping ServAttrComGrp { - leaf category { - description "This attribute specifies the category of a service - requirement/attribute of GST"; - type Category-enum; - } - leaf-list tagging { - description "This attribute specifies the tagging of a service - requirement/attribute of GST in character category"; - when "../category = 'character'"; - type Tagging-enum; - } - leaf exposure { - description "This attribute specifies exposure mode of a service - requirement/attribute of GST"; - type Exposure-enum; - } - } - typedef DeterminCommAvailability { - type Support-enum; - } - grouping DLThptGrp { - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf guaThpt { - description "This attribute describes the guaranteed data rate."; - type uint64; - units kbits/s; - } - leaf maxThpt { - description "This attribute describes the maximum data rate."; - type uint64; - units kbits/s; - } - } - typedef V2XMode-enum { - type enumeration { - enum NOT_SUPPORTED; - enum SUPPORTED_BY_NR; - } - } - - grouping ServiceProfileGrp { - - leaf serviceProfileId { - description "Service profile identifier."; - type types3gpp:DistinguishedName; - } - - list sNSSAIList { - description "The S-NSSAI list to be supported by the new NSI to be - created or the existing NSI to be re-used."; - min-elements 1; - key idx; - unique "sst sd"; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses types5g3gpp:SNssai; - } - - list pLMNIdList { - description "List of PLMN IDs."; - min-elements 1; - key "mcc mnc"; - ordered-by user; - uses types3gpp:PLMNId; - } - - leaf maxNumberofUEs { - description "The maximum number of UEs that may simultaneously - access the network slice instance."; - mandatory true; - type uint64; - } - - leaf-list coverageArea { - min-elements 1; - description "A list of TrackingAreas where the NSI can be selected."; - type types3gpp:Tac; - } - - leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate utilization - performance of the end-to-end network slice instance."; - reference "3GPP TS 28.554 clause 6.3.1"; - mandatory true; - type uint16; - units milliseconds; - } - - leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice - instance."; - reference "3GPP TS 22.261 clause 6.2.1"; - type types3gpp:UeMobilityLevel; - } - - leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice instance may be shared with another network slice - instance(s)."; - type types3gpp:ResourceSharingLevel; - } - - //Stage2 issue: The sNSSAIList above specifies one or potentially - // several sST objects for the service profile. - // How do they relate? - leaf sST { - description "Specifies the slice/service type. See 3GPP TS 23.501 - for defined values."; - mandatory true; - type uint32; - reference "3GPP TS 23.501 5.15.2.2"; - } - - leaf availability { - description "The availability requirement for a network slice - instance, expressed as a percentage."; - type availability-percentage; - } - - list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not - chasing a high system performance."; - reference "TS 22.104 clause 4.3"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the - vertical services that are not chasing a high system performance."; - type Support-enum; - } - } - list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, - // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the - type of traffic with periodic transmissions."; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML - // uses DeterminCommAvailability - config false; - type DeterminCommAvailability; - } - leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML - // says "string". - type string; - } - } - list dLThptPerSlice { - description "This attribute defines achievable data rate of the - network slice in downlink that is available ubiquitously across - the coverage area of the slice"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses DLThptGrp; - } - list dLThptPerUE { - description "This attribute defines data rate supported by the network - slice per UE"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses DLThptGrp; - } - list uLThptPerSlic { - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - description "This attribute defines achievable data rate of the - network slice in uplink that is available ubiquitously across - the coverage area of the slice"; - uses DLThptGrp; - } - list uLThptPerUE { - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - description "This attribute defines data rate supported by the - network slice per UE"; - uses DLThptGrp; - } - list maxPktSize { - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - description "This parameter specifies the maximum packet size - supported by the network slice"; - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf maxSize { - //Stage2 issue: Not defined in 28.541, guessing integer bytes - type uint32; - units bytes; - } - } - list maxNumberofPDUSessions { - description "Represents the maximum number of - concurrent PDU sessions supported by the network slice"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf nOofPDUSessions { - //Stage2 issue: Not defined in 28.541, guessing integer - type uint32; - } - } - list kPIMonitoring { - description "Represents performance monitoring"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf kPIList { - //Stage2 issue: Data format not specified, low interoperability - description "An attribute specifies the name list of KQIs and KPIs - available for performance monitoring"; - type string; - } - } - list userMgmtOpen { - description "An attribute specifies whether or not the network slice - supports the capability for the NSC to manage their users or groups - of users’ network services and corresponding requirements."; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf support { - type Support-enum; - } - } - list v2XCommModels { - description "An attribute specifies whether or not the V2X - communication mode is supported by the network slice."; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf v2XMode { - type V2XMode-enum; - } - } - list termDensity { - description "An attribute specifies the overall user density over - the coverage area of the network slice"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf density { - type uint32; - units users/km2; - } - } - leaf activityFactor { - //Stage2 issue: This is modeled as writable/config true in 28.542, - // but that does not appear to match the description - description "An attribute specifies the percentage value of the - amount of simultaneous active UEs to the total number of UEs where - active means the UEs are exchanging data with the network"; - reference "TS 22.261 Table 7.1-1"; - type decimal64 { - fraction-digits 1; - } - } - leaf uESpeed { - //Stage2 issue: This is modeled as writable/config true in 28.542, - // but that does not appear to match the description - description "An attribute specifies the maximum speed (in km/hour) - supported by the network slice at which a defined QoS can be - achieved"; - type uint32; - units km/h; - } - leaf jitter { - //Stage2 issue: This is modeled as writable/config true in 28.542, - // but that does not appear to match the description - description "An attribute specifies the deviation from the desired - value to the actual value when assessing time parameters"; - reference "TS 22.104 clause C.4.1"; - type uint32; - units microseconds; - } - leaf survivalTime { - description "An attribute specifies the time that an application - consuming a communication service may continue without an - anticipated message."; - reference "TS 22.104 clause 5"; - type string; - } - leaf reliability { - description "An attribute specifies in the context of network layer - packet transmissions, percentage value of the amount of sent - network layer packets successfully delivered to a given system - entity within the time constraint required by the targeted service, - divided by the total number of sent network layer packets."; - reference "TS 22.261, TS 22.104"; - type string; - } - leaf maxDLDataVolume { - //Stage2 issue: Not defined in 28.541. XML and YAML says "string" - type string; - } - leaf maxULDataVolume { - //Stage2 issue: Not defined in 28.541. XML and YAML says "string" - type string; - } - list nBIoT { - description "An attribute specifies whether NB-IoT is supported in - the RAN in the network slice"; - config false; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - list servAttrCom { - description "This list represents the common properties of service - requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, - tagging and exposure"; - key idx; - max-elements 1; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses ServAttrComGrp; - } - leaf support { - description "An attribute specifies whether NB-IoT is supported - in the RAN in the network slice"; - type Support-enum; - } - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang deleted file mode 100755 index df200ad18..000000000 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ /dev/null @@ -1,124 +0,0 @@ -submodule _3gpp-ns-nrm-sliceprofile { - yang-version 1.1; - belongs-to _3gpp-ns-nrm-networkslicesubnet { prefix nss3gpp; } - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-ns-nrm-perfreq { prefix perf3gpp; } - - organization "3GPP SA5"; - contact - "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Represents the properties of network slice subnet related - requirement that should be supported by the network slice subnet - instance in a 5G network."; - reference "3GPP TS 28.541 - Management and orchestration; - 5G Network Resource Model (NRM); - Information model definitions for network slice NRM (chapter 6) - "; - - revision 2020-02-19 { - description "Introduction of YANG definitions for network slice NRM"; - reference "CR-0458"; - } - - revision 2019-05-27 { - description "initial revision."; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - grouping SliceProfileGrp { - leaf sliceProfileId { - description "A unique identifier of the property of network slice - subnet related requirement should be supported by the network - slice subnet instance."; - type types3gpp:DistinguishedName; - } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of - supporting. (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - key idx; - unique "sst sd"; - leaf idx { - description "Synthetic index for the element."; - type uint32; - } - uses types5g3gpp:SNssai; - } - - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). The PLMN Identifier is composed - of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - ordered-by user; - uses types3gpp:PLMNId; - } - - //Stage2 issue: The perfReq object does not have any proper definition - // in 28.541 chapter 6. - //Stage2 issue: The text that exists on the perfReq mentions an sST - // element. There is no sST element in SliceProfile which - // references perfReq, nor in perfReq itself. There are - // potentially several in the sNSSAIList. Should we take the - // union of those to control whivh perfReq elements are - // relevant? For now, making all perfReq elements available - // in all slice profiles. - list perfReq { - description "The performance requirements for the NSI in terms of the - scenarios defined in the 3GPP TS 22.261, such as experienced data - rate, area traffic capacity (density) information of UE density."; - key idx; //this list uses a grouping/choice and has no obvious key - leaf idx { type uint32; } - uses perf3gpp:PerfReqGrp; - } - - leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously - access the network slice instance."; - //optional support - mandatory true; - type uint64; - } - - leaf-list coverageAreaTAList { - description "A list of TrackingAreas where the NSI can be selected."; - //optional support - min-elements 1; - type types3gpp:Tac; - } - - leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate - utilization performance of the end-to-end network slice instance."; - reference "3GPP TS 28.554 clause 6.3.1"; - //optional support - mandatory true; - type uint16; - units milliseconds; - } - - leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice - instance."; - //optional support - type types3gpp:UeMobilityLevel; - } - - leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network - slice subnet instance(s)."; - //optional support - type types3gpp:ResourceSharingLevel; - } - } -} \ No newline at end of file diff --git a/yang-models/external-yams/ietf-inet-types.yang b/yang-models/external-yams/ietf-inet-types.yang deleted file mode 100755 index a69ac0579..000000000 --- a/yang-models/external-yams/ietf-inet-types.yang +++ /dev/null @@ -1,472 +0,0 @@ -module ietf-inet-types { - - yang-version 1; - - namespace - "urn:ietf:params:xml:ns:yang:ietf-inet-types"; - - prefix inet; - - organization - "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; - - contact - "WG Web: - WG List: - - WG Chair: David Kessens - - - WG Chair: Juergen Schoenwaelder - - - Editor: Juergen Schoenwaelder - "; - - description - "This module contains a collection of generally useful derived - YANG data types for Internet addresses and related things. - - Copyright (c) 2013 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (http://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 6991; see - the RFC itself for full legal notices."; - - revision "2013-07-15" { - description - "This revision adds the following new data types: - - ip-address-no-zone - - ipv4-address-no-zone - - ipv6-address-no-zone"; - reference - "RFC 6991: Common YANG Data Types"; - - } - - revision "2010-09-24" { - description "Initial revision."; - reference - "RFC 6021: Common YANG Data Types"; - - } - - - typedef ip-version { - type enumeration { - enum "unknown" { - value 0; - description - "An unknown or unspecified version of the Internet - protocol."; - } - enum "ipv4" { - value 1; - description - "The IPv4 protocol as defined in RFC 791."; - } - enum "ipv6" { - value 2; - description - "The IPv6 protocol as defined in RFC 2460."; - } - } - description - "This value represents the version of the IP protocol. - - In the value set and its semantics, this type is equivalent - to the InetVersion textual convention of the SMIv2."; - reference - "RFC 791: Internet Protocol - RFC 2460: Internet Protocol, Version 6 (IPv6) Specification - RFC 4001: Textual Conventions for Internet Network Addresses"; - - } - - typedef dscp { - type uint8 { - range "0..63"; - } - description - "The dscp type represents a Differentiated Services Code Point - that may be used for marking packets in a traffic stream. - In the value set and its semantics, this type is equivalent - to the Dscp textual convention of the SMIv2."; - reference - "RFC 3289: Management Information Base for the Differentiated - Services Architecture - RFC 2474: Definition of the Differentiated Services Field - (DS Field) in the IPv4 and IPv6 Headers - RFC 2780: IANA Allocation Guidelines For Values In - the Internet Protocol and Related Headers"; - - } - - typedef ipv6-flow-label { - type uint32 { - range "0..1048575"; - } - description - "The ipv6-flow-label type represents the flow identifier or Flow - Label in an IPv6 packet header that may be used to - discriminate traffic flows. - - In the value set and its semantics, this type is equivalent - to the IPv6FlowLabel textual convention of the SMIv2."; - reference - "RFC 3595: Textual Conventions for IPv6 Flow Label - RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"; - - } - - typedef port-number { - type uint16 { - range "0..65535"; - } - description - "The port-number type represents a 16-bit port number of an - Internet transport-layer protocol such as UDP, TCP, DCCP, or - SCTP. Port numbers are assigned by IANA. A current list of - all assignments is available from . - - Note that the port number value zero is reserved by IANA. In - situations where the value zero does not make sense, it can - be excluded by subtyping the port-number type. - In the value set and its semantics, this type is equivalent - to the InetPortNumber textual convention of the SMIv2."; - reference - "RFC 768: User Datagram Protocol - RFC 793: Transmission Control Protocol - RFC 4960: Stream Control Transmission Protocol - RFC 4340: Datagram Congestion Control Protocol (DCCP) - RFC 4001: Textual Conventions for Internet Network Addresses"; - - } - - typedef as-number { - type uint32; - description - "The as-number type represents autonomous system numbers - which identify an Autonomous System (AS). An AS is a set - of routers under a single technical administration, using - an interior gateway protocol and common metrics to route - packets within the AS, and using an exterior gateway - protocol to route packets to other ASes. IANA maintains - the AS number space and has delegated large parts to the - regional registries. - - Autonomous system numbers were originally limited to 16 - bits. BGP extensions have enlarged the autonomous system - number space to 32 bits. This type therefore uses an uint32 - base type without a range restriction in order to support - a larger autonomous system number space. - - In the value set and its semantics, this type is equivalent - to the InetAutonomousSystemNumber textual convention of - the SMIv2."; - reference - "RFC 1930: Guidelines for creation, selection, and registration - of an Autonomous System (AS) - RFC 4271: A Border Gateway Protocol 4 (BGP-4) - RFC 4001: Textual Conventions for Internet Network Addresses - RFC 6793: BGP Support for Four-Octet Autonomous System (AS) - Number Space"; - - } - - typedef ip-address { - type union { - type ipv4-address; - type ipv6-address; - } - description - "The ip-address type represents an IP address and is IP - version neutral. The format of the textual representation - implies the IP version. This type supports scoped addresses - by allowing zone identifiers in the address format."; - reference - "RFC 4007: IPv6 Scoped Address Architecture"; - - } - - typedef ipv4-address { - type string { - pattern - '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' - + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' - + '(%[\p{N}\p{L}]+)?'; - } - description - "The ipv4-address type represents an IPv4 address in - dotted-quad notation. The IPv4 address may include a zone - index, separated by a % sign. - - The zone index is used to disambiguate identical address - values. For link-local addresses, the zone index will - typically be the interface index number or the name of an - interface. If the zone index is not present, the default - zone of the device will be used. - - The canonical format for the zone index is the numerical - format"; - } - - typedef ipv6-address { - type string { - pattern - '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' - + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' - + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' - + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' - + '(%[\p{N}\p{L}]+)?'; - pattern - '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' - + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' - + '(%.+)?'; - } - description - "The ipv6-address type represents an IPv6 address in full, - mixed, shortened, and shortened-mixed notation. The IPv6 - address may include a zone index, separated by a % sign. - - The zone index is used to disambiguate identical address - values. For link-local addresses, the zone index will - typically be the interface index number or the name of an - interface. If the zone index is not present, the default - zone of the device will be used. - - - - The canonical format of IPv6 addresses uses the textual - representation defined in Section 4 of RFC 5952. The - canonical format for the zone index is the numerical - format as described in Section 11.2 of RFC 4007."; - reference - "RFC 4291: IP Version 6 Addressing Architecture - RFC 4007: IPv6 Scoped Address Architecture - RFC 5952: A Recommendation for IPv6 Address Text - Representation"; - - } - - typedef ip-address-no-zone { - type union { - type ipv4-address-no-zone; - type ipv6-address-no-zone; - } - description - "The ip-address-no-zone type represents an IP address and is - IP version neutral. The format of the textual representation - implies the IP version. This type does not support scoped - addresses since it does not allow zone identifiers in the - address format."; - reference - "RFC 4007: IPv6 Scoped Address Architecture"; - - } - - typedef ipv4-address-no-zone { - type ipv4-address { - pattern '[0-9\.]*'; - } - description - "An IPv4 address without a zone index. This type, derived from - ipv4-address, may be used in situations where the zone is - known from the context and hence no zone index is needed."; - } - - typedef ipv6-address-no-zone { - type ipv6-address { - pattern '[0-9a-fA-F:\.]*'; - } - description - "An IPv6 address without a zone index. This type, derived from - ipv6-address, may be used in situations where the zone is - known from the context and hence no zone index is needed."; - reference - "RFC 4291: IP Version 6 Addressing Architecture - RFC 4007: IPv6 Scoped Address Architecture - RFC 5952: A Recommendation for IPv6 Address Text - Representation"; - - } - - typedef ip-prefix { - type union { - type ipv4-prefix; - type ipv6-prefix; - } - description - "The ip-prefix type represents an IP prefix and is IP - version neutral. The format of the textual representations - implies the IP version."; - } - - typedef ipv4-prefix { - type string { - pattern - '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' - + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' - + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; - } - description - "The ipv4-prefix type represents an IPv4 address prefix. - The prefix length is given by the number following the - slash character and must be less than or equal to 32. - - A prefix length value of n corresponds to an IP address - mask that has n contiguous 1-bits from the most - significant bit (MSB) and all other bits set to 0. - - The canonical format of an IPv4 prefix has all bits of - the IPv4 address set to zero that are not part of the - IPv4 prefix."; - } - - typedef ipv6-prefix { - type string { - pattern - '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' - + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' - + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' - + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' - + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; - pattern - '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' - + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' - + '(/.+)'; - } - description - "The ipv6-prefix type represents an IPv6 address prefix. - The prefix length is given by the number following the - slash character and must be less than or equal to 128. - - A prefix length value of n corresponds to an IP address - mask that has n contiguous 1-bits from the most - significant bit (MSB) and all other bits set to 0. - - The IPv6 address should have all bits that do not belong - to the prefix set to zero. - - The canonical format of an IPv6 prefix has all bits of - the IPv6 address set to zero that are not part of the - IPv6 prefix. Furthermore, the IPv6 address is represented - as defined in Section 4 of RFC 5952."; - reference - "RFC 5952: A Recommendation for IPv6 Address Text - Representation"; - - } - - typedef domain-name { - type string { - length "1..253"; - pattern - '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' - + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' - + '|\.'; - } - description - "The domain-name type represents a DNS domain name. The - name SHOULD be fully qualified whenever possible. - - Internet domain names are only loosely specified. Section - 3.5 of RFC 1034 recommends a syntax (modified in Section - 2.1 of RFC 1123). The pattern above is intended to allow - for current practice in domain name use, and some possible - future expansion. It is designed to hold various types of - domain names, including names used for A or AAAA records - (host names) and other records, such as SRV records. Note - that Internet host names have a stricter syntax (described - in RFC 952) than the DNS recommendations in RFCs 1034 and - 1123, and that systems that want to store host names in - schema nodes using the domain-name type are recommended to - adhere to this stricter standard to ensure interoperability. - - The encoding of DNS names in the DNS protocol is limited - to 255 characters. Since the encoding consists of labels - prefixed by a length bytes and there is a trailing NULL - byte, only 253 characters can appear in the textual dotted - notation. - - The description clause of schema nodes using the domain-name - type MUST describe when and how these names are resolved to - IP addresses. Note that the resolution of a domain-name value - may require to query multiple DNS records (e.g., A for IPv4 - and AAAA for IPv6). The order of the resolution process and - which DNS record takes precedence can either be defined - explicitly or may depend on the configuration of the - resolver. - - Domain-name values use the US-ASCII encoding. Their canonical - format uses lowercase US-ASCII characters. Internationalized - domain names MUST be A-labels as per RFC 5890."; - reference - "RFC 952: DoD Internet Host Table Specification - RFC 1034: Domain Names - Concepts and Facilities - RFC 1123: Requirements for Internet Hosts -- Application - and Support - RFC 2782: A DNS RR for specifying the location of services - (DNS SRV) - RFC 5890: Internationalized Domain Names in Applications - (IDNA): Definitions and Document Framework"; - - } - - typedef host { - type union { - type ip-address; - type domain-name; - } - description - "The host type represents either an IP address or a DNS - domain name."; - } - - typedef uri { - type string; - description - "The uri type represents a Uniform Resource Identifier - (URI) as defined by STD 66. - - Objects using the uri type MUST be in US-ASCII encoding, - and MUST be normalized as described by RFC 3986 Sections - 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary - percent-encoding is removed, and all case-insensitive - characters are set to lowercase except for hexadecimal - digits, which are normalized to uppercase as described in - Section 6.2.2.1. - - The purpose of this normalization is to help provide - unique URIs. Note that this normalization is not - sufficient to provide uniqueness. Two URIs that are - textually distinct after this normalization may still be - equivalent. - - Objects using the uri type may restrict the schemes that - they permit. For example, 'data:' and 'urn:' schemes - might not be appropriate. - - A zero-length URI is not a valid URI. This can be used to - express 'URI absent' where required. - - In the value set and its semantics, this type is equivalent - to the Uri SMIv2 textual convention defined in RFC 5017."; - reference - "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax - RFC 3305: Report from the Joint W3C/IETF URI Planning Interest - Group: Uniform Resource Identifiers (URIs), URLs, - and Uniform Resource Names (URNs): Clarifications - and Recommendations - RFC 5017: MIB Textual Conventions for Uniform Resource - Identifiers (URIs)"; - - } - } // module ietf-inet-types diff --git a/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang b/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang deleted file mode 100755 index c49458a11..000000000 --- a/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang +++ /dev/null @@ -1,224 +0,0 @@ -module ietf-yang-schema-mount { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount"; - prefix yangmnt; - - import ietf-inet-types { - prefix inet; - reference - "RFC 6991: Common YANG Data Types"; - } - - import ietf-yang-types { - prefix yang; - reference - "RFC 6991: Common YANG Data Types"; - } - - organization - "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; - - contact - "WG Web: - WG List: - - Editor: Martin Bjorklund - - - Editor: Ladislav Lhotka - "; - - description - "This module defines a YANG extension statement that can be used - to incorporate data models defined in other YANG modules in a - module. It also defines operational state data that specify the - overall structure of the data model. - - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL - NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', - 'MAY', and 'OPTIONAL' in this document are to be interpreted as - described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - they appear in all capitals, as shown here. - - Copyright (c) 2019 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject to - the license terms contained in, the Simplified BSD License set - forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 8528; - see the RFC itself for full legal notices."; - - revision 2019-01-14 { - description - "Initial revision."; - reference - "RFC 8528: YANG Schema Mount"; - } - - /* - * Extensions - */ - - extension mount-point { - argument label; - description - "The argument 'label' is a YANG identifier, i.e., it is of the - type 'yang:yang-identifier'. - - The 'mount-point' statement MUST NOT be used in a YANG - version 1 module, neither explicitly nor via a 'uses' - statement. - The 'mount-point' statement MAY be present as a substatement - of 'container' and 'list' and MUST NOT be present elsewhere. - There MUST NOT be more than one 'mount-point' statement in a - given 'container' or 'list' statement. - - If a mount point is defined within a grouping, its label is - bound to the module where the grouping is used. - - A mount point defines a place in the node hierarchy where - other data models may be attached. A server that implements a - module with a mount point populates the - '/schema-mounts/mount-point' list with detailed information on - which data models are mounted at each mount point. - - Note that the 'mount-point' statement does not define a new - data node."; - } - - /* - * State data nodes - */ - - container schema-mounts { - config false; - description - "Contains information about the structure of the overall - mounted data model implemented in the server."; - list namespace { - key "prefix"; - description - "This list provides a mapping of namespace prefixes that are - used in XPath expressions of 'parent-reference' leafs to the - corresponding namespace URI references."; - leaf prefix { - type yang:yang-identifier; - description - "Namespace prefix."; - } - leaf uri { - type inet:uri; - description - "Namespace URI reference."; - } - } - list mount-point { - key "module label"; - - description - "Each entry of this list specifies a schema for a particular - mount point. - - Each mount point MUST be defined using the 'mount-point' - extension in one of the modules listed in the server's - YANG library instance with conformance type 'implement'."; - leaf module { - type yang:yang-identifier; - description - "Name of a module containing the mount point."; - } - leaf label { - type yang:yang-identifier; - description - "Label of the mount point defined using the 'mount-point' - extension."; - } - leaf config { - type boolean; - default "true"; - description - "If this leaf is set to 'false', then all data nodes in the - mounted schema are read-only ('config false'), regardless - of their 'config' property."; - } - choice schema-ref { - mandatory true; - description - "Alternatives for specifying the schema."; - container inline { - presence - "A complete self-contained schema is mounted at the - mount point."; - description - "This node indicates that the server has mounted at least - the module 'ietf-yang-library' at the mount point, and - its instantiation provides the information about the - mounted schema. - - Different instances of the mount point may have - different schemas mounted."; - } - container shared-schema { - presence - "The mounted schema together with the 'parent-reference' - make up the schema for this mount point."; - - description - "This node indicates that the server has mounted at least - the module 'ietf-yang-library' at the mount point, and - its instantiation provides the information about the - mounted schema. When XPath expressions in the mounted - schema are evaluated, the 'parent-reference' leaf-list - is taken into account. - - Different instances of the mount point MUST have the - same schema mounted."; - leaf-list parent-reference { - type yang:xpath1.0; - description - "Entries of this leaf-list are XPath 1.0 expressions - that are evaluated in the following context: - - - The context node is the node in the parent data tree - where the mount-point is defined. - - - The accessible tree is the parent data tree - *without* any nodes defined in modules that are - mounted inside the parent schema. - - - The context position and context size are both equal - to 1. - - - The set of variable bindings is empty. - - - The function library is the core function library - defined in the W3C XPath 1.0 document - (http://www.w3.org/TR/1999/REC-xpath-19991116) and - the functions defined in Section 10 of RFC 7950. - - - The set of namespace declarations is defined by the - 'namespace' list under 'schema-mounts'. - - Each XPath expression MUST evaluate to a node-set - (possibly empty). For the purposes of evaluating - XPath expressions whose context nodes are defined in - the mounted schema, the union of all these node-sets - together with ancestor nodes are added to the - accessible data tree. - - Note that in the case 'ietf-yang-schema-mount' is - itself mounted, a 'parent-reference' in the mounted - module may refer to nodes that were brought into the - accessible tree through a 'parent-reference' in the - parent schema."; - } - } - } - } - } -} diff --git a/yang-models/external-yams/ietf-yang-types@2013-07-15.yang b/yang-models/external-yams/ietf-yang-types@2013-07-15.yang deleted file mode 100755 index 371a091d1..000000000 --- a/yang-models/external-yams/ietf-yang-types@2013-07-15.yang +++ /dev/null @@ -1,480 +0,0 @@ -module ietf-yang-types { - - namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types"; - prefix "yang"; - - organization - "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; - - contact - "WG Web: - WG List: - - WG Chair: David Kessens - - - WG Chair: Juergen Schoenwaelder - - - Editor: Juergen Schoenwaelder - "; - - description - "This module contains a collection of generally useful derived - YANG data types. - - Copyright (c) 2013 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (http://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 6991; see - the RFC itself for full legal notices."; - - revision 2013-07-15 { - description - "This revision adds the following new data types: - - yang-identifier - - hex-string - - uuid - - dotted-quad"; - reference - "RFC 6991: Common YANG Data Types"; - } - - revision 2010-09-24 { - description - "Initial revision."; - reference - "RFC 6021: Common YANG Data Types"; - } - - /*** collection of counter and gauge types ***/ - - typedef counter32 { - type uint32; - description - "The counter32 type represents a non-negative integer - that monotonically increases until it reaches a - maximum value of 2^32-1 (4294967295 decimal), when it - wraps around and starts increasing again from zero. - - Counters have no defined 'initial' value, and thus, a - single value of a counter has (in general) no information - content. Discontinuities in the monotonically increasing - value normally occur at re-initialization of the - management system, and at other times as specified in the - description of a schema node using this type. If such - other times can occur, for example, the creation of - a schema node of type counter32 at times other than - re-initialization, then a corresponding schema node - should be defined, with an appropriate type, to indicate - the last discontinuity. - - The counter32 type should not be used for configuration - schema nodes. A default statement SHOULD NOT be used in - combination with the type counter32. - - In the value set and its semantics, this type is equivalent - to the Counter32 type of the SMIv2."; - reference - "RFC 2578: Structure of Management Information Version 2 - (SMIv2)"; - } - - typedef zero-based-counter32 { - type yang:counter32; - default "0"; - description - "The zero-based-counter32 type represents a counter32 - that has the defined 'initial' value zero. - - A schema node of this type will be set to zero (0) on creation - and will thereafter increase monotonically until it reaches - a maximum value of 2^32-1 (4294967295 decimal), when it - wraps around and starts increasing again from zero. - - Provided that an application discovers a new schema node - of this type within the minimum time to wrap, it can use the - 'initial' value as a delta. It is important for a management - station to be aware of this minimum time and the actual time - between polls, and to discard data if the actual time is too - long or there is no defined minimum time. - - In the value set and its semantics, this type is equivalent - to the ZeroBasedCounter32 textual convention of the SMIv2."; - reference - "RFC 4502: Remote Network Monitoring Management Information - Base Version 2"; - } - - typedef counter64 { - type uint64; - description - "The counter64 type represents a non-negative integer - that monotonically increases until it reaches a - maximum value of 2^64-1 (18446744073709551615 decimal), - when it wraps around and starts increasing again from zero. - - Counters have no defined 'initial' value, and thus, a - single value of a counter has (in general) no information - content. Discontinuities in the monotonically increasing - value normally occur at re-initialization of the - management system, and at other times as specified in the - description of a schema node using this type. If such - other times can occur, for example, the creation of - a schema node of type counter64 at times other than - re-initialization, then a corresponding schema node - should be defined, with an appropriate type, to indicate - the last discontinuity. - - The counter64 type should not be used for configuration - schema nodes. A default statement SHOULD NOT be used in - combination with the type counter64. - - In the value set and its semantics, this type is equivalent - to the Counter64 type of the SMIv2."; - reference - "RFC 2578: Structure of Management Information Version 2 - (SMIv2)"; - } - - typedef zero-based-counter64 { - type yang:counter64; - default "0"; - description - "The zero-based-counter64 type represents a counter64 that - has the defined 'initial' value zero. - - - - - A schema node of this type will be set to zero (0) on creation - and will thereafter increase monotonically until it reaches - a maximum value of 2^64-1 (18446744073709551615 decimal), - when it wraps around and starts increasing again from zero. - - Provided that an application discovers a new schema node - of this type within the minimum time to wrap, it can use the - 'initial' value as a delta. It is important for a management - station to be aware of this minimum time and the actual time - between polls, and to discard data if the actual time is too - long or there is no defined minimum time. - - In the value set and its semantics, this type is equivalent - to the ZeroBasedCounter64 textual convention of the SMIv2."; - reference - "RFC 2856: Textual Conventions for Additional High Capacity - Data Types"; - } - - typedef gauge32 { - type uint32; - description - "The gauge32 type represents a non-negative integer, which - may increase or decrease, but shall never exceed a maximum - value, nor fall below a minimum value. The maximum value - cannot be greater than 2^32-1 (4294967295 decimal), and - the minimum value cannot be smaller than 0. The value of - a gauge32 has its maximum value whenever the information - being modeled is greater than or equal to its maximum - value, and has its minimum value whenever the information - being modeled is smaller than or equal to its minimum value. - If the information being modeled subsequently decreases - below (increases above) the maximum (minimum) value, the - gauge32 also decreases (increases). - - In the value set and its semantics, this type is equivalent - to the Gauge32 type of the SMIv2."; - reference - "RFC 2578: Structure of Management Information Version 2 - (SMIv2)"; - } - - typedef gauge64 { - type uint64; - description - "The gauge64 type represents a non-negative integer, which - may increase or decrease, but shall never exceed a maximum - value, nor fall below a minimum value. The maximum value - cannot be greater than 2^64-1 (18446744073709551615), and - the minimum value cannot be smaller than 0. The value of - a gauge64 has its maximum value whenever the information - being modeled is greater than or equal to its maximum - value, and has its minimum value whenever the information - being modeled is smaller than or equal to its minimum value. - If the information being modeled subsequently decreases - below (increases above) the maximum (minimum) value, the - gauge64 also decreases (increases). - - In the value set and its semantics, this type is equivalent - to the CounterBasedGauge64 SMIv2 textual convention defined - in RFC 2856"; - reference - "RFC 2856: Textual Conventions for Additional High Capacity - Data Types"; - } - - /*** collection of identifier-related types ***/ - - typedef object-identifier { - type string { - pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))' - + '(\.(0|([1-9]\d*)))*'; - } - description - "The object-identifier type represents administratively - assigned names in a registration-hierarchical-name tree. - - Values of this type are denoted as a sequence of numerical - non-negative sub-identifier values. Each sub-identifier - value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers - are separated by single dots and without any intermediate - whitespace. - - The ASN.1 standard restricts the value space of the first - sub-identifier to 0, 1, or 2. Furthermore, the value space - of the second sub-identifier is restricted to the range - 0 to 39 if the first sub-identifier is 0 or 1. Finally, - the ASN.1 standard requires that an object identifier - has always at least two sub-identifiers. The pattern - captures these restrictions. - - Although the number of sub-identifiers is not limited, - module designers should realize that there may be - implementations that stick with the SMIv2 limit of 128 - sub-identifiers. - - This type is a superset of the SMIv2 OBJECT IDENTIFIER type - since it is not restricted to 128 sub-identifiers. Hence, - this type SHOULD NOT be used to represent the SMIv2 OBJECT - IDENTIFIER type; the object-identifier-128 type SHOULD be - used instead."; - reference - "ISO9834-1: Information technology -- Open Systems - Interconnection -- Procedures for the operation of OSI - Registration Authorities: General procedures and top - arcs of the ASN.1 Object Identifier tree"; - } - - typedef object-identifier-128 { - type object-identifier { - pattern '\d*(\.\d*){1,127}'; - } - description - "This type represents object-identifiers restricted to 128 - sub-identifiers. - - In the value set and its semantics, this type is equivalent - to the OBJECT IDENTIFIER type of the SMIv2."; - reference - "RFC 2578: Structure of Management Information Version 2 - (SMIv2)"; - } - - typedef yang-identifier { - type string { - length "1..max"; - pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; - pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; - } - description - "A YANG identifier string as defined by the 'identifier' - rule in Section 12 of RFC 6020. An identifier must - start with an alphabetic character or an underscore - followed by an arbitrary sequence of alphabetic or - numeric characters, underscores, hyphens, or dots. - - A YANG identifier MUST NOT start with any possible - combination of the lowercase or uppercase character - sequence 'xml'."; - reference - "RFC 6020: YANG - A Data Modeling Language for the Network - Configuration Protocol (NETCONF)"; - } - - /*** collection of types related to date and time***/ - - typedef date-and-time { - type string { - pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?' - + '(Z|[\+\-]\d{2}:\d{2})'; - } - description - "The date-and-time type is a profile of the ISO 8601 - standard for representation of dates and times using the - Gregorian calendar. The profile is defined by the - date-time production in Section 5.6 of RFC 3339. - - The date-and-time type is compatible with the dateTime XML - schema type with the following notable exceptions: - - (a) The date-and-time type does not allow negative years. - - (b) The date-and-time time-offset -00:00 indicates an unknown - time zone (see RFC 3339) while -00:00 and +00:00 and Z - all represent the same time zone in dateTime. - - (c) The canonical format (see below) of data-and-time values - differs from the canonical format used by the dateTime XML - schema type, which requires all times to be in UTC using - the time-offset 'Z'. - - This type is not equivalent to the DateAndTime textual - convention of the SMIv2 since RFC 3339 uses a different - separator between full-date and full-time and provides - higher resolution of time-secfrac. - - The canonical format for date-and-time values with a known time - zone uses a numeric time zone offset that is calculated using - the device's configured known offset to UTC time. A change of - the device's offset to UTC time will cause date-and-time values - to change accordingly. Such changes might happen periodically - in case a server follows automatically daylight saving time - (DST) time zone offset changes. The canonical format for - date-and-time values with an unknown time zone (usually - referring to the notion of local time) uses the time-offset - -00:00."; - reference - "RFC 3339: Date and Time on the Internet: Timestamps - RFC 2579: Textual Conventions for SMIv2 - XSD-TYPES: XML Schema Part 2: Datatypes Second Edition"; - } - - typedef timeticks { - type uint32; - description - "The timeticks type represents a non-negative integer that - represents the time, modulo 2^32 (4294967296 decimal), in - hundredths of a second between two epochs. When a schema - node is defined that uses this type, the description of - the schema node identifies both of the reference epochs. - - In the value set and its semantics, this type is equivalent - to the TimeTicks type of the SMIv2."; - reference - "RFC 2578: Structure of Management Information Version 2 - (SMIv2)"; - } - - typedef timestamp { - type yang:timeticks; - description - "The timestamp type represents the value of an associated - timeticks schema node at which a specific occurrence - happened. The specific occurrence must be defined in the - description of any schema node defined using this type. When - the specific occurrence occurred prior to the last time the - associated timeticks attribute was zero, then the timestamp - value is zero. Note that this requires all timestamp values - to be reset to zero when the value of the associated timeticks - attribute reaches 497+ days and wraps around to zero. - - The associated timeticks schema node must be specified - in the description of any schema node using this type. - - In the value set and its semantics, this type is equivalent - to the TimeStamp textual convention of the SMIv2."; - reference - "RFC 2579: Textual Conventions for SMIv2"; - } - - /*** collection of generic address types ***/ - - typedef phys-address { - type string { - pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; - } - - - - - description - "Represents media- or physical-level addresses represented - as a sequence octets, each octet represented by two hexadecimal - numbers. Octets are separated by colons. The canonical - representation uses lowercase characters. - - In the value set and its semantics, this type is equivalent - to the PhysAddress textual convention of the SMIv2."; - reference - "RFC 2579: Textual Conventions for SMIv2"; - } - - typedef mac-address { - type string { - pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; - } - description - "The mac-address type represents an IEEE 802 MAC address. - The canonical representation uses lowercase characters. - - In the value set and its semantics, this type is equivalent - to the MacAddress textual convention of the SMIv2."; - reference - "IEEE 802: IEEE Standard for Local and Metropolitan Area - Networks: Overview and Architecture - RFC 2579: Textual Conventions for SMIv2"; - } - - /*** collection of XML-specific types ***/ - - typedef xpath1.0 { - type string; - description - "This type represents an XPATH 1.0 expression. - - When a schema node is defined that uses this type, the - description of the schema node MUST specify the XPath - context in which the XPath expression is evaluated."; - reference - "XPATH: XML Path Language (XPath) Version 1.0"; - } - - /*** collection of string types ***/ - - typedef hex-string { - type string { - pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; - } - description - "A hexadecimal string with octets represented as hex digits - separated by colons. The canonical representation uses - lowercase characters."; - } - - typedef uuid { - type string { - pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' - + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; - } - description - "A Universally Unique IDentifier in the string representation - defined in RFC 4122. The canonical representation uses - lowercase characters. - - The following is an example of a UUID in string representation: - f81d4fae-7dec-11d0-a765-00a0c91e6bf6 - "; - reference - "RFC 4122: A Universally Unique IDentifier (UUID) URN - Namespace"; - } - - typedef dotted-quad { - type string { - pattern - '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' - + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; - } - description - "An unsigned 32-bit number expressed in the dotted-quad - notation, i.e., four octets written as decimal numbers - and separated with the '.' (full stop) character."; - } -} -- GitLab From a174c01cf109dcded415d665843806769b3f2bbf Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 2 Jul 2021 11:58:44 +0200 Subject: [PATCH 2/6] added all YANG files from Integration_Rel17_SA5_137_YANG branch --- yang-models/README.md | 7 + yang-models/_3gpp-5g-common-yang-types.yang | 105 ++ .../_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang | 58 + ...-5gc-nrm-GtpUPathQoSMonitoringControl.yang | 142 +++ .../_3gpp-5gc-nrm-QFQoSMonitoringControl.yang | 134 ++ yang-models/_3gpp-5gc-nrm-affunction.yang | 38 + yang-models/_3gpp-5gc-nrm-amffunction.yang | 89 ++ yang-models/_3gpp-5gc-nrm-amfregion.yang | 83 ++ yang-models/_3gpp-5gc-nrm-amfset.yang | 81 ++ yang-models/_3gpp-5gc-nrm-ausffunction.yang | 89 ++ .../_3gpp-5gc-nrm-configurable5qiset.yang | 146 +++ yang-models/_3gpp-5gc-nrm-dnfunction.yang | 39 + yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 52 + yang-models/_3gpp-5gc-nrm-ep.yang | 646 ++++++++++ .../_3gpp-5gc-nrm-externalnrffunction.yang | 42 + .../_3gpp-5gc-nrm-externalnssffunction.yang | 43 + .../_3gpp-5gc-nrm-externalseppfunction.yang | 55 + yang-models/_3gpp-5gc-nrm-lmffunction.yang | 63 + yang-models/_3gpp-5gc-nrm-n3iwffunction.yang | 55 + yang-models/_3gpp-5gc-nrm-neffunction.yang | 68 + yang-models/_3gpp-5gc-nrm-nfprofile.yang | 1095 +++++++++++++++++ yang-models/_3gpp-5gc-nrm-nfservice.yang | 302 +++++ yang-models/_3gpp-5gc-nrm-ngeirfunction.yang | 80 ++ yang-models/_3gpp-5gc-nrm-nrffunction.yang | 88 ++ yang-models/_3gpp-5gc-nrm-nssffunction.yang | 87 ++ yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 86 ++ yang-models/_3gpp-5gc-nrm-pcffunction.yang | 97 ++ .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 642 ++++++++++ yang-models/_3gpp-5gc-nrm-scpfunction.yang | 50 + yang-models/_3gpp-5gc-nrm-seppfunction.yang | 70 ++ yang-models/_3gpp-5gc-nrm-smffunction.yang | 102 ++ yang-models/_3gpp-5gc-nrm-smsffunction.yang | 62 + yang-models/_3gpp-5gc-nrm-udmfunction.yang | 86 ++ yang-models/_3gpp-5gc-nrm-udrfunction.yang | 78 ++ yang-models/_3gpp-5gc-nrm-udsffunction.yang | 79 ++ yang-models/_3gpp-5gc-nrm-upffunction.yang | 80 ++ yang-models/_3gpp-common-ep-rp.yang | 68 + yang-models/_3gpp-common-fm.yang | 409 ++++++ yang-models/_3gpp-common-managed-element.yang | 248 ++++ .../_3gpp-common-managed-function.yang | 311 +++++ yang-models/_3gpp-common-measurements.yang | 542 ++++++++ yang-models/_3gpp-common-subnetwork.yang | 214 ++++ .../_3gpp-common-subscription-control.yang | 209 ++++ yang-models/_3gpp-common-top.yang | 36 + yang-models/_3gpp-common-trace.yang | 895 ++++++++++++++ yang-models/_3gpp-common-yang-extensions.yang | 95 ++ yang-models/_3gpp-common-yang-types.yang | 512 ++++++++ yang-models/_3gpp-nr-nrm-beam.yang | 96 ++ yang-models/_3gpp-nr-nrm-bwp.yang | 104 ++ .../_3gpp-nr-nrm-cesmanagementfunction.yang | 256 ++++ ...3gpp-nr-nrm-commonbeamformingfunction.yang | 62 + ...3gpp-nr-nrm-cpciconfigurationfunction.yang | 67 + .../_3gpp-nr-nrm-danrmanagementfunction.yang | 44 + .../_3gpp-nr-nrm-desmanagementfunction.yang | 261 ++++ yang-models/_3gpp-nr-nrm-dmrofunction.yang | 70 ++ ...3gpp-nr-nrm-dpciconfigurationfunction.yang | 69 ++ ...3gpp-nr-nrm-drachoptimizationfunction.yang | 120 ++ yang-models/_3gpp-nr-nrm-ep.yang | 257 ++++ .../_3gpp-nr-nrm-eutrancellrelation.yang | 160 +++ yang-models/_3gpp-nr-nrm-eutranetwork.yang | 61 + .../_3gpp-nr-nrm-eutranfreqrelation.yang | 208 ++++ yang-models/_3gpp-nr-nrm-eutranfrequency.yang | 64 + .../_3gpp-nr-nrm-externalamffunction.yang | 69 ++ .../_3gpp-nr-nrm-externalenbfunction.yang | 60 + .../_3gpp-nr-nrm-externaleutrancell.yang | 153 +++ .../_3gpp-nr-nrm-externalgnbcucpfunction.yang | 76 ++ .../_3gpp-nr-nrm-externalgnbcuupfunction.yang | 66 + .../_3gpp-nr-nrm-externalgnbdufunction.yang | 76 ++ .../_3gpp-nr-nrm-externalnrcellcu.yang | 85 ++ ...3gpp-nr-nrm-externalservinggwfunction.yang | 52 + .../_3gpp-nr-nrm-externalupffunction.yang | 51 + yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 132 ++ yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang | 172 +++ yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 93 ++ yang-models/_3gpp-nr-nrm-nrcellcu.yang | 93 ++ yang-models/_3gpp-nr-nrm-nrcelldu.yang | 226 ++++ yang-models/_3gpp-nr-nrm-nrcellrelation.yang | 144 +++ yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 245 ++++ yang-models/_3gpp-nr-nrm-nrfrequency.yang | 71 ++ yang-models/_3gpp-nr-nrm-nrnetwork.yang | 39 + yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang | 119 ++ yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 122 ++ yang-models/_3gpp-ns-nrm-common.yang | 96 ++ yang-models/_3gpp-ns-nrm-networkslice.yang | 74 ++ .../_3gpp-ns-nrm-networkslicesubnet.yang | 207 ++++ yang-models/_3gpp-ns-nrm-serviceprofile.yang | 503 ++++++++ yang-models/_3gpp-ns-nrm-sliceprofile.yang | 908 ++++++++++++++ .../external-yams/ietf-inet-types.yang | 472 +++++++ .../ietf-yang-schema-mount@2019-01-14.yang | 224 ++++ .../ietf-yang-types@2013-07-15.yang | 480 ++++++++ 90 files changed, 15665 insertions(+) create mode 100755 yang-models/README.md create mode 100755 yang-models/_3gpp-5g-common-yang-types.yang create mode 100755 yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang create mode 100755 yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang create mode 100755 yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang create mode 100755 yang-models/_3gpp-5gc-nrm-affunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-amffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-amfregion.yang create mode 100755 yang-models/_3gpp-5gc-nrm-amfset.yang create mode 100755 yang-models/_3gpp-5gc-nrm-ausffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-configurable5qiset.yang create mode 100755 yang-models/_3gpp-5gc-nrm-dnfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang create mode 100755 yang-models/_3gpp-5gc-nrm-ep.yang create mode 100755 yang-models/_3gpp-5gc-nrm-externalnrffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-externalnssffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-externalseppfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-lmffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-n3iwffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-neffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-nfprofile.yang create mode 100755 yang-models/_3gpp-5gc-nrm-nfservice.yang create mode 100755 yang-models/_3gpp-5gc-nrm-ngeirfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-nrffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-nssffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-nwdaffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-pcffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang create mode 100755 yang-models/_3gpp-5gc-nrm-scpfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-seppfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-smffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-smsffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-udmfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-udrfunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-udsffunction.yang create mode 100755 yang-models/_3gpp-5gc-nrm-upffunction.yang create mode 100755 yang-models/_3gpp-common-ep-rp.yang create mode 100755 yang-models/_3gpp-common-fm.yang create mode 100755 yang-models/_3gpp-common-managed-element.yang create mode 100755 yang-models/_3gpp-common-managed-function.yang create mode 100755 yang-models/_3gpp-common-measurements.yang create mode 100755 yang-models/_3gpp-common-subnetwork.yang create mode 100755 yang-models/_3gpp-common-subscription-control.yang create mode 100755 yang-models/_3gpp-common-top.yang create mode 100755 yang-models/_3gpp-common-trace.yang create mode 100755 yang-models/_3gpp-common-yang-extensions.yang create mode 100755 yang-models/_3gpp-common-yang-types.yang create mode 100755 yang-models/_3gpp-nr-nrm-beam.yang create mode 100755 yang-models/_3gpp-nr-nrm-bwp.yang create mode 100755 yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-desmanagementfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-dmrofunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-ep.yang create mode 100755 yang-models/_3gpp-nr-nrm-eutrancellrelation.yang create mode 100755 yang-models/_3gpp-nr-nrm-eutranetwork.yang create mode 100755 yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang create mode 100755 yang-models/_3gpp-nr-nrm-eutranfrequency.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalamffunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalenbfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externaleutrancell.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalnrcellcu.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-externalupffunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-gnbdufunction.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrcellcu.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrcelldu.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrcellrelation.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrfreqrelation.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrfrequency.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrnetwork.yang create mode 100755 yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang create mode 100755 yang-models/_3gpp-nr-nrm-rrmpolicy.yang create mode 100755 yang-models/_3gpp-ns-nrm-common.yang create mode 100755 yang-models/_3gpp-ns-nrm-networkslice.yang create mode 100755 yang-models/_3gpp-ns-nrm-networkslicesubnet.yang create mode 100755 yang-models/_3gpp-ns-nrm-serviceprofile.yang create mode 100755 yang-models/_3gpp-ns-nrm-sliceprofile.yang create mode 100755 yang-models/external-yams/ietf-inet-types.yang create mode 100755 yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang create mode 100755 yang-models/external-yams/ietf-yang-types@2013-07-15.yang diff --git a/yang-models/README.md b/yang-models/README.md new file mode 100755 index 000000000..eb452b55a --- /dev/null +++ b/yang-models/README.md @@ -0,0 +1,7 @@ +Folder for all 3GPP SA5 YANG modules and submodules (YAMs) +A subfolder for used external YANG modules is included. + +All commited YANG modules MUST pass the + "pyang --strict -p external-yams _3gpp-*.yang" + validation command without errors. + diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang new file mode 100755 index 000000000..9c07b5cf8 --- /dev/null +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -0,0 +1,105 @@ +module _3gpp-5g-common-yang-types { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; + prefix "types5g3gpp"; + + + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "The model defines common types for 5G networks and + network slicing."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-20 { reference "Initial version."; } + + grouping SNssai { + description + "Single Network Slice Selection Assistance Information(S-NSSAI)"; + reference "3GPP TS 23.003"; + + leaf sd { + description "Slice Differentiator + If not needed, the value can be set to FFFFFF."; + type string{ + length 6; + pattern '[a-fA-F0-9]*'; + } + reference "3GPP TS 23.003"; + } + + leaf sst { + type uint8; + description "Slice/Service Type. + Values 0 to 127 belong to standardized SST range and are defined in + 3GPP TS 23.501. Values 128 to 255 belong to operator-specific range."; + } + } + + grouping PLMNInfo { + description "The PLMNInfo data type define a S-NSSAI member in a specific + PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). + The PLMNId represents a data type that is comprised of mcc + (mobile country code) and mnc (mobile network code), (See TS 23.003 + subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is + comprised of an SST (Slice/Service type) and an optional + SD (Slice Differentiator) field"; + uses types3gpp:PLMNId; + uses SNssai; + } + + typedef CommModelType { + reference "3GPP TS 23501"; + type enumeration { + enum DIRECT_COMMUNICATION_WO_NRF { + value 0; + description "Directly communicate to other pre-configured NF service."; + } + + enum DIRECT_COMMUNICATION_WITH_NRF { + value 1; + description "Directly communicate to other NF service discovered + by NRF."; + } + + enum INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY { + value 2; + description "Communicate to pre-configured other NF service through + SCP as a proxy."; + } + + enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { + value 3; + description "Communication to NF service discovered by NRF through SCP as a proxy."; + } + + } + } + + grouping CommModel { + leaf groupId { + type uint16; + } + leaf commModelType { + type CommModelType; + } + leaf-list targetNFServiceList { + type types3gpp:DistinguishedName; + } + leaf commModelConfiguration { + type string; + } + } + + grouping SupportedFunc { + leaf function { + type string; + } + leaf policy { + type string; + } + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang new file mode 100755 index 000000000..fabfe4336 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -0,0 +1,58 @@ +module _3gpp-5gc-nrm-FiveQiDscpMappingSet { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; + prefix FiveQiDscpMapping3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description " This IOC represents the set of mapping between 5QIs and DSCP."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-05-27 { reference "CR-0287"; } + + grouping FiveQiDscpMapping { + leaf-list fiveQIValues { + type uint32 { + range 0..255 ; + } + min-elements 1; + description " Identifies the 5QI values that are mapped to a same DSCP, as specified in TS 28.541."; + } + + leaf dscp { + type uint32 { + range 0..255 ; + } + mandatory true; + } + } + + grouping FiveQiDscpMappingSetGrp { + description "Represents the FiveQiDscpMappingSet IOC."; + list FiveQiDscpMappingList { + key "dscp"; + uses FiveQiDscpMapping; + } + } + + grouping FiveQiDscpMappingSetSubtree { + list FiveQiDscpMappingSet { + description "Specifies the mapping between 5QIs and DSCPs."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses FiveQiDscpMappingSetGrp; + } + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + uses FiveQiDscpMappingSetSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang new file mode 100755 index 000000000..d29d6d21a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang @@ -0,0 +1,142 @@ +module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl; + prefix gtpUPathQMCtrl3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the capabilities and properties for control + of GTP-U path QoS monitoring defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-09-30 { reference "CR-0393"; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-04-10 { reference "S5-202103"; } + + grouping GtpUPathDelayThresholdsType { + description "Thresholds for reporting the packet delay for GTP-U path QoS + monitoring "; + reference "3GPP TS 29.244"; + leaf n3AveragePacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n3MinPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n3MaxPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9AveragePacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9MinPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9MaxPacketDelayThreshold { + mandatory true; + type uint32; + } + } + + grouping GtpUPathQoSMonitoringControlGrp { + description "Represents the GtpUPathQoSMonitoringControl IOC."; + + leaf gtpUPathQoSMonitoringState { + description "The state of GTP-U path QoS monitoring."; + mandatory true; + type enumeration { + enum ENABLED; + enum DISABLED; + } + } + + list gtpUPathMonitoredSNSSAIs { + key "sd sst"; + description "The S-NSSAIs for which the the GTP-U path QoS monitoring is + to be performed."; + reference "3GPP TS 23.003"; + uses types5g3gpp:SNssai; + } + + leaf-list monitoredDSCPs { + description "The DSCPs for which the GTP-U path QoS monitoring is to be + performed."; + reference "3GPP TS 29.244"; + type uint32; + } + + leaf isEventTriggeredGtpUPathMonitoringSupported { + description "It indicates whether the event triggered GTP-U path QoS + monitoring reporting based on thresholds is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isPeriodicGtpUMonitoringSupported { + description "It indicates whether the periodic GTP-U path QoS monitoring + reporting is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isImmediateGtpUMonitoringSupported { + description "It indicates whether the immediate GTP-U path QoS monitoring + reporting is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + list gtpUPathDelayThresholds { + key n3AveragePacketDelayThreshold; + // if max-elements is increased later, the key may need to be modified + min-elements 1; + max-elements 1; + description "It specifies the thresholds for reporting the packet delay + for the GTO-U path QoS monitoring."; + uses GtpUPathDelayThresholdsType; + } + + leaf gtpUPathMinimumWaitTime { + description "It specifies the minimum waiting time (in seconds) between + two consecutive reports for event triggered GTP-U path QoS monitoring + reporting."; + type uint32; + } + + leaf gtpUPathMeasurementPeriod { + description "It specifies the period (in seconds) for reporting the packet + delay for GTP-U path QoS monitoring."; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + + list GtpUPathQoSMonitoringControl { + description "Specifies the capabilities and properties for control of + GTP-U path QoS monitoring. For more information about the GTP-U path + QoS monitoring."; + reference "3GPP TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GtpUPathQoSMonitoringControlGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang new file mode 100755 index 000000000..a7290eb81 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang @@ -0,0 +1,134 @@ +module _3gpp-5gc-nrm-QFQoSMonitoringControl { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-QFQoSMonitoringControl; + prefix qFQMCtrl3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the capabilities and properties for control + of QoS monitoring per QoS flow per UE for URLLC service defined + +in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-04-10 { reference "S5-202101"; } + + grouping QFPacketDelayThresholdsTypeGrp { + description "Represents the QFPacketDelayThresholdsType"; + leaf thresholdDl { + type uint32; + units milliseconds; + description "Downlink threshold"; + } + + leaf thresholdUl { + type uint32; + units milliseconds; + description "Uplink threshold"; + } + + leaf thresholdRtt { + type uint32; + units milliseconds; + description "Round trip threshold"; + } + } + + grouping QFQoSMonitoringControlGrp { + description "Represents the QFQoSMonitoringControl IOC."; + reference "3GPP TS 28.541"; + + leaf qFQoSMonitoringState { + description "The state of QoS monitoring per QoS flow per UE."; + mandatory true; + type enumeration { + enum ENABLED; + enum DISABLED; + } + } + + list qFMonitoredSNSSAIs { + description "The S-NSSAIs for which the QoS monitoring per QoS flow + per UE is to be performed."; + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai;} + + leaf-list qFMonitored5QIs { + description "The 5QIs for which the QoS monitoring per QoS flow + per UE is to be performed."; + reference "3GPP TS 23.501"; + type uint32 { + range "0..255"; + } + } + + leaf isEventTriggeredQFMonitoringSupported { + description "It indicates whether the event based QoS monitoring + reporting per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isPeriodicQFMonitoringSupported { + description "It indicates whether the periodic QoS monitoring reporting + per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isSessionReleasedQFMonitoringSupported { + description "It indicates whether the session release based QoS monitoring + reporting per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + list qFPacketDelayThresholds { + key "idx"; + min-elements 1; + max-elements 1; + description "It specifies the thresholds for reporting the packet delay + between PSA and UE for QoS monitoring per QoS flow per UE."; + + leaf idx { type uint32 ; } + uses QFPacketDelayThresholdsTypeGrp; + } + + leaf qFMinimumWaitTime { + description "It specifies the minimum waiting time (in seconds) between + two consecutive reports for event triggered QoS monitoring reporting + per QoS flow per UE."; + type uint32; + } + + leaf qFMeasurementPeriod { + description "It specifies the period (in seconds) for reporting the + packet delay for QoS monitoring per QoS flow per UE."; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + + list QFQoSMonitoringControl { + description "Represents the QFQoSMonitoringControl IOC."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses QFQoSMonitoringControlGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang new file mode 100755 index 000000000..a668b8a3a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-affunction.yang @@ -0,0 +1,38 @@ +module _3gpp-5gc-nrm-affunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-affunction; + prefix af3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC is defined only to describe the IOCs representing + its interaction interface with 5GC (i.e. EP_Rx and EP_N5). + It has no attributes defined."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-05-15 { + description "initial revision"; + } + + grouping AFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + } + + augment "/me3gpp:ManagedElement" { + list AFFunction { + description "5G Core AF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AFFunctionGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang new file mode 100755 index 000000000..1ab54a9d3 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -0,0 +1,89 @@ +module _3gpp-5gc-nrm-amffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amffunction; + prefix amf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "AMFFunction derived from basic ManagedFunction."; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + + revision 2019-05-31 { reference "Ericsson refactoring."; } + revision 2018-08-07 { reference "Initial revision"; } + + grouping AMFFunctionGrp { + description "Represents the AMFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + min-elements 1; + description "A list of PLMN identifiers (Mobile Country Code and Mobile + Network Code)."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + container aMFIdentifier { + presence true; + description "An AMF identifier, comprising an AMF Region ID, an + AMF Set ID and an AMF Pointer."; + uses types3gpp:AmfIdentifier; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the + service-based interface."; + type inet:domain-name; + } + + list sNSSAIList { + min-elements 1; + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + } + + augment "/me3gpp:ManagedElement" { + list AMFFunction { + description "5G Core AMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfregion.yang b/yang-models/_3gpp-5gc-nrm-amfregion.yang new file mode 100755 index 000000000..3746a58a6 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-amfregion.yang @@ -0,0 +1,83 @@ +module _3gpp-5gc-nrm-amfregion { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfregion; + prefix amfr3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the AMF Region which consists one or + multiple AMF Sets."; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + reference "Ericsson refactoring."; } + + grouping AMFRegionGrp { + description "Represents the AMFRegion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) + and a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list nRTACList { + description "List of Tracking Area Codes (legacy TAC or extended TAC) + where the represented management function is serving."; + reference "TS 38.413 clause 9.3.3.10"; + min-elements 1; + config false; + type types3gpp:Tac; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //conditional support only if the network slicing feature is supported. + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf aMFRegionId { + description "Represents the AMF Region ID, which identifies the region."; + mandatory true; + type types3gpp:AmfRegionId; + } + + leaf-list aMFSet { + description "The AMFSet that the AFMRegion is associated with."; + min-elements 1; + type instance-identifier; + } + } + + augment "/subnet3gpp:SubNetwork" { + list AMFRegion { + description "5G Core AMFRegion IOC"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFRegionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfset.yang b/yang-models/_3gpp-5gc-nrm-amfset.yang new file mode 100755 index 000000000..8b978160e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-amfset.yang @@ -0,0 +1,81 @@ +module _3gpp-5gc-nrm-amfset { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfset; + prefix amfset3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the AMF Set which consists of some AMFs + that serve a given area and Network Slice."; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { reference "Ericsson refactoring."; } + + grouping AMFSetGrp { + description "Represents the AMFSet IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed + of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list nRTACList { + description "List of Tracking Area Codes (legacy TAC or extended TAC) + where the represented management function is serving."; + reference "TS 38.413 clause 9.3.3.10"; + min-elements 1; + config false; + type types3gpp:Tac; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //conditional support only if the network slicing feature is supported. + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf aMFRegion { + description "The AMFRegion that the AFMSet is associated with."; + type instance-identifier; + } + + leaf-list aMFSetMemberList { + description "List of DNs of AMFFunction instances of the AMFSet."; + min-elements 1; + max-elements 1; + type types3gpp:DistinguishedName; + } + } + + augment "/subnet3gpp:SubNetwork" { + list AMFSet { + description "5G Core AMFSet IOC"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFSetGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang new file mode 100755 index 000000000..f94b6505e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -0,0 +1,89 @@ +module _3gpp-5gc-nrm-ausffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ausffunction; + prefix ausf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the AUSF function in 5GC. For more + information about the AUSF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + + revision 2019-05-22 {reference "initial revision"; } + + grouping AUSFFuntionGrp { + description "Represents the AUSFFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and + a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the + service-based interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list AUSFFunction { + description "5G Core AUSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AUSFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang new file mode 100755 index 000000000..6d3d7a27a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang @@ -0,0 +1,146 @@ +module _3gpp-5gc-nrm-configurable5qiset { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-configurable5qiset; + prefix Conf5QIs3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the non-standardized 5QIs, including + their QoS characteristics, that need to be pre-configured + (and configurable) to the 5G NFs."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + + grouping PacketErrorRate { + leaf scalar { + type uint32 { + range 0..9 ; + } + mandatory true; + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k + where k is the Exponent."; + } + leaf exponent { + type uint32 { + range 0..9 ; + } + mandatory true; + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k, + where k is the Exponent."; + } + } + + grouping FiveQICharacteristicsGrp { + description "Represents the FiveQICharacteristics IOC."; + reference "3GPP TS 28.541"; + } + + list configurableFiveQIs { + key fiveQIValue; + leaf fiveQIValue { + type uint32 { + range 0..255 ; + } + mandatory true; + description "Identifies the 5QI value."; + } + + leaf resourceType { + type enumeration { + enum GBR; + enum NON_GBR; + } + mandatory true; + description "It indicates the Resource Type of a 5QI, as specified + in TS 23.501 "; + } + + leaf priorityLevel { + type uint32 { + range 0..127 ; + } + } + + leaf packetDelayBudget { + type uint32 { + range 0..1023 ; + } + description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, + as specified in TS 23.501 "; + } + + list packetErrorRate { + key "scalar exponent"; + min-elements 0; + max-elements 1; + uses PacketErrorRate; + reference "TS 23.501"; + } + + leaf averagingWindow { + type uint32 { + range 0..4095 ; + } + units ms; + reference "TS 23.501"; + } + + leaf maximumDataBurstVolume { + type uint32{ + range 0..4095 ; + } + units byte; + } +} + + grouping FiveQiCharacteristicsSubtree { + description "Represents the FiveQICharacterics IOC."; + list FiveQICharacteristics { + key id; + uses top3gpp:Top_Grp; + container attributes { + uses FiveQICharacteristicsGrp; + } + } +} + + grouping Configurable5QISetGrp { + description "Represents the Configurable5QISet IOC."; + list configurable5QIs { + key id; + uses top3gpp:Top_Grp; + container attributes { + uses FiveQICharacteristicsGrp; + } + } +} + + + grouping Configurable5QISetSubtree { + list Configurable5QISet { + description "Specifies the non-standardized 5QIs, including their QoS + characteristics, that need to be pre-configured (and configurable) to + the 5G NFs, see 3GPP TS 23.501."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses Configurable5QISetGrp; + } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses Configurable5QISetSubtree; + } + + augment "/me3gpp:ManagedElement" { + uses Configurable5QISetSubtree; + } +} diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang new file mode 100755 index 000000000..675c3b1aa --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-dnfunction.yang @@ -0,0 +1,39 @@ +module _3gpp-5gc-nrm-dnfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5_3gpp-5gc-nrm-dnfunction; + prefix dn3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC is defined only to describe the IOCs representing + Data Network (DN) interaction interface with 5GC (i.e. EP_N6). + It has no attributes defined."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-05-15 { + description "initial revision"; + } + + grouping DNFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + } + + augment "/me3gpp:ManagedElement" { + list DNFunction { + description "5G Core DN Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DNFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang new file mode 100755 index 000000000..185e46f83 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -0,0 +1,52 @@ +module _3gpp-5gc-nrm-dynamic5qiset { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dynamic5qiset; + prefix dyn5QIs3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the dynamic 5QIs including their QoS + characteristics."; + reference "3GPP TS 28.541"; + + revision 2020-09-30 { reference "CR-0393"; } + revision 2020-08-06 { reference "CR-0333"; } + + grouping Dynamic5QISetGrp { + description "Represents the Dynamic5QISet IOC."; + list dynamic5QIs { + key id; + uses top3gpp:Top_Grp; + container attributes { + uses Conf5QIs3gpp:FiveQICharacteristicsGrp; + } + } + } + + grouping Dynamic5QISetSubtree { + description "Helps augmenting Dynamic5QISet into multiple places."; + list Dynamic5QISet { + description "Specifies the dynamic 5QIs including their QoS + characteristics, see 3GPP TS 23.501."; + key "id"; + uses top3gpp:Top_Grp; + container attributes { + uses Dynamic5QISetGrp; + } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses Dynamic5QISetSubtree; + } + + augment "/me3gpp:ManagedElement" { + uses Dynamic5QISetSubtree; + } +} diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang new file mode 100755 index 000000000..fdd210297 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -0,0 +1,646 @@ +module _3gpp-5gc-nrm-ep { + yang-version 1.1; + namespace "urn:3gpp:tsg:sa5:nrm:_3gpp-5gc-nrm-ep"; + prefix "cep3gpp"; + + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5gc-nrm-affunction { prefix af3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } + import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } + import _3gpp-5gc-nrm-dnfunction { prefix dn3gpp; } + import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp; } + import _3gpp-5gc-nrm-n3iwffunction { prefix n3iwf3gpp; } + import _3gpp-5gc-nrm-ngeirfunction { prefix ngeir3gpp; } + import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } + import _3gpp-5gc-nrm-nssffunction { prefix nssf3gpp; } + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } + import _3gpp-5gc-nrm-seppfunction { prefix sepp3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-5gc-nrm-smsffunction { prefix smsf3gpp; } + import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the 5GC related endpoint + Information Object Classes (IOCs) that are part of the 5G Core + Network Resource Model."; + reference "3GPP TS 28.541"; + + revision 2019-11-18 { + description "Ericsson refactoring."; + } + + revision 2018-07-31 { + description "Initial revision"; + } + + grouping EP_N2Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N3Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N4Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N5Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N6Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N7Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N8Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N9Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N10Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N11Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N12Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N13Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N14Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N15Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N16Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N17Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N20Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N21Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N22Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N26Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N27Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N31Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N32Grp { + uses eprp3gpp:EP_Common; + container remotePlmnId { + description "PLMN Identifiers of the remote sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf remoteSeppAddress { + description "The host address of the SEPP."; + type inet:host; + } + + leaf remoteSeppId { + type uint16; + } + + leaf n32cParas { + type string; + } + + leaf n32fPolicy { + type string; + } + + leaf withIPX { + type boolean; + } + } + + grouping EP_S5CGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_S5UGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_RxGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_MAP_SMSCGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_NLSGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_NLGGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_SBI_IPXGrp { + uses eprp3gpp:EP_Common; + leaf-list sBIService { + min-elements 1; + config false; + type string; + } + } + + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { + list EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + + list EP_Rx { + description "Represents the EP_Rx IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_RxGrp; + } + } + } + + augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { + list EP_N2 { + description "Represents the EP_N2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N2Grp; + } + } + + list EP_N8 { + description "Represents the EP_N8 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N8Grp; + } + } + + list EP_N11 { + description "Represents the EP_N11 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N11Grp; + } + } + + list EP_N12 { + description "Represents the EP_N12 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N12Grp; + } + } + + list EP_N14 { + description "Represents the EP_N14 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N14Grp; + } + } + + list EP_N15 { + description "Represents the EP_N15 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N15Grp; + } + } + + list EP_N17 { + description "Represents the EP_N17 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N17Grp; + } + } + + list EP_N20 { + description "Represents the EP_N20 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N20Grp; + } + } + + list EP_N22 { + description "Represents the EP_N22 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N22Grp; + } + } + + list EP_N26 { + description "Represents the EP_N26 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N26Grp; + } + } + + list EP_NLS { + description "Represents the EP_NLS IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLSGrp; + } + } + + list EP_NLG { + description "Represents the EP_NLG IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLGGrp; + } + } + } + + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { + list EP_N12 { + description "Represents the EP_N12 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N12Grp; + } + } + + list EP_N13 { + description "Represents the EP_N13 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N13Grp; + } + } + } + + augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { + list EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + } + + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { + list EP_NLS { + description "Represents the EP_NLS IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLSGrp; + } + } + } + + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { + list EP_N2 { + description "Represents the EP_N2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N2Grp; + } + } + + list EP_N3 { + description "Represents the EP_N3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N3Grp; + } + } + } + + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { + list EP_N17 { + description "Represents the EP_N17 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N17Grp; + } + } + } + + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { + list EP_N27 { + description "Represents the EP_N27 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N26Grp; + } + } + + } + + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { + list EP_N22 { + description "Represents the EP_N22 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N22Grp; + } + } + + list EP_N31 { + description "Represents the EP_N31 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N31Grp; + } + } + } + + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { + list EP_N5 { + description "Represents the EP_N5 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N5Grp; + } + } + + list EP_N7 { + description "Represents the EP_N7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N7Grp; + } + } + + list EP_N15 { + description "Represents the EP_N15 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N15Grp; + } + } + + list EP_N16 { + description "Represents the EP_N16 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N16Grp; + } + } + + list EP_Rx { + description "Represents the EP_Rx IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_RxGrp; + } + } + } + + augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { + list EP_N32 { + description "Represents the EP_N32 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N32Grp; + } + } + + } + augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { + list EP_N20 { + description "Represents the EP_20 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N20Grp; + } + } + + list EP_N21 { + description "Represents the EP_N21 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N21Grp; + } + } + + list EP_MAP_SMSC { + description "Represents the EP_MAP_SMSC IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_MAP_SMSCGrp; + } + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + list EP_N4 { + description "Represents the EP_N4 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N4Grp; + } + } + + list EP_N7 { + description "Represents the EP_N7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N7Grp; + } + } + + list EP_N10 { + description "Represents the EP_N10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N10Grp; + } + } + + list EP_N11 { + description "Represents the EP_N11 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N11Grp; + } + } + + list EP_N16 { + description "Represents the EP_N16 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N16Grp; + } + } + + list EP_S5C { + description "Represents the EP_S5C IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S5CGrp; + } + } + } + + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { + list EP_N8 { + description "Represents the EP_N8 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N8Grp; + } + } + + list EP_N10 { + description "Represents the EP_N10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N10Grp; + } + } + + list EP_N13 { + description "Represents the EP_N13 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N13Grp; + } + } + + } + + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { + list EP_N4 { + description "Represents the EP_N4 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N4Grp; + } + } + + list EP_N3 { + description "Represents the EP_N3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N3Grp; + } + } + + list EP_N9 { + description "Represents the EP_N9 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N9Grp; + } + } + + list EP_S5U { + description "Represents the EP_S5U IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S5UGrp; + } + } + + list EP_EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang new file mode 100755 index 000000000..95f1cea5e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang @@ -0,0 +1,42 @@ +module _3gpp-5gc-nrm-externalnrffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnrffunction; + prefix extnrf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents external NRF function controlled by another management domain."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping ExternalNRFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + augment "/subnet3gpp:SubNetwork" { + list ExternalNRFFunction { + description "5G Core External NRF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNRFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang new file mode 100755 index 000000000..665977805 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang @@ -0,0 +1,43 @@ +module _3gpp-5gc-nrm-externalnssffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnssffunction; + prefix extnssf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents external NSSF function controlled by another management domain."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping ExternalNSSFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + augment "/subnet3gpp:SubNetwork" { + list ExternalNSSFFunction { + description "5G Core External NSSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNSSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang new file mode 100755 index 000000000..38496aaaa --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang @@ -0,0 +1,55 @@ +module _3gpp-5gc-nrm-externalseppfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-extternalseppfunction; + prefix extsepp3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + description "This IOC represents the external SEPP function which support message filtering + and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-11-17 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + grouping ExternalSEPPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + container pLMNId { + description "PLMN Identifiers of the sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf sEPPId { + type uint16; + } + + leaf fqdn { + description "The domain name of the SEPP."; + type inet:domain-name; + } + + } + + augment "/me3gpp:ManagedElement" { + list ExternalSEPPFunction { + description "5G Core SEPP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalSEPPFunctionGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang new file mode 100755 index 000000000..ee9ec056a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -0,0 +1,63 @@ +module _3gpp-5gc-nrm-lmffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-lmffunction; + prefix lmf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the LMF function defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5193518"; } + + revision 2019-05-15 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + + grouping LMFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list LMFFunction { + description "5G Core LMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses LMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang new file mode 100755 index 000000000..05ca146ca --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang @@ -0,0 +1,55 @@ +module _3gpp-5gc-nrm-n3iwffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-n3iwffunction; + prefix n3iwf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the N3IWF function which is used to enable non-3GPP + access networks connected to the 5GC. For more information about the N3IWF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-05-22 { + description "initial revision"; + } + + grouping N3IWFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list N3IWFFunction { + description "5G Core N3IWF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses N3IWFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang new file mode 100755 index 000000000..fdb701ed4 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -0,0 +1,68 @@ +module _3gpp-5gc-nrm-neffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; + prefix nef3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the NEF function in 5GC. For more + information about the NEF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-20 { reference "initial revision"; } + + grouping NEFFunctionGrp { + description "Represents the NEFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the + service-based interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf-list capabilityList { + description "List of supported capabilities of the NEF."; + reference "3GPP TS 23.003"; + type string; + } + + leaf isINEF { + type boolean; + } + + leaf isCAPIFSup { + type boolean; + } + + } + + augment "/me3gpp:ManagedElement" { + list NEFFunction { + description "5G Core NEF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NEFFunctionGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang new file mode 100755 index 000000000..c5b0d609a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -0,0 +1,1095 @@ +module _3gpp-5gc-nrm-nfprofile { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfprofile; + prefix nfp3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } + + organization "3gpp SA5"; + description "NF profile class."; + reference "3GPP TS 29.510"; + + revision 2019-06-17 { + description "initial revision"; + } + + grouping NFProfileGrp { + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive heart-beat messages from + an NF Instance to the NRF. It may be included in the registration request. + When present in the request it shall contain the heartbeat time proposed by the NF service consumer."; + //conditional support + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information is available for the NF. + If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; + + //conditional support + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { //is the key unique + description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. + When present this IE represents the list of S-NSSAIs supported in all the PLMNs listed in the plmnList IE."; + min-elements 1; + //optional support + key "sst sd"; + uses Snssai; + } + + list perPlmnSnssaiList { + description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting is different. + When present, this IE shall include the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, this IE shall override sNssais IE."; + min-elements 1; + //optional support + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses PlmnSnssai; + } + + leaf-list nsiList { + description "NSI identities of the Network Function. + If not provided, the NF can serve any NSI."; + //optional support + min-elements 1; + type string; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF + shall be that of the AMF Name."; + //conditional support + type inet:domain-name; + } + + leaf interPlmnFqdn { + description "If the NF needs to be discoverable by other NFs in a different PLMN, + then an FQDN that is used for inter-PLMN routing is specified."; + //conditional support + type inet:domain-name; + } + + leaf-list ipv4Addresses { + description "IPv4 address(es) of the Network Function."; + min-elements 1; + //conditional support + type inet:ipv4-address; + } + + leaf-list ipv6Addresses { + description "IPv6 address(es) of the Network Function."; + min-elements 1; + //conditional support + type inet:ipv6-address; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + + min-elements 1; + //optional support + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + //optional support + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern representing the NF domain names allowed to access the NF instance. + If not provided, any NF domain is allowed to access the NF."; + min-elements 1; + //optional support + type string; + } + + list allowedNssais { //is the key unique + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + min-elements 1; + //optional support + key "sst sd"; + uses Snssai; + } + + leaf priority { + description "Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, + those will have precedence over this value. The NRF may overwrite the received priority value when exposing + an NFProfile with the Nnrf_NFDiscovery service."; + //optional support + type uint16; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, expressed as a weight + relative to other NF instances of the same type; if capacity is also present + in the nfServiceList parameters, those will have precedence over this value."; + //optional support + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; + //optional support + type types3gpp:Load; + } + + leaf locality { + description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; + //optional support + type string; + } + + grouping udrInfo { + //optional support + + leaf groupId { + description "Identity of the UDR group that is served by the UDR instance. + If not provided, the UDR instance does not pertain to any UDR group."; + //optional support + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses SupiRange; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses IdentityRange; + } + + leaf-list supportedDataSets { + description "List of supported data sets in the UDR instance. + If not provided, the UDR supports all data sets."; + min-elements 1; + //optional support + type DataSetId; + } + } + + grouping udmInfo { + //optional support + + leaf groupId { + description "Identity of the UDM group that is served by the UDM instance. + If not provided, the UDM instance does not pertain to any UDM group."; + //optional support + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses SupiRange; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + //optional support + uses IdentityRange; + } + + leaf-list routingIndicators { + description "List of Routing Indicator information that allows to route network signalling with SUCI + to the UDM instance. If not provided, the UDM can serve any Routing Indicator. + Pattern: '^[0-9]{1,4}$'."; + //optional support + min-elements 1; + type string; + } + } + + grouping ausfInfo { + //optional support + + leaf groupId { + description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; + //optional support + type string; + } + + list supiRanges { + description "List of ranges of SUPIs that can be served by the AUSF instance. If not provided, the AUSF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + //optional support + uses SupiRange; + } + + leaf-list routingIndicators { + description "List of Routing Indicator information that allows to route network signalling with SUCI + to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator. + Pattern: '^[0-9]{1,4}$'."; + //optional support + min-elements 1; + type string; + } + } + + grouping amfInfo { + //optional support + + leaf amfRegionId { + description "AMF region identifier"; + type string; + } + + leaf amfSetId { + description "AMF set identifier"; + type string; + } + + list guamiList { + description "List of supported GUAMIs."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + min-elements 1; + uses Guami; + } + + list taiList { + description "The list of TAIs the AMF can serve. It may contain the non-3GPP access TAI. + The absence of this attribute and the taiRangeList attribute indicate that + the AMF can be selected for any TAI in the serving network."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Tai; + } + + list taiRangeList { + description "The range of TAIs the AMF can serve. The absence of this attribute and the taiList + attribute indicate that the AMF can be selected for any TAI in the serving network."; + //optional support + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses TaiRange; + } + + list backupInfoAmfFailure { + description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Guami; + } + + list backupInfoAmfRemoval { + description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Guami; + } + + list n2InterfaceAmfInfo { + description "N2 interface information of the AMF. This information needs not be sent in NF Discovery responses. + It may be used by the NRF to update the DNS for AMF discovery by the 5G Access Network."; + + //optional support + max-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses N2InterfaceAmfInfo; + } + } + + grouping smfInfo { + //optional support + + list sNssaiSmfInfoList { + description "List of parameters supported by the SMF per S-NSSAI."; + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses sNssaiSmfInfoItem; + } + + list taiList { + description "The list of TAIs the SMF can serve. It may contain the non-3GPP access TAI. + The absence of this attribute and the taiRangeList attribute indicate that + the SMF can be selected for any TAI in the serving network."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Tai; + } + + list taiRangeList { + description "The range of TAIs the SMF can serve. The absence of this attribute and the taiList + attribute indicate that the SMF can be selected for any TAI in the serving network."; + //optional support + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses TaiRange; + } + + leaf pgwFqdn { + description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; + //optional support + type inet:domain-name; + } + + leaf-list accessType { + description "If included, this IE shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. + If not included, it shall be assumed the both access types are supported."; + + //conditional support + min-elements 1; + max-elements 2; + type AccessType; + } + } + + grouping upfInfo { + //optional support + + list sNssaiUpfInfoList { + description "List of parameters supported by the UPF per S-NSSAI."; + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses SnssaiUpfInfoItem; + } + + leaf-list smfServingArea { + description "The SMF service area(s) the UPF can serve. + If not provided, the UPF can serve any SMF service area."; + + //optional support + min-elements 1; + type string; + } + + list interfaceUpfInfo { + description "List of User Plane interfaces configured on the UPF. When this IE is provided in the NF Discovery response, + the NF Service Consumer (e.g. SMF) may use this information for UPF selection."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses InterfaceUpfInfoItem; + } + + leaf iwkEpsInd { + description "Indicates whether interworking with EPS is supported by the UPF. + true: Supported + false (default): Not Supported"; + + //optional support + type boolean; + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by the UPF. The absence of this attribute indicates that the UPF can be selected + for any PDU session type."; + + //optional support + min-elements 1; + type PduSessionType; + } + } + + grouping pcfInfo { + //optional support + + leaf-list dnnList { + description "DNNs supported by the PCF. + If not provided, the PCF can serve any DNN."; + + //optional support + min-elements 1; + type string; + } + + list supiRanges { + description "List of ranges of SUPIs that can be served by the PCF instance. If not provided, the PCF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + //optional support + uses SupiRange; + } + + leaf rxDiamHost { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter host of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + //conditional support + type string; + } + + leaf rxDiamRealm { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter realm of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + //conditional support + type string; + } + } + + grouping bsfInfo { + //optional support + + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + //optional support + key "start end"; + uses types3gpp:Ipv4AddressRange; + } + + leaf-list dnnList { + description "List of DNNs handled by the BSF + If not provided, the BSF can serve any DNN."; + + //optional support + min-elements 1; + type string; + } + + leaf-list ipDomainList { + description "List of IPv4 address domains, as described in subclause 6.2 of 3GPP TS 29.513, handled by the BSF. + If not provided, the BSF can serve any IP domain."; + //optional support + min-elements 1; + type string; + } + + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + //optional support + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + + grouping chfInfo { + //optional support + + list supiRangeList { + description "List of ranges of SUPIs that can be served by the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + //optional support + uses SupiRange; + } + + list gpsiRangeList { + description "List of ranges of GPSI that can be served by the CHF instance. If not provided, the CHF can serve any GPSI."; + key "start end pattern"; + min-elements 1; + //optional support + uses IdentityRange; + } + + list plmnRangeList { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + //optional support + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + grouping nrfInfoGrp { + //optional support + + list servedUdrInfo { + description "This attribute contains all the udrInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udrInfo; + } + + list servedUdmInfo { + description "This attribute contains all the udmInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udmInfo; + } + + list servedAusfInfo { + description "This attribute contains all the ausfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses ausfInfo; + } + + list servedAmfInfo { + description "This attribute contains all the amfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses amfInfo; + } + + list servedSmfInfo { + description "This attribute contains all the smfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses smfInfo; + } + + list servedUpfInfo { + description "This attribute contains all the upfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses upfInfo; + } + + list servedPcfInfo { + description "This attribute contains all the pcfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses pcfInfo; + } + + list servedBsfInfo { + description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses bsfInfo; + } + + list servedChfInfo { + description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses chfInfo; + } + } + + list nrfInfo { + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + max-elements 1; + uses nrfInfoGrp; + } + + leaf customInfo { + description "Specific data for custom Network Functions."; + type string; + } + + leaf recoveryTime { + description "Timestamp when the NF was (re)started."; + //optional support + type yang:date-and-time; + } + + leaf nfServicePersistence { + description "If present, and set to true, it indicates that the different service instances of a same NF Service in this NF instance, + supporting a same API version, are capable to persist their resource state in shared storage and therefore these resources + are available after a new NF service instance supporting the same API version is selected by a NF Service Consumer (see 3GPP TS 23.527). + Otherwise, it indicates that the NF Service Instances of a same NF Service are not capable to share resource state inside the NF Instance."; + + //optional support + type boolean; + } + + list nfServices { + description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; + key serviceInstanceID; + //optional support + min-elements 1; + uses nfs3gpp:NFServiceGrp; + } + + leaf nfProfileChangesSupportInd { + description "NF Profile Changes Support Indicator. This IE may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response. + true: the NF Service Consumer supports receiving NF Profile Changes in the response. + false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; + + //optional support + type boolean; + } + + leaf nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + //optional support + type boolean; + } + + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types."; + key notificationType; + //optional support + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + } + + typedef NFStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + } + } + + typedef DataSetId { + type enumeration { + enum SUBSCRIPTION; + enum POLICY; + enum EXPOSURE; + enum APPLICATION; + } + } + + grouping SupiRange { + leaf start { + description "First value identifying the start of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging to this range. + A SUPI value is considered part of the range if and only if the SUPI string fully matches the regular expression."; + type string; + } + } + + grouping IdentityRange { + leaf start { + description "First value identifying the start of an identity range. To be used when the range of identities can be represented as a numeric range (e.g., MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of an identity range. To be used when the range of identities can be represented as a numeric range (e.g. MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of identities belonging to this range. + An identity value is considered part of the range if and only if the identity string fully matches the regular expression."; + type string; + } + } + + grouping TacRange { + leaf start { + description "First value identifying the start of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g., TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; + } + } + + leaf end { + description "Last value identifying the end of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g. TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; + } + } + + leaf pattern { + description "Pattern representing the set of TAC's belonging to this range."; + type string; + } + } + + grouping SnssaiUpfInfoItem { + list sNssai { //is the key unique + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses Snssai; + } + + list dnnUpfInfoList { + description "List of parameters supported by the UPF per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItem; + } + } + + grouping DnnUpfInfoItem { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported by the UPF for this DNN. + The absence of this attribute indicates that the UPF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with desc: DNAI (Data network access identifier), is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + } + + grouping Snssai { + leaf sst { + description "Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. + It indicates the expected Network Slice behaviour in terms of features and services."; + mandatory true; + type uint32; + } + + leaf sd { + description "3-octet string, representing the Slice Differentiator, in hexadecimal representation."; + //optional + type string { + pattern '^[A-Fa-f0-9]{6}$'; + } + } + + reference "3GPP TS 29.571"; + } + + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + + grouping Guami { + list plmnId { + description "PLMN Identity."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list amfId { + description "AMF Identity."; + min-elements 1; + max-elements 1; + key "amfRegionId amfSetId amfPointer"; + uses types3gpp:AmfIdentifier; + } + } + + grouping Tai { + list plmnId { + description "PLMN Identity."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf tac { type types3gpp:Tac; } + } + + grouping InterfaceUpfInfoItem { + leaf interfaceType { + description "User Plane interface type."; + mandatory true; + type UPInterfaceType; + } + + ////At least one of the addressing parameters (ipv4address, ipv6adress or endpointFqdn) shall be included in the InterfaceUpfInfoItem. + choice address { + case ipv4EndpointAddresses { + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of the User Plane interface."; + //conditional support + min-elements 1; + type inet:ipv4-address; + } + } + + case ipv6EndpointAddresses { + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of the User Plane interface."; + //conditional support + min-elements 1; + type inet:ipv6-address; + } + } + + case endpointFqdn { + leaf endpointFqdn { + description "FQDN of available endpoint of the User Plane interface."; + //conditional support + type inet:domain-name; + } + } + } + + leaf networkInstance { + description "Network Instance associated to the User Plane interface."; + //optional support + type string; + } + } + + typedef UPInterfaceType { + type enumeration { + enum N3; + enum N6; + enum N9; + } + } + + grouping TaiRange { + list plmnId { + description "PLMN ID related to the TacRange."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list tacRangeList { //is this key unique + description "The range of the TACs."; + min-elements 1; + key "start end"; + uses TacRange; + } + } + + typedef AccessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + } + + grouping N2InterfaceAmfInfo { + //At least one of the addressing parameters (ipv4address or ipv6adress) shall be included. + choice address { + case ipv4EndpointAddress { + leaf-list ipv4EndpointAddress { + description "Available AMF endpoint IPv4 address(es) for N2."; + //conditional support + min-elements 1; + type inet:ipv4-address; + } + } + + case ipv6EndpointAddress { + leaf-list ipv6EndpointAddress { + description "Available AMF endpoint IPv6 address(es) for N2."; + //conditional support + min-elements 1; + type inet:ipv6-address; + } + } + } + + leaf amfName { + description "AMF name."; + type string; + } + } + + grouping sNssaiSmfInfoItem { + list sNssai { //is the key unique + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses Snssai; + } + + list dnnSmfInfoList { //is the key unique + description "List of parameters supported by the SMF per DNN."; + min-elements 1; + key dnn; + uses DnnSmfInfoItem; + } + } + + grouping DnnSmfInfoItem { + leaf dnn { + description "Supported DNN."; + mandatory true; + type string; + } + } + + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssaiList { //is the key unique + description "The specific list of S-NSSAIs supported by the given PLMN."; + min-elements 1; + key "sst sd"; + uses Snssai; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang new file mode 100755 index 000000000..3d3856931 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -0,0 +1,302 @@ +module _3gpp-5gc-nrm-nfservice { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfservice; + prefix nfs3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "NF service class."; + reference "3GPP TS 29.510"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-06-17 { reference "initial revision"; } + + grouping NFServiceGrp { + description "Represents the NFService IOC"; + leaf serviceInstanceID { + description + "Unique ID of the service instance within a given NF Instance."; + mandatory true; + type string; + } + + leaf serviceName { + description "Name of the service instance (e.g. 'nudm-sdm')."; + mandatory true; + type ServiceName; + } + + list versions { //check in review if key is ok (unique) + description "API versions supported by the NF Service and if available, + the corresponding retirement date of the NF Service."; + min-elements 1; + key "apiVersionInUri apiFullVersion"; + uses NFServiceVersion; + } + + leaf scheme { + description "URI scheme (e.g. 'http', 'https')."; + mandatory true; + type UriScheme; + } + + leaf nfServiceStatus { + description "Status of the NF Service Instance."; + mandatory true; + type NFServiceStatus; + } + + leaf fqdn { + description "FQDN of the NF Service Instance."; + //optional support + type inet:domain-name; + } + + leaf interPlmnFqdn { + description "If the NF service needs to be discoverable by other NFs in a + different PLMN, then an FQDN that is used for inter PLMN routing."; + //optional support + type inet:domain-name; + } + + list ipEndPoints { + description "IP address(es) and port information of the Network Function + (including IPv4 and/or IPv6 address)where the service is listening + for incoming service requests."; + //optional support + + key idx; + leaf idx { + type string; + } + min-elements 1; + uses ipEndPoint; + } + + leaf apiPrefix { + description "Optional path segment(s) used to construct the {apiRoot} + variable of the different API URIs."; + //optional support + type string; + } + + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types."; + key notificationType; + //optional support + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + + list allowedPlmns { + description "PLMNs allowed to access the service instance. + The absence of this attribute indicates that any PLMN is allowed to + access the service instance."; + + min-elements 1; + //optional support + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the service instance. + The absence of this attribute indicates that any NF type is allowed + to access the service instance."; + + min-elements 1; + //optional support + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern representing the NF domain names allowed to access the service instance."; + //optional support + min-elements 1; + type string; + } + + list allowedNssais { + description "S-NSSAI of the allowed slices to access the service instance. + The absence of this attribute indicates that any slice is allowed to + access the service instance."; + min-elements 1; + //optional support + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf priority { + description "Priority (relative to other services of the same type) + in the range of 0-65535, to be used for NF Service selection; lower + values indicate a higher priority."; + //optional support + type uint16; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other services of the same type."; + //optional support + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, indicates + the current load percentage of the NF Service."; + //optional support + type types3gpp:Load; + } + + leaf recoveryTime { + description "Timestamp when the NF was (re)started."; + //optional support + type yang:date-and-time; + } + + list chfServiceInfo { //is the key unique + description "Specific data for a CHF service instance."; + //optional support + max-elements 1; + key "primaryChfServiceInstance secondaryChfServiceInstance"; + uses ChfServiceInfo; + } + + leaf supportedFeatures { + description "Supported Features of the NF Service instance."; + //optional support + type SupportedFeatures; + } + } + + typedef SupportedFeatures { + type string { + pattern '[A-Fa-f0-9]*'; + } + } + + grouping ipEndPoint { + choice address { + leaf ipv4Address { + type inet:ipv4-address; + } + + leaf ipv6Address { + type inet:ipv6-address; + } + + leaf ipv6Prefix { + type inet:ipv6-prefix; + } + } + + leaf transport { + type TransportProtocol; + } + + leaf port { + type uint16; + } + } + + typedef TransportProtocol { + type enumeration { + enum TCP; + enum STCP; + enum UDP; + } + } + + grouping NFServiceVersion { + leaf apiVersionInUri { + mandatory true; + type string; + } + + leaf apiFullVersion { + mandatory true; + type string; + } + + leaf expiry { + //optional to support + type yang:date-and-time; + } + } + + typedef ServiceName { + type enumeration { + enum NNRF_NFM; + enum NNRF_DISC; + enum NUDM_SDM; + enum NUDM_UECM; + enum NUDM_UEAU; + enum NUDM_EE; + enum NUDM_PP; + enum NAMF_COMM; + enum NAMF_EVTS; + enum NAMF_MT; + enum NAMF_LOC; + enum NSMF_PDUSESSION; + enum NSMF_EVENT-EXPOSURE; + enum NAUSF_AUTH; + enum NAUSF_SORPROTECTION; + enum NNEF_PFDMANAGEMENT; + enum NPCF_AM-POLICY-CONTROL; + enum NPCF_SMPOLICYCONTROL; + enum NPCF_POLICYAUTHORIZATION; + enum NPCF_BDTPOLICYCONTROL; + enum NPCF_EVENTEXPOSURE; + enum NPCF_UE_POLICY_CONTROL; + enum NSMSF_SMS; + enum NNSSF_NSSELECTION; + enum NNSSF_NSSAIAVAILABILITY; + enum NUDR_DR; + enum NLMF_LOC; + enum N5G_EIR_EIC; + enum NBSF_MANAGEMENT; + enum NCHF_SPENDINGLIMITCONTROL; + enum NCHF_CONVERGEDCHARGING; + enum NNWDAF_EVENTSSUBSCRIPTION; + enum NNWDAF_ANALYTICSINFO; + } + } + + typedef UriScheme { + type enumeration { + enum HTTP; + enum HTTPS; + } + } + + typedef NFServiceStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + enum UNDISCOVERABLE; + } + } + + grouping ChfServiceInfo { + leaf primaryChfServiceInstance { + description "Shall be present if the CHF service instance serves as a + secondary CHF instance of another primary CHF service instance."; + //conditional to support + type string; + } + + leaf secondaryChfServiceInstance { + description "Shall be present if the CHF service instance serves as a + primary CHF instance of another secondary CHF service instance."; + //conditional to support + type string; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang new file mode 100755 index 000000000..9edbd01f0 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -0,0 +1,80 @@ +module _3gpp-5gc-nrm-ngeirfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ngeirfunction; + prefix ngeir3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the 5G-EIR function in 5GC. For more + information about the 5G-EIR, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 {reference "initial revision"; } + + grouping NGEIRFunctionGrp { + description "Represents the NGEIRFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and + a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list NGEIRFunction { + description "5G Core NGEIR Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NGEIRFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang new file mode 100755 index 000000000..62e0ca74c --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -0,0 +1,88 @@ +module _3gpp-5gc-nrm-nrffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction; + prefix nrf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the NRF function in 5GC. + For more information about the NRF, see 3GPP TS 23.501 [2]."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-05-15 { reference "initial revision"; } + + grouping NRFFunctionGrp { + description "Represents the NRFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + leaf-list cNSIIdList { + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + and subclause 6.1.6.2.7 of 3GPP TS 29.531"; + type string; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list nFProfileList { + description "Set of NFProfile(s) to be registered in the NRF instance."; + //optional support + key nfInstanceID; + uses nfp3gpp:NFProfileGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list NRFFunction { + description "5G Core NRF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang new file mode 100755 index 000000000..b68d988ec --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -0,0 +1,87 @@ +module _3gpp-5gc-nrm-nssffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction; + prefix nssf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the NSSF function in 5GC. For more + information about the NSSF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-15 { reference "initial revision"; } + + grouping NSSFFunctionGrp { + description "Represents the NSSFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least + one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf-list cNSIIdList { + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + and subclause 6.1.6.2.7 of 3GPP TS 29.531"; + type string; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list NSSFFunction { + description "5G Core NSSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NSSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang new file mode 100755 index 000000000..bf143ba35 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -0,0 +1,86 @@ +module _3gpp-5gc-nrm-nwdaffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nwdaffunction; + prefix nwdaf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 {reference "initial revision"; } + + grouping NWDAFFunctionGrp { + description "Represents the NWDAFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list NWDAFFunction { + description "5G Core NWDAF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NWDAFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang new file mode 100755 index 000000000..a7f9bd152 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -0,0 +1,97 @@ +module _3gpp-5gc-nrm-pcffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-pcffunction; + prefix pcf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the PCF function in 5GC. For more + information about the PCF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-08-06 { reference "CR-0331"; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + revision 2019-05-22 { reference "initial revision"; } + + grouping PCFFuntionGrp { + description "Represents the PCFFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the PCFFunction supports + (is associated to)."; + } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the PCFFunction supports + (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + list PCFFunction { + description "5G Core PCF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses PCFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang new file mode 100755 index 000000000..ac3faf5c6 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -0,0 +1,642 @@ +module _3gpp-5gc-nrm-predefinedpccruleset { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-predefinedpccruleset; + prefix PredPccRules3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } + import ietf-yang-types { prefix yang; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the predefined PCC rules, which are + configured to SMF and referenced by PCF."; + reference "3GPP TS 28.541"; + + revision 2020-09-30 { reference "CR-0393"; } + revision 2020-08-21 { reference "CR-0330"; } + + grouping TscaiInputContainer { + description "It specifies the transports TSCAI input parameters for TSC + traffic at the ingress interface of the DS-TT/UE for a PCC rule."; + reference " 3GPP TS 29.512"; + leaf periodicity { + type uint32; + description "It identifies the time period between the start of two bursts + in reference to the TSN GM."; + reference "3GPP TS 29.571."; + } + leaf burstArrivalTime { + type yang:date-and-time; + description "It Indicates the arrival time (in date-time format) of the + data burst in reference to the TSN GM."; + reference "3GPP,TS 29.571."; + } + } + + grouping ConditionData { + description "It specifies the specifies the condition data for a PCC rule."; + leaf condId { + type string; + mandatory true; + description "It uniquely identifies the condition data."; + } + leaf activationTime { + type yang:date-and-time; + description " It indicates the time (in date-time format) when the decision + data shall be activated."; + reference "3GPP29.512 and TS 29.571."; + } + leaf deactivationTime { + type yang:date-and-time; + description "It indicates the time (in date-time format) when the decision + data shall be deactivated."; + reference "3GPPTS 29.512 and TS 29.571."; + } + leaf accessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + description "It provides the condition of access type of the UE when the + session AMBR shall be enforced."; + reference "3GPPTS 29.512."; + } + leaf ratType { + type enumeration { + enum NR; + enum EUTRA; + enum WLAN; + enum VIRTUAL; + enum NBIOT; + enum WIRELINE; + enum WIRELINE_CABLE; + enum WIRELINE_BBF; + enum LTE-M; + enum NR_U; + enum EUTRA_U; + enum TRUSTED_N3GA; + enum TRUSTED_WLAN; + enum UTRA; + enum GERA; + } + description "It provides the condition of RAT type of the UE when the + session AMBR shall be enforced."; + reference "3GPPTS 29.512 and TS 29.571."; + } + } + + grouping SteeringMode { + description "It specifies the traffic distribution rule, see TS 29.512."; + leaf steerModeValue { + type enumeration { + enum ACTIVE_STANDBY; + enum LOAD_BALANCING; + enum SMALLEST_DELAY; + enum PRIORITY_BASED; + } + mandatory true; + description "It indicates the value of the steering mode, see TS 29.512."; + } + leaf active { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + description "It indicates the active access, see TS 29.571."; + } + leaf standby { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + description "It indicates the Standby access, see TS 29.571."; + } + leaf threeGLoad { + type uint8 { + range 0..100; + } + description "It indicates the traffic load to steer to the 3GPP Access + expressed in one percent."; + } + leaf prioAcc { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + description "It indicates the high priority access."; + reference "3GPPTS 29.571"; + } + } + + grouping UpPathChgEvent { + description "It specifies the information about the AF subscriptions of the + UP path change."; + reference "3GPPTS 29.512"; + leaf notificationUri { + type string; + mandatory true; + description "It provides notification address (Uri) of AF receiving the + event notification."; + } + leaf notifCorreId { + type string; + mandatory true; + description "It is used to set the value of Notification Correlation ID in + the notification sent by the SMF, see TS 29.512"; + } + leaf dnaiChgType { + type enumeration { + enum EARLY; + enum EARLY_LATE; + enum LATE; + } + mandatory true; + description "It indicates the type of DNAI change, see TS 29.512"; + } + leaf afAckInd { + type boolean; + default false; + description "It identifies whether the AF acknowledgement of UP path + event notification is expected."; + } + } + + grouping RouteInformation { + description "It specifies the traffic routing information."; + leaf ipv4Addr { + type string; + description "It defines the Ipv4 address of the tunnel end point in the + data network, formatted in the dotted decimal notation."; + } + leaf ipv6Addr { + type string; + description "It defines the Ipv6 address of the tunnel end point in the + data network."; + } + leaf portNumber { + type uint32; + mandatory true; + description " It defines the UDP port number of the tunnel end point in + the data network, see TS 29.571"; + } + } + + grouping RouteToLocation { + description "It specifies a list of location which the traffic shall be + routed to for the AF request."; + leaf dnai { + type string; + mandatory true; + description "It represents the DNAI (Data network access identifier)."; + reference "3GPP 3GPP TS 23.501"; + } + container routeInfo{ + description "It provides the traffic routing information."; + uses RouteInformation; + } + leaf routeProfId { + type string; + description "It identifies the routing profile."; + } + } + + grouping RedirectInformaton { + description "It specifies the redirect information for traffic control in + the PCC rule."; + leaf redirectEnabled { + type boolean; + mandatory true; + description "It indicates whether the redirect instruction is enabled."; + } + leaf redirectAddressType { + type enumeration { + enum IPV4_ADDR; + enum IPV6_ADDR; + enum URL; + enum SIP_URI; + } + mandatory true; + description "It indicates the type of redirect address."; + reference "3GPPTS 29.512"; + } + leaf redirectServerAddress { + type string; + mandatory true; + description "It indicates the address of the redirect server."; + } + } + + grouping TrafficControlDataInformation { + description "It specifies the traffic control data for a service + flow of a PCC rule."; + leaf tcId { + type string; + mandatory true; + description "It univocally identifies the traffic control policy data + within a PDU session."; + } + leaf flowStatus { + type enumeration { + enum ENABLED-UPLINK; + enum ENABLED-DOWNLINK; + enum ENABLED; + enum DISABLED; + enum REMOVED; + } + mandatory true; + description "It represents whether the service data flow(s) are enabled + or disabled."; + } + container redirectInfo { + description "It contains the redirect information indicating whether the + detected application traffic should be redirected to another controlled + address."; + uses RedirectInformaton; + } + container addRedirectInfo { + description "It contains the additional redirect information indicating + whether the detected application traffic should be redirected to another + controlled address."; + list redirectInfo { + description "The list of redirect information indicating whether the + detected application traffic should be redirected to another + controlled address."; + key "redirectServerAddress"; + uses RedirectInformaton; + } + } + leaf muteNotif { + type boolean; + default false; + description "It indicates whether applicat'on's start or stop notification + is to be muted."; + } + leaf trafficSteeringPolIdDl { + type string; + description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512"; + } + leaf trafficSteeringPolIdUl { + type string; + mandatory false; + description "It references to a pre-configured traffic steering policy for + uplink traffic at the SMF, see TS 29.512"; + } + container routeToLocs { + description "It provides a list of location which the traffic shall be + routed to for the AF request."; + list routeToLoc { + description "The list of location which the traffic shall be routed to + for the AF request."; + key "dnai"; + uses RouteToLocation; + } + } + uses UpPathChgEvent; + leaf steerFun { + type enumeration { + enum MPTCP; + enum ATSSS_LL; + } + description "It indicates the applicable traffic steering functionality."; + reference "3GPPTS 29.512"; + } + container steerModeDl { + description "It provides the traffic distribution rule across 3GPP and + Non-3GPP accesses to apply for downlink traffic."; + uses SteeringMode; + } + container steerModeUl { + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for uplink traffic."; + uses SteeringMode; + } + leaf mulAccCtrl { + type enumeration { + enum ALLOWED; + enum NOT_ALLOWED; + } + description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; + } + } + + grouping ARP { + description "It specifies the allocation and retention priority of a QoS control policy."; + leaf priorityLevel { + type uint8 { + range 1..15; + } + mandatory true; + description "It defines the relative importance of a resource request."; + } + leaf preemptCap { + type enumeration { + enum NOT_PREEMPT; + enum MAY_PREEMPT; + } + mandatory true; + description "It defines whether a service data flow may get resources that were already assigned to another service data flow with a lower priority level."; + } + leaf preemptVuln { + type enumeration { + enum NOT_PREEMPTABLE; + enum PREEMPTABLE; + } + mandatory true; + description "It defines whether a service data flow may lose the resources assigned to it in order to admit a service data flow with higher priority level."; + } + } + + grouping QosDataInformation { + description "It specifies the QoS control policy data for a service flow of a PCC rule."; + leaf qosId { + type string; + mandatory true; + description "It identifies the QoS control policy data for a PCC rule."; + } + leaf fiveQIValue { + type uint8 { + range 0..255; + } + mandatory true; + description "It indicates the 5QI value."; + } + leaf maxbrUl { + type string; + description "It represents the maximum uplink bandwidth."; + } + leaf maxbrDl { + type string; + description "It represents the maximum downlink bandwidth."; + } + leaf gbrUl { + type string; + description "It represents the guaranteed uplink bandwidth."; + } + leaf gbrDl { + type string; + description "It represents the guaranteed downlink bandwidth."; + } + uses ARP; + leaf qosNotificationControl { + type boolean; + default false; + description "It indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow."; + } + leaf reflectiveQos { + type boolean; + default false; + description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow"; + } + leaf sharingKeyDl { + type string; + description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction."; + } + leaf sharingKeyUl { + type string; + description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction."; + } + leaf maxPacketLossRateDl { + type uint16 { + range 0..1000; + } + description "It indicates the downlink maximum rate for lost packets that can be tolerated for the service data flow."; + } + leaf maxPacketLossRateUl { + type uint16 { + range 0..1000; + } + description "It indicates the uplink maximum rate for lost packets that can be tolerated for the service data flow."; + } + leaf extMaxDataBurstVol { + type uint32 { + range 4096..2000000; + } + description "It denotes the largest amount of data that is required to be transferred within a period of 5G-AN PDB, see TS 29.512"; + } + } + + grouping EthFlowDescription { + description "It describes an Ethernet flow."; + leaf destMacAddr { + type string; + mandatory true; + description "It specifies the destination MAC address formatted in the + hexadecimal ."; + reference "clause 1.1 and clause 2.1 of IETF RFC"; + } + leaf ethType { + type string; + mandatory true; + description "A two-octet string that represents the Ethertype."; + reference "IEEE 802.3 and IETF RFC 7042 in hexadecimal representation."; + } + leaf fDesc { + type string; + description "It contains the flow description for the Uplink or Downlink IP flow. It shall be present when the ethtype is IP."; + } + leaf fDir { + type enumeration { + enum DOWNLINK; + enum UPLINK; + } + mandatory true; + description "It indicates the packet filter direction."; + } + leaf sourceMacAddr { + type string; + mandatory true; + description "It specifies the source MAC address formatted in the + hexadecimal notation."; + reference "clause 1.1 and clause 2.1 of IETF RFC 7042"; + } + leaf-list vlanTags { + type string; + description "It specifies the Customer-VLAN and/or Service-VLAN tags + containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and + IETF RFC 7042. The first/lower instance in the array stands for the + Customer-VLAN tag and the second/higher instance in the array stands + for the Service-VLAN tag."; + } + leaf srcMacAddrEnd { + type string; + description "It specifies the source MAC address end. If this attribute is present, the sourceMacAddr attribute specifies the source MAC address start. E.g. srcMacAddrEnd with value 00-10-A4-23-3E-FE and sourceMacAddr with value 00-10-A4-23-3E-02 means all MAC addresses from 00-10-A4-23-3E-02 up to and including 00-10-A4-23-3E-FE."; + } + leaf destMacAddrEnd { + type string; + description "It specifies the destination MAC address end. If this attribute is present, the destMacAddr attribute specifies the destination MAC address start."; + } + } + + grouping FlowInformation { + description "It specifies the flow information of a PCC rule."; + leaf flowDescription { + type string; + mandatory true; + description "It defines a packet filter for an IP flow."; + } + uses EthFlowDescription; + leaf packFiltId { + type string; + mandatory true; + description "It is the identifier of the packet filter."; + } + leaf packetFilterUsage { + type boolean; + default false; + description "It indicates if the packet shall be sent to the UE."; + } + leaf tosTrafficClass { + type string; + mandatory true; + description "It contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field."; + } + leaf spi { + type string; + mandatory true; + description "It is the security parameter index of the IPSec packet."; + reference "IETF RFC 4301"; + } + leaf flowLabel { + type string; + description "It specifies the Ipv6 flow label header field."; + } + leaf flowDirection { + type enumeration { + enum DOWNLINK; + enum UPLINK; + enum BIDIRECTIONAL; + enum UNSPECIFIED; + } + mandatory true; + description "It indicates the direction/directions that a filter is applicable."; + } + } + + grouping PccRule { + description "It specifies the PCC rule, see TS 29.512"; + leaf pccRuleId { + type string; + mandatory true; + description "It identifies the PCC rule."; + } + container flowInfoList { + description "It is a list of IP flow packet filter information."; + list flowInfo { + description "The list of IP flow packet filter information."; + key "packFiltId"; + uses FlowInformation; + } + } + leaf applicationId { + type string; + default false; + description "A reference to the application detection filter configured + at the UPF."; + } + leaf appDescriptor { + type string; + description "It is the ATSSS rule application descriptor."; + } + leaf contentVersion { + type uint8; + description "Indicates the content version of the PCC rule."; + } + leaf precedence { + type uint8 { + range 0..255; + } + description "It indicates the order in which this PCC rule is applied + relative to other PCC rules within the same PDU session."; + } + leaf afSigProtocol { + type enumeration { + enum NO_INFORMATION; + enum SIP; + } + description "Indicates the protocol used for signalling between the UE + and the AF, the default value is NO_INFORMATION."; + } + leaf isAppRelocatable { + type boolean; + default false; + mandatory false; + description "It indicates the application relocation possibility, the + default value is NO_INFORMATION."; + } + leaf isUeAddrPreserved { + type boolean; + default false; + description "It Indicates whether UE IP address should be preserved."; + } + container qosData { + description "It contains the QoS control policy data for a PCC rule."; + list qosDataInfo { + description "The list of QoS control policy data."; + key "qosId"; + uses QosDataInformation; + } + } + container altQosParams { + description "It contains the QoS control policy data for the Alternative + QoS parameter sets of the service data flow."; + list qosDataInfo { + description "The list of QoS control policy data."; + key "qosId"; + uses QosDataInformation; + } + } + container trafficControlData { + description "It contains the traffic control policy data for a PCC rule."; + list trafficControlDataInfo { + description "The list of traffic control policy data."; + key "tcId"; + uses TrafficControlDataInformation; + } + } + uses ConditionData; + container tscaiInputUl { + description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; + uses TscaiInputContainer; + + } + container tscaiInputDl { + description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; + uses TscaiInputContainer; + } + } + + grouping PredefinedPccRuleSetGrp { + description "Represents the PredefinedPccRuleSet IOC."; + list PredefinedPccRules { + description "The list of predefined PCC rules."; + key "pccRuleId"; + uses PccRule; + } + } + + grouping PredefinedPccRuleSetSubtree { + description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; + list PredefinedPccRuleSet { + description "Specifies the predefined PCC rules."; + key "id"; + uses top3gpp:Top_Grp; + container attributes { + description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; + uses PredefinedPccRuleSetGrp; + } + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + description "It specifies the containment relation of PredefinedPccRuleSet MOI with SMFFunction MOI."; + uses PredefinedPccRuleSetSubtree; + } + + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { + description "It specifies the containment relation of PredefinedPccRuleSet MOI with PCFFunction MOI."; + uses PredefinedPccRuleSetSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-scpfunction.yang b/yang-models/_3gpp-5gc-nrm-scpfunction.yang new file mode 100755 index 000000000..aa1f98072 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-scpfunction.yang @@ -0,0 +1,50 @@ +module _3gpp-5gc-nrm-scpfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-scpfunction; + prefix scp3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the SCP function in 5GC. For more information about the SCP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-20 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + grouping SCPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + leaf address { + description "The host address of the SCP."; + type inet:host; + } + + list supportedFuncList { + min-elements 1; + key "function"; + uses types5g3gpp:SupportedFunc; + } + + } + + augment "/me3gpp:ManagedElement" { + list SCPFunction { + description "5G Core SCP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SCPFunctionGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-seppfunction.yang b/yang-models/_3gpp-5gc-nrm-seppfunction.yang new file mode 100755 index 000000000..e4793dd3f --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-seppfunction.yang @@ -0,0 +1,70 @@ +module _3gpp-5gc-nrm-seppfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-seppfunction; + prefix sepp3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + description "This IOC represents the SEPP function which support message filtering + and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-28 { reference S5-193518 ; } + + typedef SEPPType { + reference "3GPP TS 23501"; + type enumeration { + enum CSEPP { + value 0; + description "consumer SEPP"; + } + + enum PSEPP { + value 1; + description "producer SEPP"; + } + } + } + + grouping SEPPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + container pLMNId { + description "PLMN Identifiers of the sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf sEPPType { + type sepp3gpp:SEPPType; + } + + leaf sEPPId { + type uint16; + } + + leaf fqdn { + description "The domain name of the SEPP."; + type inet:domain-name; + } + } + + augment "/me3gpp:ManagedElement" { + list SEPPFunction { + description "5G Core SEPP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SEPPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang new file mode 100755 index 000000000..04659fb71 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -0,0 +1,102 @@ +module _3gpp-5gc-nrm-smffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smffunction; + prefix smf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "SMFFunction derived from basic ManagedFunction."; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + revision 2019-05-31 {reference "Ericsson refactoring."; } + revision 2018-08-07 { reference "Initial revision";} + + grouping SMFFunctionGrp { + description "Represents the SMFFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + min-elements 1; + description "A list of PLMN identifiers (Mobile Country Code and Mobile + Network Code)."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list nRTACList { + description "List of Tracking Area Codes (legacy TAC or extended TAC) + where the represented management function is serving."; + reference "TS 38.413 clause 9.3.3.10"; + min-elements 1; + config false; + type types3gpp:Tac; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the SMFFunction supports + (is associated to)."; + } + + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the SMFFunction supports + (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + list SMFFunction { + description "5G Core SMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang new file mode 100755 index 000000000..720d90417 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-smsffunction.yang @@ -0,0 +1,62 @@ +module _3gpp-5gc-nrm-smsffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smsffunction; + prefix smsf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the SMSF function defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 { + description "initial revision"; + + } + + grouping SMSFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list SMSFFunction { + description "5G Core SMSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SMSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang new file mode 100755 index 000000000..74965272a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -0,0 +1,86 @@ +module _3gpp-5gc-nrm-udmfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udmfunction; + prefix udm3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the UDM function in 5GC. For more + information about the UDM, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-22 { reference "initial revision";} + + grouping UDMFuntionGrp { + description "Represents the UDMFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list UDMFunction { + description "5G Core UDM Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDMFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang new file mode 100755 index 000000000..5eabaac8b --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -0,0 +1,78 @@ +module _3gpp-5gc-nrm-udrfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction; + prefix udr3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the UDR function in 5GC. For more information + about the UDR, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-22 {reference "initial revision"; } + + grouping UDRFuntionGrp { + description "Representse the UDRFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list UDRFunction { + description "5G Core UDR Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDRFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang new file mode 100755 index 000000000..c0ef6f217 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -0,0 +1,79 @@ +module _3gpp-5gc-nrm-udsffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction; + prefix udsf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the UDSF function which can be interacted + with any other 5GC NF defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-22 { reference "initial revision"; } + + grouping UDSFFuntionGrp { + description "Represents the UDSFFuntion IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the + service-based interface."; + type inet:domain-name; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + //optional support + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + description "Managed Network Function profile"; + reference "3GPP TS 23.501"; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list UDSFFunction { + description "5G Core UDSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDSFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang new file mode 100755 index 000000000..1443942e5 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -0,0 +1,80 @@ +module _3gpp-5gc-nrm-upffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-upffunction; + prefix upf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "UPFFunction derived from basic ManagedFunction."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + revision 2019-05-31 { reference "Ericsson refactoring."; } + revision 2018-08-07 { reference "Initial revision"; } + + grouping UPFFunctionGrp { + description "Represents the UPFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "A list of PLMN identifiers (Mobile Country Code and Mobile + Network Code)."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list nRTACList { + description "List of Tracking Area Codes (legacy TAC or extended TAC) + where the represented management function is serving."; + reference "TS 38.413 clause 9.3.3.10"; + min-elements 1; + config false; + type types3gpp:Tac; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of supporting. + (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + reference "3GPP TS 23.003"; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + reference "3GPP TS 23.003"; + uses types3gpp:ManagedNFProfile; + } + + leaf-list supportedBMOList { + type string; + description "List of supported BMOs (Bridge Managed Objects) required + for integration with TSN system."; + } + } + + augment /me3gpp:ManagedElement { + list UPFFunction { + description "5G Core UPF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang new file mode 100755 index 000000000..0dc1ddc30 --- /dev/null +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -0,0 +1,68 @@ +module _3gpp-common-ep-rp { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; + prefix "eprp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp ; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-measurements { prefix meas3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Common/basic class/grouping to be inherited/reused. + This IOC represents an end point of a link used across a reference + point between two network entities."; + reference + "3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2020-06-08 { reference "CR-0092"; } + + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EP_RPGrp { + description "Abstract class, represents an end point of a link used + across a reference point between two network entities. + + For naming the subclasses of EP_RP, the following rules shall apply: + - The name of the subclassed IOC shall have the form 'EP_', + where is a string that represents the name of the reference point. + Thus, two valid examples of EP_RP subclassed IOC names would be: + EP_S1 and EP_X2."; + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + + leaf farEndEntity { + config false; + type types3gpp:DistinguishedName; + } + } + + grouping EP_Common { + uses EP_RPGrp; + uses meas3gpp:SupportedPerfMetricGroupGrp; + list localAddress { + description "Local IP address and VLAN ID."; + key "ipAddress vlanId"; + min-elements 1; + max-elements 1; + uses types3gpp:AddressWithVlan; + } + + leaf remoteAddress { + description "Remote IP address."; + mandatory true; + type inet:ip-address; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang new file mode 100755 index 000000000..c6b4d33cb --- /dev/null +++ b/yang-models/_3gpp-common-fm.yang @@ -0,0 +1,409 @@ +module _3gpp-common-fm { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-fm"; + prefix "fm3gpp"; + + import ietf-yang-types { prefix yang; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines a Fault Management model"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2021-06-02 { reference "CR-0130"; } + revision 2020-06-03 { reference "CR-0091"; } + revision 2020-02-24 { + reference "S5-201365"; + } + + typedef eventType { + type enumeration { + enum COMMUNICATIONS_ALARM { + value 2; + } + + enum QUALITY_OF_SERVICE_ALARM { + value 3; + } + + enum PROCESSING_ERROR_ALARM { + value 4; + } + + enum EQUIPMENT_ALARM { + value 5; + } + + enum ENVIRONMENTAL_ALARM { + value 6; + } + + enum INTEGRITY_VIOLATION { + value 7; + } + + enum OPERATIONAL_VIOLATION { + value 8; + } + + enum PHYSICAL_VIOLATIONu { + value 9; + } + + enum SECURITY_SERVICE_OR_MECHANISM_VIOLATION { + value 10; + } + + enum TIME_DOMAIN_VIOLATION { + value 11; + } + } + + description "General category for the alarm."; + } + + typedef severity-level { + type enumeration { + enum CRITICAL { value 3; } + enum MAJOR { value 4; } + enum MINOR { value 5; } + enum WARNING { value 6; } + enum INDETERMINATE { value 7; } + enum CLEARED { value 8; } + } + + description "The possible alarm serverities. + Aligned with ERICSSON-ALARM-MIB."; + } + + grouping AlarmRecordGrp { + description "Contains alarm information of an alarmed object instance. + A new record is created in the alarm list when an alarmed object + instance generates an alarm and no alarm record exists with the same + values for objectInstance, alarmType, probableCause and specificProblem. + When a new record is created the MnS producer creates an alarmId, that + unambiguously identifies an alarm record in the AlarmList. + + Alarm records are maintained only for active alarms. Inactive alarms are + automatically deleted by the MnS producer from the AlarmList. + Active alarms are alarms whose + a) perceivedSeverity is not CLEARED, or whose + b) perceivedSeverity is CLEARED and its ackState is not ACKNOWLEDED."; + + leaf alarmId { + type string; + mandatory true; + description "Identifies the alarmRecord"; + } + + leaf objectInstance { + type string; + config false ; + mandatory true; + } + + leaf notificationId { + type string; + config false ; + mandatory true; + } + + leaf alarmRaisedTime { + type yang:date-and-time ; + config false ; + } + + leaf alarmChangedTime { + type yang:date-and-time ; + config false ; + description "not applicable if related alarm has not changed"; + } + + leaf alarmClearedTime { + type yang:date-and-time ; + config false ; + description "not applicable if related alarm was not cleared"; + } + + leaf alarmType { + type eventType; + config false ; + description "General category for the alarm."; + } + + leaf probableCause { + type string; + config false ; + } + + leaf specificProblem { + type string; + config false ; + reference "ITU-T Recommendation X.733 clause 8.1.2.2."; + } + + leaf perceivedSeverity { + type severity-level; + description "This is Writable only if producer supports consumer + to set perceivedSeverity to CLEARED"; + } + + leaf backedUpStatus { + type string; + config false ; + description "Indicates if an object (the MonitoredEntity) has a back + up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; + } + + leaf backUpObject { + type string; + config false ; + } + + leaf trendIndication { + type string; + config false ; + description "Indicates if some observed condition is getting better, + worse, or not changing. "; + reference "ITU-T Recommendation X.733 clause 8.1.2.6."; + } + + grouping ThresholdPackGrp { + leaf thresholdLevel { + type string; + } + leaf thresholdValue { + type string; + } + leaf hysteresis { + type string; + description "The hysteresis has a threshold high and a threshold + low value that are different from the threshold value. + A hysteresis, therefore, defines the threshold-high and + threshold-low levels within which the measurementType value is + allowed to oscillate without triggering the threshold crossing + notification."; + } + } + + grouping ThresholdInfoGrp { + leaf measurementType { + type string; + mandatory true; + } + + leaf direction { + type enumeration { + enum INCREASING; + enum DECREASING; + } + mandatory true; + description " + If it is 'Increasing', the threshold crossing notification is + triggered when the measurement value equals or exceeds a + thresholdValue. + + If it is 'Decreasing', the threshold crossing notification is + triggered when the measurement value equals or below a + thresholdValue."; + } + + uses ThresholdPackGrp; + } + + list thresholdInfo { + config false ; + uses ThresholdInfoGrp; + } + + leaf stateChangeDefinition { + type string; + config false ; + description "Indicates MO attribute value changes. See definition + in ITU-T Recommendation X.733 clause 8.1.2.11."; + } + + leaf monitoredAttributes { + type string; + config false ; + description "Indicates MO attributes whose value changes are being + monitored."; + reference "ITU-T Recommendation X.733 clause 8.1.2.11."; + } + + leaf proposedRepairActions { + type string; + config false ; + description "Indicates proposed repair actions. See definition in + ITU-T Recommendation X.733 clause 8.1.2.12."; + } + + leaf additionalText { + type string; + config false ; + } + + anydata additionalInformation { + config false ; + } + + leaf rootCauseIndicator { + type enumeration { + enum YES; + enum NO; + } + config false ; + description "It indicates that this AlarmInformation is the root cause + of the events captured by the notifications whose identifiers are in + the related CorrelatedNotification instances."; + } + + leaf ackTime { + type yang:date-and-time ; + config false ; + description "It identifies the time when the alarm has been + acknowledged or unacknowledged the last time, i.e. it registers the + time when ackState changes."; + } + + leaf ackUserId { + type string; + description "It identifies the last user who has changed the + Acknowledgement State."; + } + + leaf ackSystemId { + type string; + description "It identifies the system (Management System) that last + changed the ackState of an alarm, i.e. acknowledged or unacknowledged + the alarm."; + } + + leaf ackState { + type enumeration { + enum ACKNOWLEDGED { + description "The alarm has been acknowledged."; + } + enum UNACKNOWLEDGED { + description "The alarm has unacknowledged or the alarm has never + been acknowledged."; + } + } + } + + leaf clearUserId { + type string; + description "Carries the identity of the user who invokes the + clearAlarms operation."; + } + + leaf clearSystemId { + type string; + } + + leaf serviceUser { + type string; + config false ; + description "It identifies the service-user whose request for service + provided by the serviceProvider led to the generation of the + security alarm."; + } + + leaf serviceProvider { + type string; + config false ; + description "It identifies the service-provider whose service is + requested by the serviceUser and the service request provokes the + generation of the security alarm."; + } + + leaf securityAlarmDetector { + type string; + config false ; + } + } + + grouping AlarmListGrp { + description "Represents the AlarmList IOC."; + + leaf administrativeState { + type types3gpp:AdministrativeState ; + default LOCKED; + description "When set to UNLOCKED, the alarm list is updated. + When the set to LOCKED, the existing alarm records are not + updated, and new alarm records are not added to the alarm list."; + } + + leaf operationalState { + type types3gpp:OperationalState ; + default DISABLED; + config false; + description "The producer sets this attribute to ENABLED, indicating + that it has the resource and ability to record alarm in AlarmList + else, it sets the attribute to DISABLED."; + } + + leaf numOfAlarmRecords { + type uint32 ; + config false; + mandatory true; + description "The number of alarm records in the AlarmList"; + } + + leaf lastModification { + type yang:date-and-time ; + config false; + description "The last time when an alarm record was modified"; + } + + list alarmRecords { + key alarmId; + description "List of alarmRecords"; + uses AlarmRecordGrp; + } + } + + grouping FmSubtree { + description "Contains FM related classes. + Should be used in all classes (or classes inheriting from) + - SubNetwork + - ManagedElement + + If some YAM wants to augment these classes/list/groupings they must + augment all user classes!"; + + list AlarmList { + key id; + max-elements 1; + description "The AlarmList represents the capability to store and manage + alarm records. The management scope of an AlarmList is defined by all + descendant objects of the base managed object, which is the object + name-containing the AlarmList, and the base object itself. + + AlarmList instances are created by the system or are pre-installed. + They cannot be created nor deleted by MnS consumers. + + When the alarm list is locked or disabled, the existing alarm records + are not updated, and new alarm records are not added to the alarm list"; + + + uses top3gpp:Top_Grp ; + container attributes { + uses AlarmListGrp ; + } + } + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang new file mode 100755 index 000000000..33acde382 --- /dev/null +++ b/yang-models/_3gpp-common-managed-element.yang @@ -0,0 +1,248 @@ +module _3gpp-common-managed-element { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-managed-element; + prefix "me3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-subscription-control { prefix subscr3gpp; } + import _3gpp-common-fm { prefix fm3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines ManagedElement which will be augmented + by other IOCs"; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2021-01-16 { reference "CR-0120"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2020-05-12 { reference "CR0084"; } + revision 2020-02-24 { reference "S5-201365"; } + revision 2019-06-17 { reference " S5-203316"; } + revision 2019-05-08 { reference "Initial revision"; } + + feature MeasurementsUnderManagedElement { + description "The MeasurementSubtree shall be contained under + ManagedElement"; + } + + feature SubscriptionControlUnderManagedElement { + description "The SubscriptionControlSubtree shall be contained under + ManagedElement"; + } + + feature FmUnderManagedElement { + description "The FmSubtree shall be contained under ManagedElement"; + } + + feature TraceUnderManagedElement { + description "The TraceSubtree shall be contained under ManageElement"; + } + + feature DESManagementFunction { + description "Class representing Distributed SON or Domain-Centralized SON + Energy Saving feature. The DESManagementFunction shall be contained under + ManagedElement."; + } + + feature DMROFunction { + description "Class representing D-SON function of MRO feature. The + DMROFunction shall be contained under ManagedElement."; + } + + feature DRACHOptimizationFunction { + description "Class representing D-SON function of RACH optimization + feature. The DRACHOptimizationFunction shall be contained under + ManagedElement."; + } + + feature DPCIConfigurationFunction { + description "Class representing Distributed SON or Domain-Centralized SON + function of PCI configuration feature. The DPCIConfigurationFunction shall + be contained under ManagedElement."; + } + + feature CPCIConfigurationFunction { + description "Class representing Cross Domain-Centralized SON function of PCI + configuration feature. The CPCIConfigurationFunction shall be contained + under ManagedElement."; + } + + feature CESManagementFunction { + description "Class representing Cross Domain-Centralized SON Energy Saving + feature. The CESManagementFunction shall be contained under + ManagedElement."; + } + + grouping ManagedElement_Grp { + description "Abstract class representing telecommunications resources. + An ME communicates with a manager (directly or indirectly) for the + purpose of being monitored and/or controlled. MEs may perform element + management functionality. + An ME (and its contained Function_(s)) may or may not be geographically + distributed. An ME (and its contained Function_(s)) is often referred + to as a Network Element"; + + leaf dnPrefix { + description "Provides naming context that allows the Managed + Elements to be partitioned into logical domains. + A Distingushed Name(DN) is defined by 3GPP TS 32.300, + which splits the DN into a DN Prefix and Local DN"; + type types3gpp:DistinguishedName; + } + + leaf userLabel { + description "A user-friendly (and user assignable) name of this object."; + type string; + } + + leaf locationName { + description "The physical location (e.g. an address) of an entity + represented by a (derivative of) ManagedElement_. It may contain no + information to support the case where the derivative of + ManagedElement_ needs to represent a distributed multi-location NE."; + config false; + type string; + } + + leaf-list managedBy { + description "Relates to the role played by ManagementSystem_ in the + between ManagedSystem_ and ManagedElement_. This attribute contains + a list of the DN(s) of the related subclasses of + ManagementSystem_ instance(s)."; + + config false; + type types3gpp:DistinguishedName; + } + + leaf-list managedElementTypeList { + description "The type of functionality provided by the ManagedElement. + It may represent one ME functionality or a combination of + more than one functionality. + 1) The allowed values of this attribute are the names of the IOC(s) + that are (a) derived/subclassed from ManagedFunction and (b) directly + name-contained by ManagedElement IOC (on the first level below + ManagedElement), but with the string 'Function' excluded. + 2) If a ManagedElement contains multiple instances of a ManagedFunction + this attribute will not contain repeated values. + 3) The capitalisation (usage of upper/lower case) of characters in this + attribute is insignificant. Thus, the NodeB should be case insensitive + when reading these values. + 4) Two examples of allowed values are: + - NodeB; + - HLR, VLR."; + + config false; + min-elements 1; + type string; + } + } + + grouping ManagedElementGrp { + description "Represents telecommunications equipment or + TMN entities within the telecommunications network providing support + and/or service to the subscriber."; + + uses ManagedElement_Grp; + uses meas3gpp:SupportedPerfMetricGroupGrp; + + leaf vendorName { + config false; + type string; + } + + leaf userDefinedState { + type string; + description "An operator defined state for operator specific usage"; + } + + leaf swVersion { + config false; + type string; + } + + leaf priorityLabel { + type uint32; + mandatory true; + } + } + + list ManagedElement { + description "Represents telecommunications equipment or TMN entities within + the telecommunications network providing support and/or service to the + subscriber. An ManagedElement IOC is used to represent a Network Element + defined in TS 32.101 including virtualizeation or non-virtualization + scenario. An ManagedElement instance is used for communicating with a + manager (directly or indirectly) over one or more management interfaces + for the purpose of being monitored and/or controlled. ManagedElement may + or may not additionally perform element management functionality. + An ManagedElement contains equipment that may or may not be geographically + distributed. + + A telecommunication equipment has software and hardware components. The + ManagedElement IOC described above represents following two case: + - In the case when the software component is designed to run on dedicated + hardware component, the ManagedElement IOC description includes both + software and hardware components. + - In the case when the software is designed to run on ETSI NFV defined + NFVI [15], the ManagedElement IOC description would exclude the NFVI + component supporting the above mentioned subject software. + + A ManagedElement may be contained in either a SubNetwork or in a MeContext + instance. A single ManagedElement may also exist stand-alone with no + parent at all. + + The relation of ManagedElement IOC and ManagedFunction IOC can be + described as following: + - A ManaagedElement instance may have 1..1 containment relationship to a + ManagedFunction instance. In this case, the ManagedElement IOC may be + used to represent a NE with single functionality. For example, a + ManagedElement is used to represent the 3GPP defined RNC node; + - A ManagedElement instance may have 1..N containment relationship to + multiple ManagedFunction IOC instances. In this case, the ManagedElement + IOC may be used to represent a NE with combined ManagedFunction + funcationality (as indicated by the managedElementType attribute and the + contained instances of different ManagedFunction IOCs).For example, a + ManagedElement is used to represent the combined functionality of 3GPP + defined gNBCUCPFuntion, gNBCUUPFunction and gNBDUFunction"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ManagedElementGrp; + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderManagedElement; + } + + uses subscr3gpp:SubscriptionControlSubtree { + if-feature SubscriptionControlUnderManagedElement; + } + + uses fm3gpp:FmSubtree { + if-feature FmUnderManagedElement; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderManagedElement; + } + + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang new file mode 100755 index 000000000..a46d86482 --- /dev/null +++ b/yang-models/_3gpp-common-managed-function.yang @@ -0,0 +1,311 @@ +module _3gpp-common-managed-function { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-managed-function; + prefix mf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "The module defines a base class/grouping for major 3GPP + functions."; + reference + "3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2021-01-25 { reference "CR-0122"; } + revision 2020-09-30 { reference "CR-bbbb"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } + revision 2020-06-23 { reference "CR-085"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2019-11-21 { reference "S5-197275, S5-197735"; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-18 { reference "Initial revision"; } + + feature MeasurementsUnderManagedFunction { + description "The MeasurementSubtree shall be contained under ManageElement"; + } + + feature TraceUnderManagedFunction { + description "The TraceSubtree shall be contained under ManagedFunction"; + } + + grouping Operation { + description "This data type represents an Operation."; + reference "3gpp TS 28.622"; + + leaf name { + type string; + mandatory true; + } + + leaf-list allowedNFTypes { + type string; + min-elements 1; + description "The type of the managed NF service instance + The specifc values allowed are described in TS 23.501"; + } + + leaf operationSemantics { + type enumeration { + enum REQUEST_RESPONSE; + enum SUBSCRIBE_NOTIFY; + + } + config false; + mandatory true; + description "Semantics type of the operation."; + reference "3GPP TS 23.502"; + } + } + + grouping ManagedNFServiceGrp { + description "A ManagedNFService represents a Network Function (NF) service."; + reference "Clause 7 of 3GPP TS 23.501."; + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + + leaf nFServiceType { + config false; + mandatory true; + type string; + description "The type of the managed NF service instance + The specifc values allowed are described in clause 7.2 of TS 23.501"; + } + + list sAP { + key "host port"; + min-elements 1; + max-elements 1; + description "The service access point of the managed NF service instance"; + uses types3gpp:SAP; + } + + list operations { + key name; + min-elements 1; + uses Operation ; + description "Set of operations supported by the managed NF + service instance"; + } + + leaf administrativeState { + type types3gpp:AdministrativeState; + mandatory true; + description "Permission to use or prohibition against using the instance"; + } + + leaf operationalState { + type types3gpp:OperationalState; + config false; + mandatory true; + description "Describes whether the resource is installed and working"; + } + + leaf usageState { + type types3gpp:usageState ; + config false; + mandatory true; + description "Describes whether the resource is actively in use at a + specific instant, and if so, whether or not it has spare + capacity for additional users."; + } + + leaf registrationState { + type enumeration { + enum REGISTERED; + enum DEREGISTERED; + } + config false; + } + } + + grouping Function_Grp { + description "A base grouping for 3GPP functions."; + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + } + + grouping ManagedFunctionGrp { + description "Abstract root class to be inherited/reused by classes + representing 3GPP functions. + + Anywhere this grouping is used by classes inheriting from ManagedFunction + the list representing the inheriting class needs to include all + contained classes of ManagedFunction too. Contained classes are + either + - augmented into the Function class or + - shall be included in the list representing the inheriting class + using the grouping ManagedFunctionContainedClasses: + 1) EP_RP solved using augment + 2) uses mf3gpp:ManagedFunctionContainedClasses; + "; + + uses Function_Grp; + + list vnfParametersList { + key vnfInstanceId; + description "Contains the parameter set of the VNF + instance(s) corresponding to an NE. + The presence of this list indicates that the ManagedFunction + represented is realized by one or more VNF instance(s). Otherwise it + shall be absent. + The presence of a vnfParametersList entry, whose vnfInstanceId with a + string length of zero, in createMO operation can trigger the + instantiation of the related VNF/VNFC instances."; + + leaf vnfInstanceId { + type string ; + description "VNF instance identifier"; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2 + + ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); + Management and Orchestration; Report on NFV Information Model + section B2.4.2.1.2.3"; + } + + leaf vnfdId { + type string ; + description "Identifier of the VNFD on which the VNF instance is based. + The absence of the leaf or a string length of zero for vnfInstanceId + means the VNF instance(s) does not exist (e.g. has not been + instantiated yet, has already been terminated)."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2"; + } + + leaf flavourId { + type string ; + description "Identifier of the VNF Deployment Flavour applied to this + VNF instance."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV) Management and Orchestration"; + } + + leaf autoScalable { + type boolean ; + mandatory true; + description "Indicator of whether the auto-scaling of this + VNF instance is enabled or disabled."; + } + } + + list peeParametersList { + key idx; + description "Contains the parameter set for the control + and monitoring of power, energy and environmental parameters of + ManagedFunction instance(s)."; + + leaf idx { type uint32; } + + leaf siteIdentification { + type string; + mandatory true; + description "The identification of the site where the + ManagedFunction resides."; + } + + leaf siteLatitude { + type decimal64 { + fraction-digits 4; + range "-90.0000..+90.0000"; + } + description "The latitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + the northern hemisphere. This attribute is optional in case of + BTSFunction and RNCFunction instance(s)."; + } + + leaf siteLongitude { + type decimal64 { + fraction-digits 4; + range "-180.0000..+180.0000"; + } + description "The longitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + degrees east of 0 degrees longitude. This attribute is optional in + case of BTSFunction and RNCFunction instance(s)."; + } + + leaf siteDescription { + type string; + mandatory true; + description "An operator defined description of the site where + the ManagedFunction instance resides."; + } + + leaf equipmentType { + type string; + mandatory true; + description "The type of equipment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf environmentType { + type string; + mandatory true; + description "The type of environment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf powerInterface { + type string; + mandatory true; + description "The type of power."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + } + + leaf priorityLabel { + mandatory true; + type uint32; + } + uses meas3gpp:SupportedPerfMetricGroupGrp; + } + + grouping ManagedFunctionContainedClasses { + description "A grouping used to containe classes (lists) contained by + the abstract IOC ManagedFunction"; + list ManagedNFService { + description "Represents a Network Function (NF)"; + reference "3GPP TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ManagedNFServiceGrp; + } + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderManagedFunction ; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderManagedFunction ; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang new file mode 100755 index 000000000..30627565c --- /dev/null +++ b/yang-models/_3gpp-common-measurements.yang @@ -0,0 +1,542 @@ +module _3gpp-common-measurements { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-measurements"; + prefix "meas3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines Measurement and KPI related groupings + Any list/class intending to use this should include 2 or 3 uses statements + controlled by a feature: + + A) ++++ feature MeasurementsUnderMyClass { ++++ description 'Indicates whether measurements and/or KPIs are supported ++++ for this class.'; ++++ } + + B) include the attribute measurementsList and/or kPIsList indicating the + supported measurment and KPI types and GPs. Note that for classes + inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are + already inherited, so there is no need to include them once more. E.g. + ++++ grouping MyClassGrp { ++++ uses meas3gpp:SupportedPerfMetricGroup; ++++ } + + C) include the class PerfmetricJob to control the measurements/KPIs. E.g. + + list MyClass { + container attributes { + uses MyClassGrp; + } ++++ uses meas3gpp:MeasurementSubtree { ++++ if-feature MeasurementsUnderMyClass ; ++++ } + } + + Measurements can be contained under ManagedElement, SubNetwork, or + any list representing a class inheriting from Subnetwork or + ManagedFunction. Note: KPIs will only be supported under SubNetwork"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2020-11-06 { reference "CR-0118"; } + revision 2020-09-04 { reference "CR-000107"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2020-05-31 { reference "CR-0084"; } + revision 2020-03-11 { reference "S5-201581, SP-200229"; } + revision 2019-11-21 { reference "S5-197275, S5-197735"; } + revision 2019-10-28 { reference "S5-193516"; } + revision 2019-06-17 { } + + grouping ThresholdInfoGrp { + description "Defines a single threshold level."; + + leaf-list measurementTypes { + type string; + description "The Measurement type can be those specified in TS 28.552, + TS 32.404 and can be those specified by other SDOs or can be + vendor-specific."; + } + + leaf thresholdLevel { + type uint64; + mandatory true; + description "Number (key) for a single threshold in the threshold list + applicable to the monitored performance metric."; + } + + leaf thresholdDirection { + type enumeration { + enum UP; + enum DOWN; + enum UP_AND_DOWN; + } + must '. = "UP_AND_DOWN" or not(../hysteresis)' { + error-message "In case a threshold with hysteresis is configured, the " + +"threshold direction attribute shall be set to 'UP_AND_DOWN'."; + } + mandatory true; + description "Direction of a threshold indicating the direction for which + a threshold crossing triggers a threshold. + + When the threshold direction is configured to 'UP', the associated + treshold is triggered only when the performance metric value is going + up upon reaching or crossing the threshold value. The treshold is not + triggered, when the performance metric is going down upon reaching or + crossing the threshold value. + + Vice versa, when the threshold direction is configured to 'DOWN', the + associated treshold is triggered only when the performance metric is + going down upon reaching or crossing the threshold value. The treshold + is not triggered, when the performance metric is going up upon reaching + or crossing the threshold value. + + When the threshold direction is set to 'UP_AND_DOWN' the treshold is + active in both direcions. + + In case a threshold with hysteresis is configured, the threshold + direction attribute shall be set to 'UP_AND_DOWN'."; + } + + leaf thresholdValue { + type union { + type int64; + type decimal64 { + fraction-digits 2; + } + } + mandatory true; + description "Value against which the monitored performance metric is + compared at a threshold level in case the hysteresis is zero"; + } + + leaf hysteresis { + type union { + type uint64; + type decimal64 { + fraction-digits 2; + range "0..max"; + } + } + description "Hysteresis of a threshold. If this attribute is present + the monitored performance metric is not compared against the + threshold value as specified by the thresholdValue attribute but + against a high and low threshold value given by + + threshold-high = thresholdValue + hysteresis + threshold-low = thresholdValue - hysteresis + + When going up, the threshold is triggered when the performance metric + reaches or crosses the high threshold value. When going down, the + hreshold is triggered when the performance metric reaches or crosses + the low threshold value. + + A hysteresis may be present only when the monitored performance + metric is not of type counter that can go up only. If present + for a performance metric of type counter, it shall be ignored."; + } + } + + grouping SupportedPerfMetricGroupGrp { + list SupportedPerfMetricGroup { + config false; + description "Captures a group of supported performance metrics and + associated parameters related to their production and reporting. + A SupportedPerfMetricGroup attribute which is part of an MOI may + define performanceMetrics for any MOI under the subtree contained + under that MOI, e.g. SupportedPerfMetricGroup on a ManagedElement + can specify supported metrics for contained ManagedFunctions + like a GNBDUFunction."; + + leaf-list performanceMetrics { + type string; + min-elements 1; + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be those specified by other SDOs or vendor specific metrics. + Performance metrics are identfied with their names. A name can also + identify a vendor specific group of performance metrics. + + For measurements defined in TS 28.552 the name is constructed as + follows: + - 'family.measurementName.subcounter' for measurement types with + subcounters + - 'family.measurementName' for measurement types without subcounters + - 'family' for measurement families + + For KPIs defined in TS 28.554 the name is defined in the KPI + definitions template as the component designated with e)."; + } + + leaf-list granularityPeriods { + type uint32 { + range 1..max ; + } + units seconds; + } + + leaf-list reportingMethods { + type enumeration { + enum FILE_BASED_LOC_SET_BY_PRODUCER; + enum FILE_BASED_LOC_SET_BY_CONSUMER; + enum STREAM_BASED; + } + min-elements 1; + } + + leaf-list monitorGranularityPeriods { + type uint32 { + range 1..max ; + } + units seconds; + description "Granularity periods supported for the monitoring of + associated measurement types for thresholds"; + } + } + } + + grouping PerfMetricJobGrp { + description "Represents the attributtes of the IOC PerfMetricJob"; + + leaf administrativeState { + default UNLOCKED; + type types3gpp:AdministrativeState ; + description "Enable or disables production of the metrics"; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Indicates whether the PerfMetricJob is working."; + } + + leaf jobId { + type string; + description "Id for a PerfMetricJob job."; + } + + leaf-list performanceMetrics { + type string; + min-elements 1; + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be those specified by other SDOs or vendor specific metrics. + Performance metrics are identfied with their names. A name can also + identify a vendor specific group of performance metrics. + + For measurements defined in TS 28.552 the name is constructed as + follows: + - 'family.measurementName.subcounter' for measurement types with + subcounters + - 'family.measurementName' for measurement types without subcounters + - 'family' for measurement families + + For KPIs defined in TS 28.554 the name is defined in the KPI + definitions template as the component designated with e)."; + } + + leaf granularityPeriod { + type uint32 { + range 1..max ; + } + units seconds; + mandatory true; + description "Granularity period used to produce measurements. The value + must be one of the supported granularity periods for the metric."; + } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + } + + leaf-list rootObjectInstances { + type types3gpp:DistinguishedName; + description "Each object instance designates the root of a subtree that + contains the root object and all descendant objects."; + } + + choice reportingCtrl { + mandatory true; + description "This choice defines the method for reporting collected + performance metrics to MnS consumers as well as the parameters for + configuring the reporting function. It is a choice between the control + parameter required for the reporting methods, whose presence selects + the reporting method as follows: + - When only the fileReportingPeriod attribute is present, the MnS + producer shall store files on the MnS producer at a location selected + by the MnS producer and inform the MnS consumer about the availability + of new files and the file location using the notifyFileReady + notification. + - When only the fileReportingPeriod and fileLocation attributes are + present, the MnS producer shall store the files on the MnS consumer at + the location specified by fileLocation. No notification is emitted by + the MnS producer. + - When only the streamTarget attribute is present, the MnS producer + shall stream the data to the location specified by streamTarget. + + For the file-based reporting methods the fileReportingPeriod attribute + specifies the time window during which collected measurements are stored + into the same file before the file is closed and a new file is opened."; + + case file-based-reporting { + leaf fileReportingPeriod { + type uint32 { + range 1..max; + } + units minutes; + must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { + error-message + "The time-period must be a multiple of the granularityPeriod."; + } + mandatory true; + description "For the file-based reporting method this is the time + window during which collected measurements are stored into the same + file before the file is closed and a new file is opened. + The time-period must be a multiple of the granularityPeriod. + + Applicable when the file-based reporting method is supported"; + } + + leaf fileLocation { + type string ; + description "Applicable and must be present when the file-based + reporting method is supported, and the files are stored on the MnS + consumer."; + } + } + case stream-based-reporting { + leaf streamTarget { + type string; + mandatory true; + description "Applicable when stream-based reporting method is + supported."; + } + } + } + } + + + grouping ThresholdMonitorGrp { + description "A threshold monitor that is created by the consumer for + the monitored entities whose measurements are required by consumer + to monitor."; + + leaf administrativeState { + default UNLOCKED; + type types3gpp:AdministrativeState ; + description "Enables or disables the ThresholdMonitor."; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Indicates whether the ThresholdMonitor is working."; + } + + list thresholdInfoList { + key idx; + min-elements 1; + leaf idx { type uint32 ; } + uses ThresholdInfoGrp; + } + + leaf monitorGranularityPeriod { + type uint32 { + range "1..max"; + } + units second; + mandatory true; + description " Granularity period used to monitor measurements for + threshold crossings. "; + } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + } + + leaf-list rootObjectInstances { + type types3gpp:DistinguishedName; + description "Each object instance designates the root of a subtree that + contains the root object and all descendant objects."; + } + } + + grouping MeasurementSubtree { + description "Contains classes that define measurements. + Should be used in all classes (or classes inheriting from) + - SubNnetwork + - ManagedElement + - ManagedFunction + + If a YANG module wants to augment these classes/list/groupings they must + augment all user classes! + + If a class uses this grouping in its list it shall also use the + grouping SupportedPerfMetricGroupGrp to add SupportedPerfMetricGroup as + an attribute to its grouping"; + + list PerfMetricJob { + description "This IOC represents a performance metric production job. It + can be name-contained by SubNetwork, ManagedElement, or ManagedFunction. + + To activate the production of the specified performance metrics, a MnS + consumer needs to create a PerfMetricJob instance on the MnS producer + and ensure that the adminState is sUNLOCKED>. + For ultimate deactivation of metric production, the MnS consumer should + delete the job to free up resources on the MnS producer. + + For temporary suspension of metric production, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable metric production as well, for example in overload + situations. This situation is indicated by the MnS producer with setting + the operational state attribute to disabled. When production is resumed + the operational state is set again to enabled. + + The jobId attribute can be used to associate metrics from multiple + PerfMetricJob instances. The jobId can be included when reporting + performance metrics to allow a MnS consumer to associate received + metrics for the same purpose. For example, it is possible to configure + the same jobId value for multiple PerfMetricJob instances required to + produce the measurements for a specific KPI. + + The attribute performanceMetrics defines the performance metrics to be + produced and the attribute granularityPeriod defines the granularity + period to be applied. + + All object instances below and including the instance name-containing + the PerfMetricJob (base object instance) are scoped for performance + metric production. Performance metrics are produced only on those object + instances whose object class matches the object class associated to the + performance metrics to be produced. + + The attributes objectInstances and rootObjectInstances allow to restrict + the scope. When the attribute objectInstances is present, only the object + instances identified by this attribute are scoped. When the attribute + rootObjectInstances is present, then the subtrees whose root objects are + identified by this attribute are scoped. Both attributes may be present + at the same time meaning the total scope is equal to the sum of both + scopes. Object instances may be scoped by both the objectInstances and + rootObjectInstances attributes. This shall not be considered as an error + by the MnS producer. + + When the performance metric requires performance metric production on + multiple managed objects, which is for example the case for KPIs, the + MnS consumer needs to ensure all required objects are scoped. Otherwise + a PerfMetricJob creation request shall fail. + + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced measurements to MnS consumers. + Three methods are available: file-based reporting with selection of the + file location by the MnS producer, file-based reporting with selection + of the file location by the MnS consumer and stream-based reporting. + + A PerfMetricJob creation request shall fail, when the requested + performance metrics, the requested granularity period, the requested + repoting method, or the requested combination thereof is not supported + by the MnS producer. + + Creation and deletion of PerfMetricJob instances by MnS consumers is + optional; when not supported, PerfMetricJob instances may be created and + deleted by the system or be pre-installed."; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses PerfMetricJobGrp ; + } + } + + list ThresholdMonitor { + key id; + description "Represents a threshold monitor for performance metrics. + It can be contained by SubNetwork, ManagedElement, or ManagedFunction. + A threshold monitor checks for threshold crossings of performance metric + values and generates a notification when that happens. + + To activate threshold monitoring, a MnS consumer needs to create a + ThresholdMonitor instance on the MnS producer. For ultimate deactivation + of threshold monitoring, the MnS consumer should delete the monitor to + free up resources on the MnS producer. + + For temporary suspension of threshold monitoring, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable threshold monitoring as well, for example in + overload situations. This situation is indicated by the MnS producer with + setting the operational state attribute to disabled. When monitoring is + resumed the operational state is set again to enabled. + + All object instances below and including the instance containing the + ThresholdMonitor (base object instance) are scoped for performance + metric production. Performance metrics are monitored only on those + object instances whose object class matches the object class associated + to the performance metrics to be monitored. + + The optional attributes objectInstances and rootObjectInstances allow to + restrict the scope. When the attribute objectInstances is present, only + the object instances identified by this attribute are scoped. When the + attribute rootObjectInstances is present, then the subtrees whose root + objects are identified by this attribute are scoped. Both attributes may + be present at the same time meaning the total scope is equal to the sum + of both scopes. Object instances may be scoped by both the objectInstances + and rootObjectInstances attributes. This shall not be considered as an + error by the MnS producer. + + Multiple thresholds can be defined for multiple performance metric sets + in a single monitor using thresholdInfoList. The attribute + monitorGranularityPeriod defines the granularity period to be applied. + + Each threshold is identified with a number (key) called thresholdLevel. + A threshold is defined using the attributes thresholdValue , + thresholdDirection and hysteresis. + + When hysteresis is absent or carries no information, a threshold is + triggered when the thresholdValue is reached or crossed. When hysteresis + is present, two threshold values are specified for the threshold as + follows: A high treshold value equal to the threshold value plus the + hysteresis value, and a low threshold value equal to the threshold value + minus the hysteresis value. When the monitored performance metric + increases, the threshold is triggered when the high threshold value is + reached or crossed. When the monitored performance metric decreases, the + threshold is triggered when the low threshold value is reached or crossed. + The hsyteresis ensures that the performance metric value can oscillate + around a comparison value without triggering each time the threshold when + the threshold value is crossed. + + Using the thresholdDirection attribute a threshold can be configured in + such a manner that it is triggered only when the monitored performance + metric is going up or down upon reaching or crossing the threshold. + + A ThresholdMonitor creation request shall be rejected, if the performance + metrics requested to be monitored, the requested granularity period, or + the requested combination thereof is not supported by the MnS producer. + A creation request may fail, when the performance metrics requested to be + monitored are not produced by a PerfMetricJob. + + Creation and deletion of ThresholdMonitor instances by MnS consumers is + optional; when not supported, ThresholdMonitor instances may be created + and deleted by the system or be pre-installed."; + + + uses top3gpp:Top_Grp ; + container attributes { + uses ThresholdMonitorGrp ; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang new file mode 100755 index 000000000..36776b38a --- /dev/null +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -0,0 +1,214 @@ +module _3gpp-common-subnetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-subnetwork"; + prefix "subnet3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-subscription-control { prefix subscr3gpp; } + import _3gpp-common-fm { prefix fm3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + import ietf-yang-schema-mount { prefix yangmnt; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines basic SubNetwork which will be augmented by other IOCs"; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2021-01-16 { reference "CR-0120"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2020-05-08 { + reference "S5-203316"; + } + + + revision 2020-03-11 { + description "Added KPIs and corrections"; + reference "S5-201365, S5-201581, SP-200229"; + } + + revision 2020-02-24 { + reference "S5-201365"; + } + + revision 2019-06-17 { + reference "Initial revision"; + } + + feature ExternalsUnderSubNetwork { + description "Classes representing external entities like EUtranFrequency, + ExternalGNBCUCPFunction, ExternalENBFunction + are contained under a Subnetwork list/class."; + } + + feature MeasurementsUnderSubNetwork { + description "The MeasurementSubtree shall be contained under SubNetwork"; + } + + feature SubscriptionControlUnderSubNetwork { + description "The SubscriptionControlSubtree shall be contained under + SubNetwork"; + } + + feature FmUnderSubNetwork { + description "The FmSubtree shall be contained under SubNetwork"; + } + + feature TraceUnderSubNetwork { + description "The TraceSubtree shall be contained under SubNetwork"; + } + + feature DESManagementFunction { + description "Class representing Distributed SON or Domain-Centralized SON + Energy Saving feature. The DESManagementFunction shall be contained under + SubNetwork."; + } + + feature DMROFunction { + description "Class representing D-SON function of MRO feature. The + DMROFunction shall be contained under SubNetwork."; + } + + feature DRACHOptimizationFunction { + description "Class representing D-SON function of RACH optimization feature. + The DRACHOptimizationFunction shall be contained under SubNetwork."; + } + + feature DPCIConfigurationFunction { + description "Class representing Distributed SON or Domain-Centralized SON + function of PCI configuration feature. The DPCIConfigurationFunction shall + be contained under SubNetwork."; + } + + feature CPCIConfigurationFunction { + description "Class representing Cross Domain-Centralized SON function of PCI + configuration feature. The CPCIConfigurationFunction shall be contained + under SubNetwork."; + } + + feature CESManagementFunction { + description "Class representing Cross Domain-Centralized SON Energy Saving + feature. The CESManagementFunction shall be contained under SubNetwork."; + } + + grouping Domain_Grp { + description "A domain is a partition of instances of managed entities + such that : + - the group represents a topological structure which describes the + potential for connectivity + - Subject to common administration + - With common characteristics"; + + leaf dnPrefix { + type types3gpp:DistinguishedName; + reference "Annex C of 32.300 "; + } + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + + leaf userDefinedNetworkType { + type string; + description "Textual information indicating network type, e.g. 'UTRAN'."; + } + } + + grouping SubNetworkGrp { + uses Domain_Grp; + uses meas3gpp:SupportedPerfMetricGroupGrp; + + + leaf-list setOfMcc { + description "Set of Mobile Country Code (MCC). + The MCC uniquely identifies the country of domicile + of the mobile subscriber. MCC is part of the IMSI (3GPP TS 23.003) + + This list contains all the MCC values in subordinate object + instances to this SubNetwork instance. + + See clause 2.3 of 3GPP TS 23.003 for MCC allocation principles. + + It shall be supported if there is more than one value in setOfMcc + of the SubNetwork. Otherwise the support is optional."; + type types3gpp:Mcc; + } + + leaf priorityLabel { + mandatory true; + type uint32; + } + + } + + list SubNetwork { + key id; + description "Represents a set of managed entities"; + + uses top3gpp:Top_Grp; + container attributes { + uses SubNetworkGrp; + leaf-list parents { + description "Reference to all containg SubNetwork instances + in strict order from the root subnetwork down to the immediate + parent subnetwork. + If subnetworks form a containment hierarchy this is + modeled using references between the child SubNetwork and the parent + SubNetworks. + This reference MUST NOT be present for the top level SubNetwork and + MUST be present for other SubNetworks."; + type leafref { + path "../../../SubNetwork/id"; + } + } + + leaf-list containedChildren{ + description "Reference to all directly contained SubNetwork instances. + If subnetworks form a containment hierarchy this is + modeled using references between the child SubNetwork and the parent + SubNetwork."; + type leafref { + path "../../../SubNetwork/id"; + } + } + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderSubNetwork; + } + + uses subscr3gpp:SubscriptionControlSubtree { + if-feature SubscriptionControlUnderSubNetwork; + } + + uses fm3gpp:FmSubtree { + if-feature FmUnderSubNetwork; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderSubNetwork; + } + + yangmnt:mount-point children-of-SubNetwork { + description "Mountpoint for ManagedElement"; + reference "RFC8528 YANG Schema Mount"; + } + + // augment external parts here + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang new file mode 100755 index 000000000..25bde6927 --- /dev/null +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -0,0 +1,209 @@ +module _3gpp-common-subscription-control { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-subscription-control"; + prefix "subscr3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines IOCs for subscription and heartbeat control."; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + 3GPP TS 28.623"; + + revision 2021-01-16 { reference "CR-0120"; } + revision 2020-08-26 { reference "CR-0106"; } + revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } + + grouping NtfSubscriptionControlGrp { + description "Attributes of a specific notification subscription"; + + leaf notificationRecipientAddress { + type string; + mandatory true; + } + + leaf-list notificationTypes { + type string; + description "Defines the types of notifications that are candidates + for being forwarded to the notification recipient. + If the notificationFilter attribute is not supported or not present + all candidate notifications types are forwarded to the notification; + discriminated by notificationFilter attribute."; + } + + list scope { + key "scopeType"; + min-elements 1; + max-elements 1; + description "Describes which object instances are selected with + respect to a base object instance."; + + leaf scopeType { + type enumeration { + enum BASE_ONLY; + enum BASE_ALL; + enum BASE_NTH_LEVEL; + enum BASE_SUBTREE; + } + description "If the optional scopeLevel parameter is not supported + or absent, allowed values of scopeType are BASE_ONLY and BASE_ALL. + + The value BASE_ONLY indicates only the base object is selected. + The value BASE_ALL indicates the base object and all of its + subordinate objects (incl. the leaf objects) are selected. + + If the scopeLevel parameter is supported and present, allowed + values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL + and BASE_SUBTREE. + + The value BASE_NTH_LEVEL indicates all objects on the level, + which is specified by the scopeLevel parameter, below the base + object are selected. The base object is at scopeLevel zero. + The value BASE_SUBTREE indicates the base object and all of its + subordinate objects down to and including the objects on the level, + which is specified by the scopeLevel parameter, are selected. + The base object is at scopeLevel zero."; + } + + leaf scopeLevel { + when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; + type uint16; + mandatory true; + description "See description of scopeType."; + } + } + + leaf notificationFilter { + type string; + description "Defines a filter to be applied to candidate notifications + identified by the notificationTypes attribute. + If notificationFilter is present, only notifications that pass the + filter criteria are forwarded to the notification recipient; all other + notifications are discarded. + The filter can be applied to any field of a notification."; + } + } + + grouping HeartbeatControlGrp { + description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf + attribute has no mapping in the present release."; + + leaf heartbeatNtfPeriod { + type uint32; + mandatory true; + units seconds; + description "Specifies the periodicity of heartbeat notification emission. + The value of zero has the special meaning of stopping the heartbeat + notification emission."; + } + } + + grouping SubscriptionControlSubtree { + description "Contains notification subscription related classes. + Should be used in all classes (or classes inheriting from) + - SubNetwork + - ManagedElement + + If some YAM wants to augment these classes/list/groupings they must + augment all user classes!"; + + list NtfSubscriptionControl { + description "A NtfSubscriptionControl instance represents the + notification subscription of a particular notification recipient. + The scope attribute is used to select managed object instances. + The base object instance of the scope is the object instance + name-containing the NtfSubscriptionControl instance. + The notifications related to the selected managed object instances + are candidates to be sent to the address specified by the + notificationRecipientAddress attribute. + The notificationType attribute and notificationFilter attribute + allow MnS consumers to exercise control over which candidate + notifications are sent to the notificationRecipientAddress. + If the notificationType attribute is supported and present, its + value identifies the + types of notifications that are candidate to be sent to the + notificationRecipientAddress. If the notificationType attribute is + not supported or not present, all types of notifications are + candidate to be sent to notificationRecipientAddress. + If supported, the notificationFilter attribute defines a filter that + is applied to the set of candidate notifications. Only candidate + notifications that pass the filter criteria are sent to the + notificationRecipientAddress. If the notificationFilter attribute is + not supported all candidate notificatios are sent to the + notificationRecipientAddress. + To receive notifications, a MnS consumer has to create + NtfSubscriptionControl object instancess on the MnS producer. + A MnS consumer can create a subscription for another MnS consumer + since it is not required the notificationRecipientAddress be his own + address. + When a MnS consumer does not wish to receive notifications any more + the MnS consumer shall delete the corresponding NtfSubscriptionControl + instance. + Creation and deletion of NtfSubscriptionControl instances by MnS + consumers is optional; when not supported, the NtfSubscriptionControl + instances may be created and deleted by the system or be + pre-installed."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NtfSubscriptionControlGrp; + } + + list HeartbeatControl { + description "MnS consumers (i.e. notification recipients) use heartbeat + notifications to monitor the communication channels between them and + data reporting MnS producers emitting notifications such as + notifyNewAlarm and notifyFileReady. + + A HeartbeatControl instance allows controlling the emission of + heartbeat notifications by MnS producers. The recipients of heartbeat + notifications are specified by the notificationRecipientAddress + attribute of the NtfSubscriptionControl instance containing the + HeartbeatControl instance. + + Note that the MnS consumer managing the HeartbeatControl instance + and the MnS consumer receiving the heartbeat notifications may not be + the same. + + As a pre-condition for the emission of heartbeat notifications, a + HeartbeatControl instance needs to be created. Creation of an instance + with an initial non-zero value of the heartbeatNtfPeriod attribute + triggers an immediate heartbeat notification emission. Creation of an + instance with an initial zero value of the heartbeatPeriod attribute + does not trigger an emission of a heartbeat notification. Deletion of + an instance does not trigger an emission of a heartbeat notification. + + Once the instance is created, heartbeat notifications are emitted with + a periodicity defined by the value of the heartbeatNtfPeriod + attribute. No heartbeat notifications are emitted if the value is + equal to zero. Setting a zero value to a non zero value, or a non zero + value to a different non zero value, triggers an immediate heartbeat + notification, that is the base for the new heartbeat period. Setting a + non zero value to a zero value stops emitting heartbeats immediately; + no final heartbeat notification is sent. + + Creation and deletion of HeartbeatControl instances by MnS Consumers + is optional; when not supported, the HeartbeatControl instances may be + created and deleted by the system or be pre-installed. + + Whether and when to emit heartbeat notifications is controlled by + HeartbeatControl. Subscription for heartbeat is not supported via the + NtfSubscriptionControl."; + + max-elements 1; + key id; + uses top3gpp:Top_Grp; + + container attributes { + uses HeartbeatControlGrp; + } + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-top.yang b/yang-models/_3gpp-common-top.yang new file mode 100755 index 000000000..c58adbea7 --- /dev/null +++ b/yang-models/_3gpp-common-top.yang @@ -0,0 +1,36 @@ +module _3gpp-common-top { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-common-top; + prefix top3gpp; + + organization "3gpp SA5"; + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and + network slicing."; + reference + "3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2019-06-17 { + description "Initial revision"; + } + + grouping Top_Grp { + description "Abstract class supplying a naming attribute"; + reference "3GPP TS 28.620"; + + leaf id { + type string; + description "Key leaf (namingAttribute) for a class/list. + Should be used as a key leaf for lists representing + stage 2 classes."; + reference "3GPP TS 32.300 Name convention for managed objects"; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang new file mode 100755 index 000000000..13b3f026d --- /dev/null +++ b/yang-models/_3gpp-common-trace.yang @@ -0,0 +1,895 @@ +module _3gpp-common-trace { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-trace"; + prefix "trace3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types {prefix types3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Trace handling"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2021-01-25 { reference "CR-0122"; } + revision 2020-11-16 { reference "CR-0117"; } + revision 2020-08-06 { reference "CR-0102"; } + + grouping TraceJobGrp { + leaf tjJobType { + type enumeration { + enum IMMEDIATE_MDT_ONLY; + enum LOGGED_MDT_ONLY; + enum TRACE_ONLY; + enum IMMEDIATE_MDT_AND_TRACE; + enum RLF_REPORT_ONLY; + enum RCEF_REPORT_ONLY; + enum LOGGED_MBSFN_MDT; + } + default TRACE_ONLY; + description "Specifies the MDT mode and it specifies also whether the + TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined + Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and + RLF reporting."; + reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the + allowed values."; + } + + list tjListOfInterfaces { + key idx; + must 'count(MSCServerInterfaces)+count(MGWInterfaces)+count(RNCInterfaces)' + +'+count(SGSNInterfaces)+count(GGSNInterfaces)+count(S-CSCFInterfaces)' + +'+count(P-CSCFInterfaces)+count(I-CSCFInterfaces)+count(MRFCInterfaces)' + +'+count(MGCFInterfaces)+count(IBCFInterfaces)+count(E-CSCFInterfaces)' + +'+count(BGCFInterfaces)+count(ASInterfaces)+count(HSSInterfaces)' + +'+count(EIRInterfaces)+count(BM-SCInterfaces)+count(MMEInterfaces)' + +'+count(SGWInterfaces)+count(PDN_GWInterfaces)+count(eNBInterfaces)' + +'+count(en-gNBInterfaces)+count(AMFInterfaces)+count(AUSFInterfaces)' + +'+count(NEFInterfaces)+count(NRFInterfaces)+count(NSSFInterfaces)' + +'+count(PCFInterfaces)+count(SMFInterfaces)+count(SMSFInterfaces)' + +'+count(UDMInterfaces)+count(UPFInterfaces)+count(ng-eNBInterfaces)' + +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)+count(gNB-DUInterfaces)'; + + description "Specifies the interfaces that need to be traced in the given + ManagedEntityFunction.The attribute is applicable only for Trace. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the + allowed values."; + + leaf idx { type uint32 ; } + + leaf-list MSCServerInterfaces { + type enumeration { + enum A ; + enum Iu-CS ; + enum Mc ; + enum MAP-G ; + enum MAP-B ; + enum MAP-E ; + enum MAP-F ; + enum MAP-D ; + enum MAP-C ; + enum CAP ; + } + } + leaf-list MGWInterfaces { + type enumeration { + enum Mc ; + enum Nb-UP ; + enum Iu-UP ; + } + } + leaf-list RNCInterfaces { + type enumeration { + enum Iu-CS ; + enum Iu-PS ; + enum Iur ; + enum Iub ; + enum Uu ; + } + } + leaf-list SGSNInterfaces { + type enumeration { + enum Gb ; + enum Iu-PS ; + enum Gn ; + enum MAP-Gr ; + enum MAP-Gd ; + enum MAP-Gf ; + enum Ge ; + enum Gs ; + enum S6d ; + enum S4 ; + enum S3 ; + enum S13 ; + } + } + leaf-list GGSNInterfaces { + type enumeration { + enum Gn ; + enum Gi ; + enum Gmb ; + } + } + leaf-list S-CSCFInterfaces { + type enumeration { + enum Mw ; + enum Mg ; + enum Mr ; + enum Mi ; + } + } + leaf-list P-CSCFInterfaces { + type enumeration { + enum Gm ; + enum Mw ; + } + } + leaf-list I-CSCFInterfaces { + type enumeration { + enum Cx ; + enum Dx ; + enum Mg ; + enum Mw ; + } + } + leaf-list MRFCInterfaces { + type enumeration { + enum Mp ; + enum Mr ; + } + } + leaf-list MGCFInterfaces { + type enumeration { + enum Mg ; + enum Mj ; + enum Mn ; + } + } + leaf-list IBCFInterfaces { + type enumeration { + enum Ix ; + enum Mx ; + } + } + leaf-list E-CSCFInterfaces { + type enumeration { + enum Mw ; + enum Ml ; + enum Mm ; + enum Mi-Mg ; + } + } + leaf-list BGCFInterfaces { + type enumeration { + enum Mi ; + enum Mj ; + enum Mk ; + } + } + leaf-list ASInterfaces { + type enumeration { + enum Dh ; + enum Sh ; + enum ISC ; + enum Ut ; + } + } + leaf-list HSSInterfaces { + type enumeration { + enum MAP-C ; + enum MAP-D ; + enum Gc ; + enum Gr ; + enum Cx ; + enum S6d ; + enum S6a ; + enum Sh ; + } + } + leaf-list EIRInterfaces { + type enumeration { + enum MAP-F ; + enum S13 ; + enum MAP-Gf ; + } + } + leaf-list BM-SCInterfaces { + type enumeration { + enum Gmb ; + } + } + leaf-list MMEInterfaces { + type enumeration { + enum S1-MME ; + enum S3 ; + enum S6a ; + enum S10 ; + enum S11 ; + enum S13 ; + } + } + leaf-list SGWInterfaces { + type enumeration { + enum S4 ; + enum S5 ; + enum S8 ; + enum S11 ; + enum Gxc ; + } + } + leaf-list PDN_GWInterfaces { + type enumeration { + enum S2a ; + enum S2b ; + enum S2c ; + enum S5 ; + enum S6b ; + enum Gx ; + enum S8 ; + enum SGi ; + } + } + leaf-list eNBInterfaces { + type enumeration { + enum S1-MME ; + enum X2 ; + } + } + leaf-list en-gNBInterfaces { + type enumeration { + enum S1-MME ; + enum X2 ; + enum Uu ; + enum F1-C ; + enum E1 ; + } + } + leaf-list AMFInterfaces { + type enumeration { + enum N1 ; + enum N2 ; + enum N8 ; + enum N11 ; + enum N12 ; + enum N14 ; + enum N15 ; + enum N20 ; + enum N22 ; + enum N26 ; + } + } + leaf-list AUSFInterfaces { + type enumeration { + enum N12 ; + enum N13 ; + } + } + leaf-list NEFInterfaces { + type enumeration { + enum N29 ; + enum N30 ; + enum N33 ; + } + } + leaf-list NRFInterfaces { + type enumeration { + enum N27 ; + } + } + leaf-list NSSFInterfaces { + type enumeration { + enum N22 ; + enum N31 ; + } + } + leaf-list PCFInterfaces { + type enumeration { + enum N5 ; + enum N7 ; + enum N15 ; + } + } + leaf-list SMFInterfaces { + type enumeration { + enum N4 ; + enum N7 ; + enum N10 ; + enum N11 ; + enum S5-C ; + } + } + leaf-list SMSFInterfaces { + type enumeration { + enum N20 ; + enum N21 ; + } + } + leaf-list UDMInterfaces { + type enumeration { + enum N8 ; + enum N10 ; + enum N13 ; + enum N21 ; + } + } + leaf-list UPFInterfaces { + type enumeration { + enum N4 ; + } + } + leaf-list ng-eNBInterfaces { + type enumeration { + enum NG-C ; + enum Xn-C ; + enum Uu ; + } + } + leaf-list gNB-CU-CPInterfaces { + type enumeration { + enum NG-C ; + enum Xn-C ; + enum Uu ; + enum F1-C ; + enum E1 ; + enum X2-C ; + } + } + leaf-list gNB-CU-UPInterfaces { + type enumeration { + enum E1 ; + } + } + leaf-list gNB-DUInterfaces { + type enumeration { + enum F1-C ; + } + } + } + + leaf-list tjListOfNeTypes { + type enumeration { + enum MSC_SERVER; + enum SGSN; + enum MGW; + enum GGSN; + enum RNC; + enum BM_SC; + enum MME; + enum SGW; + enum PGW; + enum ENB; + enum EN_GNB; + enum GNB_CU_CP; + enum GNB_CU_UP; + enum GNB_DU; + } + description "Specifies in which type of ManagedFunction the trace should + be activated. The attribute is applicable only for Trace with + Signalling Based Trace activation. In case this attribute is not used, + it carries a null semantic"; + reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the + allowed values"; + } + + leaf tjPLMNTarget { + type string; + mandatory true; + description "Specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN. PLMN Target might differ from the + PLMN specified in the Trace Reference"; + reference "Clause 5.9b of 3GPP TS 32.422"; + } + + leaf tjStreamingTraceConsumerURI { + when './tjTraceReportingFormat = "STREAMING"'; + type inet:uri; + mandatory true; + description "URI of the Streaming Trace data reporting MnS consumer + (a.k.a. streaming target). + This attribute shall be present if file based trace data reporting is + supported and tjTraceReportingFormat set to 'file based' or when + tjJobType is set to Logged MDT or Logged MBSFN MDT."; + reference "Clause 5.9 of 3GPP TS 32.422"; + } + + leaf tjTraceCollectionEntityAddress { + when './tjTraceReportingFormat = "FILE_BASED" or ' + +'./tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type union { + type inet:uri; + type inet:ip-address; + } + mandatory true; + description "Specifies the address of the Trace Collection Entity when + the attribute tjTraceReportingFormat is configured for the file-based + reporting. The attribute is applicable for both Trace and MDT."; + reference "Clause 5.9 of 3GPP TS 32.422"; + } + + leaf tjTraceDepth { + when './tjJobType = "TRACE_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum MINIMUM; + enum MEDIUM; + enum MAXIMUM; + enum VENDORMINIMUM; + enum VENDORMEDIUM; + enum VENDORMAXIMUM; + } + default MAXIMUM; + description "Specifies how detailed information should be recorded in the + Network Element. The Trace Depth is a paremeter for Trace Session level, + i.e., the Trace Depth is the same for all of the NEs to be traced in + the same Trace Session. + The attribute is applicable only for Trace, otherwise it carries a null + semantic."; + reference "Clause 5.3 of 3GPP TS 32.422"; + } + + leaf tjTraceReference { + type uint64; + mandatory true; + description "A globally unique identifier, which uniquely identifies the + Trace Session that is created by the TraceJob. + In case of shared network, it is the MCC and MNC of the Participating + Operator that request the trace session that shall be provided. + The attribute is applicable for both Trace and MDT."; + } + + leaf tjTraceReportingFormat { + type enumeration { + enum FILE_BASED; + enum STREAMING; + } + default FILE_BASED; + description "Specifies the trace reporting format - streaming trace + reporting or file-based trace reporting"; + reference "3GPP TS 32.422 clause 5.11"; + } + list tjTraceTarget { + key "targetIdType targetIdValue"; + max-elements 1; + + leaf targetIdType { + type enumeration { + enum IMSI; + enum IMEI; + enum IMEISV; + enum PUBLIC_ID; + enum UTRAN_CELL; + enum E_UTRAN_CELL; + enum NG_RAN_CELL; + enum ENB; + enum RNC; + enum GNB; + enum SUPI; + } + } + + leaf targetIdValue { + type string; + } + + description "Specifies the target object of the Trace and MDT. The + attribute is applicable for both Trace and MDT. This attribute + includes the ID type of the target as an enumeration and the ID value. + + The tjTraceTarget shall be public ID in case of a Management Based + Activation is done to an ScscfFunction. The tjTraceTarget shall be + cell only in case of the UTRAN cell traffic trace function. + + The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell + traffic trace function.The tjTraceTarget shall be either IMSI or + IMEI(SV) if the Trace Session is activated to any of the following + ManagedEntity(ies): + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + + The tjTraceTarget shall be IMSI if the Trace Session is activated to a + ManagedEntity playing a role of ServinGWFunction. + + In case of signaling based Trace/MDT, the tjTraceTarget attribute shall be + able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute shall be + able to carry a list of (cell or E-UtranCell or NRCellDU or TA/LA/RA). + + In case of management based Immediate MDT, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry a list of + (Utrancell or E-UtranCell or NRCellDU). + + In case of management based Logged MDT, the tjTraceTarget attribute + shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated on + the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope attribute + shall carry a list of (Utrancell or E-UtranCell or NRCellDU or TA/LA/RA). + + In case of RLF reporting, or RCEF reporting, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry one or + list of eNBs/gNBs"; + reference "3GPP TS 32.422"; + } + + leaf tjTriggeringEvent { + when './tjJobType = "TRACE" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type string ; + mandatory true; + description "Specifies the triggering event parameter of the trace session. + The attribute is applicable only for Trace. In case this attribute is + not used, it carries a null semantic."; + reference "Clause 5.1 of 3GPP TS 32.422"; + } + + leaf tjMDTAnonymizationOfData { + when ./tjMDTAreaScope ; + type enumeration { + enum NO_IDENTITY; + enum TAC_OF_IMEI; + } + default NO_IDENTITY; + description "Specifies level of MDT anonymization."; + reference "3GPP TS 32.422 clause 5.10.12."; + } + + list tjMDTAreaConfigurationForNeighCell { + when './tjJobType = "LOGGED_MDT_ONLY"'; + key "idx"; + min-elements 1; + leaf idx { type uint32 ; } + + description "It specifies the area for which UE is requested to perform + measurement logging for neighbour cells which have list of frequencies. + If it is not configured, the UE shall perform measurement logging for + all the neighbour cells. + + Applicable only to NR Logged MDT."; + reference "3GPP TS 32.422 clause 5.10.26."; + + leaf frequency { + type string; + } + + leaf cell { + type string; + } + } + + leaf-list tjMDTAreaScope { + type string; + description "specifies MDT area scope when activates an MDT job. + + For RLF and RCEF reporting it specifies the eNB or list of eNBs where the + RLF or RCEF reports should be collected. + + + List of cells/TA/LA/RA for signaling based MDT or management based Logged + MDT. + + List of cells for management based Immediate MDT. + + Cell, TA, LA, RA are mutually exclusive. + + One or list of eNBs for RLF and RCEFreporting"; + reference "Clause 5.10.2 of 3GPP TS 32.422"; + } + + leaf tjMDTCollectionPeriodRrmLte { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + +"24000|28000|32000|64000"; + } + units milliseconds; + description "Specifies the collection period for collecting RRM configured + measurement samples for M2, M3 in LTE. The attribute is applicable only + for Immediate MDT. In case this attribute is not used, it carries a + null semantic."; + reference "Clause 5.10.20 of 3GPP TS 32.422"; + } + + leaf tjMDTCollectionPeriodRrmUmts { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|1280|2048|2560|5120|" + +"10240|60000"; + } + units milliseconds; + description "Specifies the collection period for collecting RRM configured + measurement samples for M3, M4, M5 in UMTS. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries + a null semantic"; + reference "Clause 5.10.21 of 3GPP TS 32.422"; + } + + leaf tjMDTCollectionPeriodRrmNR { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|2048|5120|10240|60000"; + } + units milliseconds; + description "Specifies the collection period for collecting RRM configured + measurement samples for M4, M5 in NR. The attribute is applicable only + for Immediate MDT. In case this attribute is not used, it carries a + null semantic."; + reference "Clause 5.10.30 of 3GPP TS 32.422"; + } + + leaf tjMDTEventListForTriggeredMeasurement { + when './tjJobType = "LOGGED_MDT_ONLY"'; + type enumeration { + enum OUT_OF_COVERAGE ; + enum A2_EVENT ; + } + mandatory true; + description "Specifies event types for event triggered measurement in the + case of logged NR MDT. Each trace session may configure at most one + event. The UE shall perform logging of measurements only upon certain + condition being fulfilled: + - Out of coverage. + - A2 event."; + reference "Clause 5.10.28 of 3GPP TS 32.422"; + } + + leaf tjMDTEventThreshold { + type int64; + description "Specifies the threshold which should trigger the reporting + in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute + is applicable only for Immediate MDT and when reportingTrigger is + configured for A2 event in LTE or 1F event or 1l event in UMTS. In + case this attribute is not used, it carries a null semantic."; + reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; + } + + leaf tjMDTListOfMeasurements { + when './tjJobType = "IMMEDIATE_MDT"'; + type int64; + mandatory true; + description "It specifies the UE measurements that shall be collected in + an Immediate MDT job. The attribute is applicable only for Immediate MDT. + In case this attribute is not used, it carries a null semantic."; + reference "3GPP TS 32.422 clause 5.10.3"; + } + + leaf tjMDTLoggingDuration { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "600|1200|2400|3600|5400|7200"; + } + units seconds; + mandatory true; + description "Specifies how long the MDT configuration is valid at the + UE in case of Logged MDT. The attribute is applicable only for + Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it + carries a null semantic."; + reference "5.10.9 of 3GPP TS 32.422"; + } + + leaf tjMDTLoggingInterval { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "1280|2560|5120|10240|20480|" + +"30720|40960|61440"; + } + units milliseconds; + mandatory true; + description "Specifies the periodicty for Logged MDT. The attribute is + applicable only for Logged MDT and Logged MBSFN MDT. In case this + attribute is not used, it carries a null semantic"; + reference "5.10.8 of 3GPP TS 32.422"; + } + + leaf-list tjMDTMBSFNAreaList { + when './tjJobType = "LOGGED_MBSFN_MDT"'; + type string; + min-elements 1; + max-elements 8; + description "The MBSFN Area consists of a MBSFN Area ID and Carrier + Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. + This parameter is applicable only if the job type is Logged MBSFN MDT."; + reference "5.10.25 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementPeriodLTE { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|1280|2048|2560|5120|" + +"10240|60000"; + } + units milliseconds; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Scheduled IP throughput measurements for MDT taken by the eNB. + The attribute is applicable only for Immediate MDT. In case this + attribute is not used, it carries a null semantic."; + reference "Clause 5.10.23 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementPeriodUMTS { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + +"24000|28000|32000|64000"; + } + units milliseconds; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Throughput measurements for MDT taken by RNC. + The attribute is applicable only for Immediate MDT. In case this + attribute is not used, it carries a null semantic."; + reference "Clause 5.10.22 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementQuantity { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint64 ; + mandatory true; + description "It specifies the measurements that are collected in an MDT + job for a UMTS MDT configured for event triggered reporting."; + reference "Clause 5.10.15 of 3GPP TS 32.422"; + } + + list tjMDTPLMList { + when './tjJobType = "LOGGED_MDT_ONLY"'; + key "mcc mnc"; + uses types3gpp:PLMNId; + min-elements 1; + max-elements 16; + description "It indicates the PLMNs where measurement collection, status + indication and log reporting is allowed."; + reference "Clause 5.10.24 of 3GPP TS 32.422"; + } + + leaf tjMDTPositioningMethod { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum GNSS; + enum E_CELL_ID; + } + mandatory true; + description "It specifies what positioning method should be used in the + MDT job."; + reference "Clause 5.10.19 of 3GPP TS 32.422"; + } + + leaf tjMDTReportAmount { + when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + type union { + type uint32 { + range "1|4|8|16|32|64" ; + } + type enumeration { + enum INFINITY; + } + } + mandatory true; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.10.6 of 3GPP TS 32.422"; + } + + leaf tjMDTReportingTrigger { + when './tjJobType = "IMMEDIATE_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum A2_FOR_LTE; + enum 1F_FOR_UMTS; + enum 1I_FOR_UMTS_MCPS_TDD; + enum A2_TRIGGERED_PERIODIC_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_UMTS; + } + description "It specifies whether periodic or event based measurements + should be collected. + The attribute is applicable only for Immediate MDT and when the + tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) + or M2 (only for UMTS). In case this attribute is not used, it carries + a null semantic."; + reference "Clause 5.10.4 of 3GPP TS 32.422"; + } + + leaf tjMDTReportInterval { + when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + type uint32 { + range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" + +"5120|6000|8000|10240|12000|16000|20000|" + +"24000|28000|32000|60000|64000|" + +"360000|720000|1800000|3600000"; + } + units milliseconds; + mandatory true; + description "It specifies the interval between the periodical measurements + that shall be taken when the UE is in connected mode. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case + this attribute is not used, it carries a null semantic."; + reference "5.10.5 of 3GPP TS 32.422"; + } + + leaf tjMDTReportType { + when './tjJobType = "LOGGED_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum EVENT_TRIGGERED; + } + mandatory true; + description "It specifies report type for logged NR MDT"; + reference "Clause 5.10.27 of 3GPP TS 32.422"; + } + + leaf tjMDTSensorInformation { + type bits { + bit BAROMETRIC_PRESSURE; + bit UE_SPEED; + bit UE_ORIENTATION; + } + default ""; + description "It specifies which sensor information shall be included in + logged NR MDT and immediate NR MDT measurement if they are available. + The following sensor measurement can be included or excluded for the UE."; + reference "Clause 5.10.29 of 3GPP TS 32.422"; + } + + leaf tjMDTTraceCollectionEntityID { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint8; + mandatory true; + description "It specifies the TCE Id which is sent to the UE in Logged MDT."; + reference "Clause 5.10.11 of 3GPP TS 32.422"; + } + } + + grouping TraceSubtree { + description "Contains classes that manage Tracing. + Should be used in all classes (or classes inheriting from) + - SubNnetwork + - ManagedElement + - ManagedFunction + + If a YANG module wants to augment these classes/list/groupings they must + augment all user classes!"; + + list TraceJob { + description "Represents the Trace Control and Configuration parameters of a + particular Trace Job (see TS 32.421 and TS 32.422 for details). + + To activate Trace Jobs, a MnS consumer has to create TraceJob object + instances on the MnS producer. A MnS consumer can activate a Trace Job + for another MnS consumer since it is not required the value of + tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his + own. + + When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer + shall delete the corresponding TraceJob instance. + + For details of management Trace Job activation/deactivation see clause + 4.1.1.1.2 of TS 32.422. + + Creation and deletion of TraceJob instances by MnS consumers is optional; + when not supported, the TraceJob instances may be created and deleted by + the system or be pre-installed."; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses TraceJobGrp ; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang new file mode 100755 index 000000000..9bc0a82be --- /dev/null +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -0,0 +1,95 @@ +module _3gpp-common-yang-extensions { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-yang-extensions ; + prefix yext3gpp ; + + organization "3GPP SA5"; + description "The module defines YANG extensions needed + 3GPP YANG modeling. + + Copyright (c) 2019 3GPP. All rights reserved. + + Extensions MUST be defined with the following structure in the + description statement: + - What is this statement. + - Newline, + - This statement can be a substatement of the xxx statements with + cardinality x..y. + - This statement can have the following substatements with + cardinality x..y. + - Newline + - Is changing this statement an editorial, BC(backwards compatible) + or NBC(non-BC) change? + - Newline. + - The argument its meaning and type. Preferably use YANG types and + constraints to define the argument's type. + + Any extension statement can be added with a + deviation/deviate add statement. In this case the restriction about + the parent statement of the extension SHALL be evaluated based on the + target of the deviation statement. + + Support for this module does not mean that a YANG server implements + support for each of these extensions. + Implementers of each specific module using an extensions MUST check + if the server implements support for the used extension. + Note: modules use many extensions which individual + implementations MAY or MAY NOT support. + If support for an extension is missing the extension statement needs + individual handling or it SHOULD be removed from the module using + the extension e.g. with a deviation. + "; + + revision "2019-06-23" { + description "Initial version"; + } + + extension inVariant { + description + "Indicates that the value for the data node can only be set when its + parent data node is being created. To change the value after that, the + parent data node must be deleted and recreated with the data node + having the new value. + + It is unnecessary to use and MUST NOT be used for key leafs. + + The statement MUST only be a substatement of a leaf, leaf-list, list + statements that is config=true. + Zero or one inVariant statement is allowed per parent statement. + NO substatements are allowed. + + Adding this statement is an NBC change, removing it is BC."; + } + + extension initial-value { + description "Specifies a value that the system will set for a leaf + leaf-list if a value is not specified for it when its parent list + or container is created. The value has no effect in any other + modification e.g. changing or removing the value. + + The description statement of the parent statement SHOULD contain + the label 'Initial-value: ' followed by the text from the argument. + + The statement MUST only be a substatement of a leaf or leaf-list. + The statement MUST NOT be present if the leaf or the leaf-list + has a default statement or the type used for the data node + has a default value. + The statement MUST NOT be used for config=false data or in an + action, rpc or notification. + Zero or one initial-value statements are allowed for a leaf parent + statement. Zero or more initial-value statements are allowed for a + leaf-list parent statement. If the leaf-list is ordered-by user, the + initial values are stored in the order they appear in the YANG definition. + NO substatements are allowed. + + Always consider using a YANG-default statement instead. + + Modification of the initial-value is a non-backwards-compatible change. + + The argument specifies a single initial value for a leaf or leaf-list. + The value MUST be part of the valuespace of the leaf/leaf-list. + It follows the same rules as the argument of the default statement."; + + argument "initial-value"; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang new file mode 100755 index 000000000..f71e5420b --- /dev/null +++ b/yang-models/_3gpp-common-yang-types.yang @@ -0,0 +1,512 @@ +module _3gpp-common-yang-types { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-yang-types"; + prefix "types3gpp"; + + import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and + network slicing."; + reference "3GPP TS 28.541"; + + revision 2020-11-06 { + description "Removed incorrect S-NSSAI definitions."; + reference "CR-0118"; + } + + revision 2020-03-10 { + description "Removed faulty when statements."; + reference "SP-200229"; + } + + revision 2019-10-25 { + description "Added ManagedNFProfile."; + reference "S5-194457"; + } + + revision 2019-10-16 { + description "Added SAP and usageState."; + reference "S5-193518"; + } + + revision 2019-06-23 { + reference "Initial version."; + } + + grouping ManagedNFProfile { + description "Defines profile for managed NF"; + reference "3GPP TS 23.501"; + + leaf idx { type uint32 ; } + + leaf nfInstanceID { + config false; + mandatory true; + type yang:uuid ; + description "This parameter defines profile for managed NF. + The format of the NF Instance ID shall be a + Universally Unique Identifier (UUID) version 4, + as described in IETF RFC 4122 " ; + } + + leaf-list nfType { + config false; + min-elements 1; + type NfType; + description "Type of the Network Function" ; + } + + leaf hostAddr { + mandatory true; + type inet:host ; + description "Host address of a NF"; + } + + leaf authzInfo { + type string ; + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins + allowed to consume NF Service(s) of NF Service Producer."; + reference "See TS 23.501" ; + } + + leaf location { + type string ; + description "Information about the location of the NF instance + (e.g. geographic location, data center) defined by operator"; + reference "TS 29.510" ; + } + + leaf capacity { + mandatory true; + type uint16 ; + description "This parameter defines static capacity information + in the range of 0-65535, expressed as a weight relative to other + NF instances of the same type; if capacity is also present in the + nfServiceList parameters, those will have precedence over this value."; + reference "TS 29.510" ; + } + + leaf nFSrvGroupId { + type string ; + description "This parameter defines identity of the group that is + served by the NF instance. + May be config false or true depending on the ManagedFunction. + Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. + Shall be present if ../nfType = UDM or AUSF or UDR. "; + reference "TS 29.510" ; + } + + leaf-list supportedDataSetIds { + type enumeration { + enum SUBSCRIPTION; + enum POLICY; + enum EXPOSURE; + enum APPLICATION; + } + description "List of supported data sets in the UDR instance. + May be present if ../nfType = UDR"; + reference "TS 29.510" ; + } + + leaf-list smfServingAreas { + type string ; + description "Defines the SMF service area(s) the UPF can serve. + Shall be present if ../nfType = UPF"; + reference "TS 29.510" ; + } + + leaf priority { + type uint16; + description "This parameter defines Priority (relative to other NFs + of the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over + this value. Shall be present if ../nfType = AMF "; + reference "TS 29.510" ; + } + } + + typedef usageState { + type enumeration { + enum IDLE; + enum ACTIVE; + enum BUSY; + } + description "It describes whether or not the resource is actively in + use at a specific instant, and if so, whether or not it has spare + capacity for additional users at that instant. The value is READ-ONLY."; + reference "ITU T Recommendation X.731"; + } + + grouping SAP { + leaf host { + type inet:host; + mandatory true; + } + leaf port { + type inet:port-number; + mandatory true; + } + description "Service access point."; + reference "TS 28.622"; + } + + typedef Mcc { + description "The mobile country code consists of three decimal digits, + The first digit of the mobile country code identifies the geographic + region (the digits 1 and 8 are not used):"; + type string { + pattern '[02-79][0-9][0-9]'; + } + reference "3GPP TS 23.003 subclause 2.2 and 12.1"; + } + + typedef Mnc { + description "The mobile network code consists of two or three + decimal digits (for example: MNC of 001 is not the same as MNC of 01)"; + type string { + pattern '[0-9][0-9][0-9]|[0-9][0-9]'; + } + reference "3GPP TS 23.003 subclause 2.2 and 12.1"; + } + + grouping PLMNId { + leaf mcc { + mandatory true; + type Mcc; + } + leaf mnc { + mandatory true; + type Mnc; + } + reference "TS 23.658"; + } + + typedef Nci { + description "NR Cell Identity. The NCI shall be of fixed length of 36 bits + and shall be coded using full hexadecimal representation. + The exact coding of the NCI is the responsibility of each PLMN operator"; + reference "TS 23.003"; + type union { + type string { + length 36; + pattern '[01]+'; + } + type string { + length 9; + pattern '[a-fA-F0-9]*'; + } + } + } + + typedef OperationalState { + reference "3GPP TS 28.625 and ITU-T X.731"; + type enumeration { + enum DISABLED { + value 0; + description "The resource is totally inoperable."; + } + + enum ENABLED { + value 1; + description "The resource is partially or fully operable."; + } + + } + } + + typedef AdministrativeState { + reference "3GPP TS 28.625 and ITU-T X.731"; + type enumeration { + enum LOCKED { + value 0; + description "The resource is administratively prohibited from performing + services for its users."; + } + + enum UNLOCKED { + value 1; + description "The resource is administratively permitted to perform + services for its users. This is independent of its inherent + operability."; + } + + enum SHUTTINGDOWN { + value 2; + description "Use of the resource is administratively permitted to + existing instances of use only. While the system remains in + the shutting down state the manager or the managed element + may at any time cause the resource to transition to the + locked state."; + } + } + } + + typedef AvailabilityStatus { + type enumeration { + enum IN_TEST; + enum FAILED; + enum POWER_OFF; + enum OFF_LINE; + enum OFF_DUTY; + enum DEPENDENCY; + enum DEGRADED; + enum NOT_INSTALLED; + enum LOG_FULL; + } + } + + typedef CellState { + type enumeration { + enum IDLE; + enum INACTIVE; + enum ACTIVE; + } + } + + typedef Nrpci { + type uint32; + description "Physical Cell Identity (PCI) of the NR cell."; + reference "TS 36.211 subclause 6.11"; + } + + typedef Tac { + type int32 { + range 0..16777215 ; + } + description "Tracking Area Code"; + reference "TS 23.003 clause 19.4.2.3"; + } + + typedef AmfRegionId { + type union { + type uint8 ; + type string { + length 8; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + typedef AmfSetId { + type union { + type uint16 { + range '0..1023'; + } + type string { + length 8; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + typedef AmfPointer { + type union { + type uint8 { + range '0..63'; + } + type string { + length 6; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + grouping AmfIdentifier { + leaf amfRegionId { + type AmfRegionId; + } + leaf amfSetId { + type AmfSetId; + } + leaf amfPointer { + type AmfPointer; + } + description "The AMFI is constructed from an AMF Region ID, + an AMF Set ID and an AMF Pointer. + The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and + the AMF Pointer uniquely identifies the AMF within the AMF Set. "; + } + +// type definitions especially for core NFs + + typedef NfType { + type enumeration { + enum NRF; + enum UDM; + enum AMF; + enum SMF; + enum AUSF; + enum NEF; + enum PCF; + enum SMSF; + enum NSSF; + enum UDR; + enum LMF; + enum GMLC; + enum 5G_EIR; + enum SEPP; + enum UPF; + enum N3IWF; + enum AF; + enum UDSF; + enum BSF; + enum CHF; + } + } + + typedef NotificationType { + type enumeration { + enum N1_MESSAGES; + enum N2_INFORMATION; + enum LOCATION_NOTIFICATION; + } + } + + typedef Load { + description "Latest known load information of the NF, percentage "; + type uint8 { + range 0..100; + } + } + + typedef N1MessageClass { + type enumeration { + enum 5GMM; + enum SM; + enum LPP; + enum SMS; + } + } + + typedef N2InformationClass { + type enumeration { + enum SM; + enum NRPPA; + enum PWS; + enum PWS_BCAL; + enum PWS_RF; + } + } + + grouping DefaultNotificationSubscription { + + leaf notificationType { + type NotificationType; + } + + leaf callbackUri { + type inet:uri; + } + + leaf n1MessageClass { + type N1MessageClass; + } + + leaf n2InformationClass { + type N2InformationClass; + } + } + + grouping Ipv4AddressRange { + leaf start { + type inet:ipv4-address; + } + leaf end { + type inet:ipv4-address; + } + } + + grouping Ipv6PrefixRange { + leaf start { + type inet:ipv6-prefix; + } + leaf end { + type inet:ipv6-prefix; + } + } + + typedef NsiId { + type string; + } + + typedef UeMobilityLevel { + type enumeration { + enum STATIONARY; + enum NOMADIC; + enum RESTRICTED_MOBILITY; + enum FULLY_MOBILITY; + } + } + + typedef ResourceSharingLevel { + type enumeration { + enum SHARED; + enum NOT_SHARED; + } + } + + typedef TxDirection { + type enumeration { + enum DL; + enum UL; + enum DL_AND_UL; + } + } + + grouping AddressWithVlan { + leaf ipAddress { + type inet:ip-address; + } + leaf vlanId { + type uint16; + } + } + + typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? + type string { + pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' + + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*' + + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?' + + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' + + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})' + + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'; + } + description "Represents the international standard for the representation + of Distinguished Name (RFC 4512). + The format of the DistinguishedName REGEX is: + {AttributeType = AttributeValue} + + AttributeType consists of alphanumeric and hyphen (OIDs not allowed). + All other characters are restricted. + The Attribute value cannot contain control characters or the + following characters : \\ > < ; \" + , (Comma) and White space + The Attribute value can contain the following characters if they + are excaped : \\ > < ; \" + , (Comma) and White space + The Attribute value can contain control characters if its an escaped + double digit hex number. + Examples could be + UID=nobody@example.com,DC=example,DC=com + CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US"; + reference "RFC 4512 Lightweight Directory Access Protocol (LDAP): + Directory Information Models"; + } // recheck regexp it doesn't handle posix [:cntrl:] + + typedef QOffsetRange { + type int8 { + range "-24 | -22 | -20 | -18 | -16 | -14 | -12 | -10 | -8 | -6 | " + + " -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | " + + " 12 | 14 | 16 | 18 | 20 | 22 | 24"; + } + units dB; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-beam.yang b/yang-models/_3gpp-nr-nrm-beam.yang new file mode 100755 index 000000000..95f4677b7 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-beam.yang @@ -0,0 +1,96 @@ +module _3gpp-nr-nrm-beam { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-beam"; + prefix "beam3gpp"; + + import _3gpp-nr-nrm-commonbeamformingfunction { prefix cbeamff3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the Beam Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-11-22 { + description "Initial revision"; + reference "S5-197643"; + } + + typedef BeamType { + type enumeration { + enum SSB-BEAM; + } + } + + grouping BeamGrp { + description "Represents the Beam IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf beamIndex { + description "Index of the beam. "; + mandatory true; + type int32; + } + + leaf beamType { + description "The type of the beam. "; + mandatory false; + type BeamType; + } + + leaf beamAzimuth { + description "The azimuth of a beam transmission, which means the horizontal beamforming pointing angle (beam peak direction) in the (Phi) ?-axis in 1/10th degree resolution. The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Zero degree implies explicit antenna bearing (boresight). Positive angle implies clockwise from the antenna bearing."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + mandatory false; + type int32 { range "-1800..1800"; } + units "0.1"; + } + + leaf beamTilt { + description "The tilt of a beam transmission, which means the vertical beamforming pointing angle (beam peak direction) in the (Theta) ?-axis in 1/10th degree resolution. +The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Positive value implies downtilt."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + mandatory false; + type int32 { range "-900..900"; } + units "0.1"; + } + + + + leaf beamHorizWidth { + description " The Horizontal beamWidth of a beam transmission, which means the horizontal beamforming half-power (3dB down) beamwidth in the (Phi) ?-axis in 1/10th degree resolution."; + reference "3GPP TS 38.104, TS 38.901"; + mandatory false; + type int32 { range "0..3599"; } + units "0.1"; + } + + leaf beamVertWidth { + description " The Vertical beamWidth of a beam transmission, which means the vertical beamforming half-power (3dB down) beamwidth in the (Theta) ?-axis in 1/10th degree resolution."; + reference "3GPP TS 38.104, TS 38.901"; + mandatory false; + type int32 { range "0..1800"; } + units "0.1"; + } + + + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier/cbeamff3gpp:CommonBeamformingFunction" { + + list Beam { + description "Represents the per-Beam information required for, e.g. beam performance management utilizing measurements generated in the RAN. Can have spatial attributes of horizontal/azimuth (ie: Phi ?-axis) and vertical/tilt (ie: Theta ?-axis) beam pointing direction and beam width attributes."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BeamGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-bwp.yang b/yang-models/_3gpp-nr-nrm-bwp.yang new file mode 100755 index 000000000..bd18865a6 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-bwp.yang @@ -0,0 +1,104 @@ +module _3gpp-nr-nrm-bwp { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-bwp"; + prefix "bwp3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the BWP Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-11-17 { reference CR-0410 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { reference "Initial revision"; } + + typedef CyclicPrefix { + type enumeration { + enum NORMAL; + enum EXTENDED; + } + } + + typedef BwpContext { + type enumeration { + enum DL; + enum UL; + enum SUL; + } + } + typedef IsInitialBwp { + type enumeration { + enum INITIAL; + enum OTHER; + } + } + + grouping BWPGrp { + description "Represents the BWP IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf bwpContext { + description "Identifies whether the object is used for downlink, uplink + or supplementary uplink."; + mandatory true; + type BwpContext; + } + + leaf isInitialBwp { + description "Identifies whether the object is used for initial or other + BWP."; + mandatory true; + type IsInitialBwp; + } + + leaf subCarrierSpacing { + description "Subcarrier spacing configuration for a BWP."; + reference "3GPP TS 38.104"; + mandatory true; + type uint32 { range "15 | 30 | 60 | 120"; } + units kHz; + } + + leaf cyclicPrefix { + description "Cyclic prefix, which may be normal or extended."; + reference "3GPP TS 38.211"; + mandatory true; + type CyclicPrefix; + } + + leaf startRB { + description "Offset in common resource blocks to common resource block 0 + for the applicable subcarrier spacing for a BWP."; + reference "N_BWP_start in 3GPP TS 38.211"; + mandatory true; + type uint32; + } + + leaf numberOfRBs { + description "Number of physical resource blocks for a BWP."; + reference "N_BWP_size in 3GPP TS 38.211"; + mandatory true; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list BWP { + description "Represents a bandwidth part (BWP)."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BWPGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang new file mode 100755 index 000000000..7235d704b --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -0,0 +1,256 @@ +module _3gpp-nr-nrm-cesmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cesmanagementfunction"; + prefix "cesmanagementfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the CESManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping CESManagementFunctionGrp { + description "Represents the CESManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf cesSwitch { + description "This attribute determines whether the Centralized SON energy saving function is enabled or disabled."; + type boolean; + } + list intraRatEsActivationOriginalCellLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as an original cell.This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationOriginalCellLoadParametersGrp; + } + } + + + list intraRatEsActivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n ‘original’ cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationCandidateCellsLoadParametersGrp; + } + } + + list intraRatEsDeactivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as a candidate cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; + } + } + + list esNotAllowedTimePeriod { + key startTimeandendTime; + description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; + leaf startTimeandendTime {type string;} + container attributes { + uses EsNotAllowedTimePeriodGrp; + } + } + + list interRatEsActivationOriginalCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationOriginalCellParametersGrp; + } + } + + list interRatEsActivationCandidateCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationCandidateCellParametersGrp; + } + } + + list interRatEsDeactivationCandidateCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsDeactivationCandidateCellParametersGrp; + } + } + + + leaf energySavingState { + description "Specifies the status regarding the energy saving in the cell. If the value of energySavingControl is toBeEnergySaving, then it shall be tried to achieve the value isEnergySaving for the energySavingState. If the value of energySavingControl is toBeNotEnergySaving, then it shall be tried to achieve the value isNotEnergySaving for the energySavingState. "; + type enumeration{ + enum isNotEnergySaving; + enum isEnergySaving; + } + } + + + leaf energySavingControl { + description "This attribute allows the Cross Domain-Centralized SON energy saving function to initiate energy saving activation or deactivation."; + type enumeration{ + enum toBeEnergySaving; + enum toBeNotEnergySaving; + } + } + + + } + grouping IntraRatEsActivationOriginalCellLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping EsNotAllowedTimePeriodGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf startTimeandendTime { + description "This field indicate valid UTC time."; + type string; + } + + + leaf periodOfDay { + description "This field indicate the period of day."; + type string; + } + + leaf daysOfWeekList { + description "This field indicate the list of weekday."; + type string; + } + + leaf listoftimeperiods { + description "This field indicate the list of time periods."; + type string; + } + + } + + grouping InterRatEsActivationOriginalCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsActivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsDeactivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; + type int32 { range "0..900"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang new file mode 100755 index 000000000..e900d4fc4 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang @@ -0,0 +1,62 @@ +module _3gpp-nr-nrm-commonbeamformingfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-commonbeamformingfunction"; + prefix "combeamformfunc3gpp"; + + import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + + organization "3GPP SA5"; + description "Defines the YANG mapping of the CommonBeamformingFuntion Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-11-22 { + description "Initial revision"; + reference "S5-197643"; + } + + grouping CommonBeamformingFunctionGrp { + description "Represents the CommonBeamformingFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf coverageShape { + description "Identifies the sector carrier coverage shape described by the envelope of the contained SSB beams. The coverage shape is implementation dependent."; + mandatory true; + type int32 { range "0..65535"; } + } + + leaf digitalAzimuth { + description "Digitally-controlled azimuth through beamforming. It represents the horizontal pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical horizontal pan of the selected coverageShape. Positive value gives azimuth to the right and negative value gives an azimuth to the left."; + + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + type int32 { range "-1800..1800"; } + units "0.1"; + } + + leaf digitalTilt { + description "Digitally-controlled tilt through beamforming. It represents the vertical pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical vertical tilt of the selected coverageShape. Positive value gives downwards tilt and negative value gives upwards tilt."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + type int32 { range "-900..900"; } + units "0.1"; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier" { + + list CommonBeamformingFunction { + description "Represents common beamforming functionality (eg: SSB beams) for the NRSectorCarrier."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses CommonBeamformingFunctionGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang new file mode 100755 index 000000000..918c0581f --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang @@ -0,0 +1,67 @@ +module _3gpp-nr-nrm-cpciconfigurationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cpciconfigurationfunction"; + prefix "cpciconfigurationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the CPCIConfigurationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping CPCIConfigurationFunctionGrp { + description "Represents the CPCICONFIGURATIONFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + + list cSonPciList { + key NRPci; + description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; + leaf NRPci {type int32;} + container attributes { + uses CSonPciListGrp; + } + } + + + leaf cPciConfigurationControl { + description "This attribute determines whether the Centralized SON PCI configuration function is enabled or disabled."; + type boolean; + } + + } + + grouping CSonPciListGrp { + description "Represents the C-SON PCI list for the PCI configuration function."; + + leaf NRPci { + description "This attribute determines the NR PCI."; + type int32 { range "0..1007"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + if-feature nrcelldu3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang new file mode 100755 index 000000000..9ec94fc20 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang @@ -0,0 +1,44 @@ +module _3gpp-nr-nrm-danrmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-danrmanagementfunction"; + prefix "danrmanagementfunction3gpp"; + + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DANRManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DANRManagementFunctionGrp { + description "Represents the DANRManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf intrasystemANRManagementSwitch { + description "This attribute determines whether the intra-system ANR function is activated or deactivated."; + type boolean; + } + + leaf intersystemANRManagementSwitch { + description "This attribute determines whether the inter-system ANR function is activated or deactivated."; + type boolean; + } + + + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DANRManagementFunction; + uses DANRManagementFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang new file mode 100755 index 000000000..a69c94e79 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -0,0 +1,261 @@ +module _3gpp-nr-nrm-desmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-desmanagementfunction"; + prefix "desmanagementfunction3gpp"; + + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DESManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DESManagementFunctionGrp { + description "Represents the DESManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf desSwitch { + description "This attribute determines whether the Distributed SON energy saving function is enabled or disabled."; + type boolean; + } + + list intraRatEsActivationOriginalCellLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as an original cell.This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationOriginalCellLoadParametersGrp; + } + } + + + list intraRatEsActivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationCandidateCellsLoadParametersGrp; + } + } + + list intraRatEsDeactivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as a candidate cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; + } + } + + list esNotAllowedTimePeriod { + key startTimeandendTime; + description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; + leaf startTimeandendTime {type string;} + container attributes { + uses EsNotAllowedTimePeriodGrp; + } + } + + list interRatEsActivationOriginalCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationOriginalCellParametersGrp; + } + } + + list interRatEsActivationCandidateCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationCandidateCellParametersGrp; + } + } + + list interRatEsDeactivationCandidateCellParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsDeactivationCandidateCellParametersGrp; + } + } + + leaf energySavingState { + description "Specifies the status regarding the energy saving in the cell."; + type enumeration { + enum isNotEnergySaving; + enum isEnergySaving; + } + } + + leaf isProbingCapable { + description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; + type enumeration{ + enum yes; + enum no; + } + } + + } + + grouping IntraRatEsActivationOriginalCellLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping EsNotAllowedTimePeriodGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf startTimeandendTime { + description "This field indicate valid UTC time."; + type string; + } + + + leaf periodOfDay { + description "This field indicate the period of day."; + type string; + } + + leaf daysOfWeekList { + description "This field indicate the list of weekday."; + type string; + } + + leaf listoftimeperiods { + description "This field indicate the list of time periods."; + type string; + } + + } + + grouping InterRatEsActivationOriginalCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsActivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsDeactivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; + type int32 { range "0..900"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang new file mode 100755 index 000000000..c657f1587 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -0,0 +1,70 @@ +module _3gpp-nr-nrm-dmrofunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dmrofunction"; + prefix "dmrofunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DMROFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DMROFunctionGrp { + description "Represents the DMROFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf maximumDeviationHoTrigger { + description "This parameter defines the maximum allowed absolute deviation of the Handover Trigger, from the default point of operation."; + type int32 { range "-20..20"; } + units "0.5"; + } + + leaf minimumTimeBetweenHoTriggerChange { + description "This parameter defines the minimum allowed time interval between two Handover Trigger change performed by MRO. This is used to control the stability and convergence of the algorithm."; + type int32 { range "0..604800"; } + units "1"; + } + + leaf tstoreUEcntxt { + description "The timer used for detection of too early HO, too late HO and HO to wrong cell."; + type int32 { range "0..1023"; } + units "100"; + } + + + leaf dmroControl { + description " This attribute determines whether the MRO function is enabled or disabled."; + type boolean; + } + + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DMROFunction; + uses DMROFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang new file mode 100755 index 000000000..a150af4b7 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -0,0 +1,69 @@ +module _3gpp-nr-nrm-dpciconfigurationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dpciconfigurationfunction"; + prefix "dpciconfigurationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DPCIConfigurationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-11-25 { reference CR-0386 ; } + revision 2020-05-08 { reference S5-203316; } + + + grouping DPCIConfigurationFunctionGrp { + description "Represents the DPCICONFIGURATIONFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + + list nRPciList { + key NRPci; + description "This holds a list of physical cell identities that can be assigned to the NR cells. This attribute shall be supported if D-SON PCI configuration function is supported."; + leaf NRPci {type int32;} + container attributes { + uses NRPciListGrp; + } + } + + + leaf dPciConfigurationControl { + description " This attribute determines whether the Distributed SON PCI configuration Function is enabled or disabled."; + type boolean; + } + + } + + grouping NRPciListGrp { + description "Represents the NR PCI list for the PCI configuration function."; + + leaf NRPci { + description "This attribute determines the NR PCI."; + type int32 { range "0..1007"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang new file mode 100755 index 000000000..7ef35373c --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -0,0 +1,120 @@ +module _3gpp-nr-nrm-drachoptimizationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-drachoptimizationfunction"; + prefix "drachoptimizationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DRACHOptimizationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-10-02 { reference "CR-0384, CR-0382" ; } + revision 2020-05-08 { reference S5-203316; } + + grouping DRACHOptimizationFunctionGrp { + description "Represents the DRACHOptimizationFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + list ueAccProbilityDist { + key targetProbability; + description "This is a list of target Access Probability (APn) for the RACH optimization function."; + leaf targetProbability {type TargetProbability;} + container attributes { + uses UeAccProbilityDistGrp; + } + } + + list ueAccDelayProbilityDist { + key targetProbability; + description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; + leaf targetProbability {type TargetProbability;} + container attributes { + uses UeAccDelayProbilityDistGrp; + } + } + + leaf drachOptimizationControl { + description "This attribute determines whether the RACH Optimization function is enabled or disabled."; + type boolean; + } + } + typedef TargetProbability { + type enumeration { + enum 25; + enum 50; + enum 75; + enum 90; + } + } + + typedef Numberofpreamblessent { + type int32 { range "1..200"; } + units "1"; + } + + typedef Accessdelay { + type int32 { range "10..560"; } + units "1"; + } + + + grouping UeAccProbilityDistGrp { + description "Represents the target Access Probability (APn) for the RACH optimization function."; + + leaf targetProbability { + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbability; + } + + + leaf numberofpreamblessent { + description "This attribute determines the number of preambles sent."; + mandatory true; + type Numberofpreamblessent; + } + } + + grouping UeAccDelayProbilityDistGrp { + description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; + + leaf targetProbability { + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbability; + } + + + leaf accessdelay { + description "This attribute determines the access delay."; + mandatory true; + type Accessdelay; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + if-feature nrcelldu3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature gnbdu3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature nrcelldu3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang new file mode 100755 index 000000000..2bf583e78 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -0,0 +1,257 @@ +module _3gpp-nr-nrm-ep { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-ep"; + prefix "ep3gpp"; + + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NR related endpoint + Information Object Classes (IOCs) that are part of the NR Network + Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-04-30 { reference CR-0490 ; } + revision 2021-03-03 { reference CR-0435 ; } + revision 2021-02-17 { reference CR-0470; } + revision 2020-11-17 { reference CR-0410 ; } + revision 2020-03-02 { reference S5-201191; } + revision 2019-06-17 { reference "Initial revision"; } + + feature EPClassesUnderGNBCUCPFunction { + description "Endpoint classes shall be contained under GNBCUCPFunction"; + } + + feature EPClassesUnderGNBCUUPFunction { + description "Endpoint classes shall be contained under GNBCUUPFunction"; + } + + feature EPClassesUnderGNBDUFunction { + description "Endpoint classes shall be contained under GNBDUFunction"; + } + + grouping EP_E1Grp { + description "Represents the EP_E1 IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + uses eprp3gpp:EP_Common; + } + + grouping EP_F1CGrp { + description "Represents the EP_F1C IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_F1UGrp { + description "Represents the EP_F1U IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_XnCGrp { + description "Represents the EP_XnC IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + uses eprp3gpp:EP_Common; + } + + grouping EP_XnUGrp { + description "Represents the EP_XnU IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + uses eprp3gpp:EP_Common; + } + + grouping EP_NgCGrp { + description "Represents the EP_NgC IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_NgUGrp { + description "Represents the EP_NgU IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_X2CGrp { + description "Represents the EP_X2C IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.423"; + uses eprp3gpp:EP_Common; + } + + grouping EP_X2UGrp { + description "Represents the EP_X2U IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.425"; + uses eprp3gpp:EP_Common; + } + + grouping EP_S1UGrp { + description "Represents the EP_S1U IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.410"; + uses eprp3gpp:EP_Common; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature EPClassesUnderGNBCUCPFunction; + + list EP_E1 { + description "Represents the local end point of the logical link, + supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_E1Grp; + } + } + + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the gNB-DU and gNB-CU or gNB-CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1CGrp; + } + } + + list EP_NgC { + description "Represents the local end point of the control plane + interface (NG-C) between the gNB and AMF."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NgCGrp; + } + } + + list EP_XnC { + description "Represents the local gNB node end point of the logical + link, supporting Xn application protocols, to a neighbour NG-RAN node + (including gNB and ng-eNB). The Xn Application PDUs are carried over + SCTP/IP/Data link layer/Physical layer stack."; + reference "3GPP TS 28.541, 3GPP TS 38.420 subclause 7"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_XnCGrp; + } + } + + list EP_X2C { + description "Represents the local end point of the logical link, + supporting X2-C application protocols used in EN-DC, to a neighbour + eNB or en-gNB node."; + reference "3GPP TS 28.541, 3GPP TS 36.423"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_X2CGrp; + } + } + } + + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature EPClassesUnderGNBCUUPFunction; + + list EP_E1 { + description "Represents the local end point of the logical link, + supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_E1Grp; + } + } + + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the gNB-DU and gNB-CU or gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1UGrp; + } + } + + list EP_NgU { + description "Represents the local end point of the NG user plane + (NG-U) interface between the gNB and UPF."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NgUGrp; + } + } + + list EP_XnU { + description "Represents the one end-point of a logical link supporting + the Xn user plane (Xn-U) interface. The Xn-U interface provides + non-guaranteed delivery of user plane PDUs between two NG-RAN nodes."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_XnUGrp; + } + } + + list EP_X2U { + description "Represents the local end-point of a logical link supporting + the X2 user plane (X2-U) interface used in EN-DC."; + reference "3GPP TS 28.541, 3GPP TS 36.425"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_X2UGrp; + } + } + + list EP_S1U { + description "Represents the local end point of the logical link, + supporting S1-U interface towards a S-GW node."; + reference "3GPP TS 28.541, 3GPP TS 36.410"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S1UGrp; + } + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature EPClassesUnderGNBDUFunction; + + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the DU and CU or CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1CGrp; + } + } + + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the DU and CU or CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1UGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang new file mode 100755 index 000000000..4eee4a401 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang @@ -0,0 +1,160 @@ +module _3gpp-nr-nrm-eutrancellrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutrancellrelation"; + prefix "eutrancellrel3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranCellRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + typedef ActionAllowed { + type enumeration { + enum YES; + enum NO; + } + } + + typedef EnergySavingCoverage { + type enumeration { + enum YES; + enum NO; + enum PARTIAL; + } + } + + grouping EUtranCellRelationGrp { + description "Represents the EUtranCellRelation IOC."; + reference "3GPP TS 28.541, EUtranRelation in 3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf tCI { + description "Target Cell Identifier. Consists of E-UTRAN Cell Global + Identifier (ECGI) and Physical Cell Identifier (PCI) of the target + cell. Identifies the target cell from the perspective of the parent + cell instance."; + mandatory true; + type uint64; + } + + leaf isRemoveAllowed { + description "Indicates if the subject EUtranCellRelation can be removed + (deleted) or not. If YES, the subject EUtranCellRelation instance can + be removed (deleted). If NO, the subject EUtranCellRelation instance + shall not be removed (deleted) by any entity but an IRPManager."; + mandatory true; + type ActionAllowed; + } + + leaf isHOAllowed { + description "Indicates if handover is allowed or prohibited. If YES, + handover is allowed from source cell to target cell. Source cell is + represented by the parent cell instance. Target cell is the adjacent + cell referenced by this EUtranCellRelation instance. If NO, handover + shall not be allowed."; + mandatory true; + type ActionAllowed; + } + leaf isENDCAllowed { + description "Indicates if EN-DC is allowed or prohibited. If TRUE, + the target cell is allowed to be used for EN-DC. The target cell is + referenced by the NRCellRelation that contains this isENDCAllowed. + If FALSE, EN-DC shall not be allowed."; + mandatory true; + type ActionAllowed; + } + + + leaf isICICInformationSendAllowed { + description "Indicates if ICIC (Inter Cell Interference Coordination) + load information message sending is allowed or prohibited. If YES, + ICIC load information message sending is allowed from source cell to + target cell. Source cell is represented by the parent cell instance. + Target cell is the adjacent cell referenced by this EUtranCellRelation + instance. If NO, ICIC load information message sending shall not be + allowed."; + reference "3GPP TS 36.423"; + mandatory true; + type ActionAllowed; + } + + leaf isLBAllowed { + description "Indicates if load balancing is allowed or prohibited from + source cell to target cell. If YES, load balancing is allowed from + source cell to target cell. Source cell is represented by the parent + cell instance. Target cell is the adjacent cell referenced by this + EUtranCellRelation instance. If NO, load balancing shall be prohibited + from source cell to target cell."; + mandatory true; + type ActionAllowed; + } + + leaf isESCoveredBy { + description "Indicates whether the adjacent cell according to this + planning provides no, partial or full coverage for the parent cell + instance. Adjacent cells with this attribute equal to YES are + recommended to be considered as candidate cells to take over the + coverage when the original cell is about to be transferred to energy + saving state. The entirety of adjacent cells with this property equal + to PARTIAL are recommended to be considered as entirety of candidate + cells to take over the coverage when the original cell is about to be + transferred to energy saving state."; + mandatory true; + type EnergySavingCoverage; + } + + leaf qOffset { + description "Offset applicable to a specific neighbouring cell used for + evaluating the cell as a candidate for cell re-selection. Corresponds + to parameter q-OffsetCell broadcast in SIB4 for intra-frequency cells + and in SIB5 for inter-frequency cells. Used for Mobility Robustness + Optimization."; + reference "3GPP TS 36.331"; + mandatory true; + type types3gpp:QOffsetRange; + } + + leaf cellIndividualOffset { + description "Offset applicable to a neighbouring cell. It is used for + evaluating the neighbouring cell for handover in connected mode. Used + by the HandOver parameter Optimization (HOO) function or Load + Balancing Optimization (LBO) function."; + reference "3GPP TS 36.331"; + config false; + type types3gpp:QOffsetRange; + } + + leaf adjacentCell { + description "Reference to an EUtranCellFDD/TDD or + ExternalEUtranCellFDD/TDD instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list EUtranCellRelation { + description "Represents a relation between an NR cell and an E-UTRAN cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranCellRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang new file mode 100755 index 000000000..068bc246c --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-eutranetwork.yang @@ -0,0 +1,61 @@ +module _3gpp-nr-nrm-eutranetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; + prefix "eutranet3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtraNetwork Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-06-17 { + description "Initial revision"; + } + + feature ExternalsUnderEUtraNetwork { + description "Classes representing external entities like EUtranFrequency, + ExternalENBFunction are contained under a EUtraNetwork list/class."; + } + + grouping EUtraNetworkGrp { + description "Represents the EUtraNetwork IOC."; + reference "3GPP TS 28.541"; + uses subnet3gpp:SubNetworkGrp; + } + + list EUtraNetwork { + description "A subnetwork containing gNB external E-UTRAN entities."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtraNetworkGrp; + leaf-list parents { + description "Reference to all containg EUtraNetwork instances + in strict order from the root EUtraNetwork down to the immediate + parent EUtraNetwork. + If EUtraNetworks form a containment hierarchy this is + modeled using references between the child EUtraNetwork and the parent + EUtraNetworks. + This reference MUST NOT be present for the top level EUtraNetwork and + MUST be present for other EUtraNetworks."; + type leafref { + path "../../../EUtraNetwork/id"; + } + } + + leaf-list containedChildren{ + description "Reference to all directly contained EUtraNetwork instances. + If EUtraNetworks form a containment hierarchy this is + modeled using references between the child EUtraNetwork and the parent + EUtraNetwork."; + type leafref { + path "../../../EUtraNetwork/id"; + } + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang new file mode 100755 index 000000000..fce8aa7ff --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -0,0 +1,208 @@ +module _3gpp-nr-nrm-eutranfreqrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfreqrelation"; + prefix "eutranfreqrel3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranFreqRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EUtranFreqRelationGrp { + description "Represents the EUtranFreqRelation IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellIndividualOffset { + description "Offset applicable to a neighbouring cell. Used for + evaluating the neighbouring cell for handover in connected mode. + Used by the HandOver parameter Optimization (HOO) function or + Load Balancing Optimization (LBO) function."; + reference "cellIndividualOffset in MeasObjectEUTRA in 3GPP TS 38.331"; + default 0; + type types3gpp:QOffsetRange; + } + + leaf-list blackListEntry { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in E-UTRAN measurements."; + reference "3GPP TS 38.331"; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf-list blackListEntryIdleMode { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in SIB4 and SIB5."; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf cellReselectionPriority { + description "The absolute priority of the carrier frequency used by the + cell reselection procedure. Value 0 means lowest priority. The value + must not already used by other RAT, i.e. equal priorities between RATs + are not supported. The UE behaviour when no value is entered is + specified in subclause 5.2.4.1 of 3GPP TS 38.304."; + reference "CellReselectionPriority in 3GPP TS 38.331, priority in + 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..7"; } + } + + leaf cellReselectionSubPriority { + description "Indicates a fractional value to be added to the value of + cellReselectionPriority to obtain the absolute priority of the + concerned carrier frequency for E-UTRA and NR."; + reference "3GPP TS 38.331"; + type uint8 { range "2 | 4 | 6 | 8"; } + units "0.1"; + } + + leaf pMax { + description "Used for calculation of the parameter Pcompensation + (defined in 3GPP TS 38.304), at cell reselection to a cell."; + reference "PEMAX in 3GPP TS 38.101-1"; + mandatory true; + type int32 { range "-30..33"; } + units dBm; + } + + leaf qOffsetFreq { + description "The frequency specific offset applied when evaluating + candidates for cell reselection."; + type int32; + default 0; + } + + leaf qQualMin { + description "Indicates the minimum required quality level in the cell. + Value 0 means that it is not sent and UE applies in such case the + (default) value of negative infinity for Qqualmin. Sent in SIB3 or + SIB5."; + reference "qQualMin in TS 38.304"; + mandatory true; + type int32 { range "-34..-3 | 0"; } + units dB; + } + + leaf qRxLevMin { + description "Indicates the required minimum received Reference Symbol + Received Power (RSRP) level in the (E-UTRA) frequency for cell + reselection. Broadcast in SIB3 or SIB5, depending on whether the + related frequency is intra- or inter-frequency. Resolution is 2."; + reference "Qrxlevmin in 3GPP TS 38.304"; + mandatory true; + type int32 { range "-140..-44"; } + units dBm; + } + + leaf threshXHighP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, HighP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXHighQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, HighQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range 0..31; } + units dB; + } + + leaf threshXLowP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, LowP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXLowQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, LowQ in 3GPP TS 38.304"; + mandatory false; + type int32 { range "0..31"; } + units dB; + } + + leaf tReselectionEutra { + description "Cell reselection timer for intra frequency E-UTRA cell + reselection. May be used for Mobility Robustness Optimization."; + reference "t-ReselectionEUTRA in 3GPP TS 36.331 and in 3GPP TS 23.207"; + mandatory true; + type uint8 { range "0..7"; } + units s; + } + + leaf tReselectionEutraSfHigh { + description "The attribute tReselectionEutra (parameter TreselectionEUTRA + in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + high mobility state."; + reference "Speed dependent ScalingFactor for TreselectionEUTRA for high + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf tReselectionEutraSfMedium { + description "The attribute tReselectionEutra (parameter TreselectionEUTRA + in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + medium mobility state."; + reference "Speed dependent ScalingFactor for TreselectionEUTRA for medium + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf eUtranFrequencyRef { + description "Reference to a corresponding EUtranFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list EUtranFreqRelation { + description "Represents a frequency relation between an NR cell and an + E-UTRAN cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranFreqRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang new file mode 100755 index 000000000..2d8a4534a --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang @@ -0,0 +1,64 @@ +module _3gpp-nr-nrm-eutranfrequency { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; + prefix "eutraneteutranfreq3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranFrequency Information + Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EUtranFrequencyGrp { + description "Represents the EUtranFrequency IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf earfcnDL { + description "Specifies the channel number for the central DL frequency."; + reference "3GPP TS 36.101"; + mandatory true; + type uint32 { range "0..262143"; } + } + + leaf-list multiBandInfoListEutra { + description "List of additional frequency bands the frequency belongs to."; + config false; + min-elements 0; + type uint16 { range "1..256"; } + } + } + + grouping EUtranFrequencyWrapper { + list EUtranFrequency { + description "Represents certain E-UTRAN frequency properties."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranFrequencyGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses EUtranFrequencyWrapper ; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses EUtranFrequencyWrapper ; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang new file mode 100755 index 000000000..bfd30c58a --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalamffunction.yang @@ -0,0 +1,69 @@ +module _3gpp-nr-nrm-externalamffunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalamffunction"; + prefix "extamf3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalAMFFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalAMFFunctionGrp { + description "Represents the ExternalAMFFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at least + one (the primary PLMN Id). + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + container aMFIdentifier { + presence true; + description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; + uses types3gpp:AmfIdentifier; + } + } + + grouping ExternalAMFFunctionWrapper { + list ExternalAMFFunction { + description "Represents the properties, known by the management + function, of a AMFFunction managed by another management + function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalAMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalAMFFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalAMFFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang new file mode 100755 index 000000000..7dab2e970 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang @@ -0,0 +1,60 @@ +module _3gpp-nr-nrm-externalenbfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalenbfunction"; + prefix "extenb3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalENBFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalENBFunctionGrp { + description "Represets the ExternalENBFunction IOC."; + reference "3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf eNBId { + description "Unambiguously identifies an eNodeB within a PLMN."; + reference "3GPP TS 36.413, 3GPP TS 36.300"; + mandatory true; + type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. + // 18, 20 and 21 bit eNB IDs also + // allowed. + } + } + + grouping ExternalENBFunctionWrapper { + list ExternalENBFunction { + description "Represents an external eNB functionality."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalENBFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalENBFunctionWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalENBFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang new file mode 100755 index 000000000..df62f1c5f --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -0,0 +1,153 @@ +module _3gpp-nr-nrm-externaleutrancell { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externaleutrancell"; + prefix "exteutrancell3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalEUtranCellFDD and + ExternalEUtranCellTDD Information Object Classes (IOCs) that are part + of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalEUtranGenericCellGrp { + description "Represents the ExternalEUtranGenericCell IOC."; + reference "3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf pci { + description "The Physical Cell Identity (PCI) of the cell (for + NM-Centralized, EM-Centralized and Distributed PCI assignment cases). + In the case of NM-Centralized PCI assignment, see 3GPP TS 36.300."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..503"; } + } + + list plmnIdList { + description "List of unique identities for PLMNs. A cell can broadcast + up to 6 PLMN IDs. This is to support the case that one cell can be + used by up to 6 operator's core networks. The PLMN(s) included in this + list will use the same single tracking area code (TAC) and the same + Cell Identity (cellLocalId) for sharing the radio access network + resources. One member of plmnIdList is the primary PLMN ID. A PLMN ID + included in this list cannot be included in the cellAccessInfoList. + The PLMN ID is composed of a Mobile Country Code (MCC) and a Mobile + Network Code (MNC)."; + reference "3GPP TS 36.300, 3GPP TS 36.331, 3GPP TS 23.003"; + key "mcc mnc"; + min-elements 1; + max-elements 6; + uses types3gpp:PLMNId; + } + + leaf cellLocalId { + description "Unambiguously identifies a cell within an eNodeB."; + reference "NCI defined in 3GPP TS 38.300"; + type int32 {range "0..255"; } + } + + leaf eNBId { + description "Unambiguously identifies an eNodeB within a PLMN."; + reference "3GPP TS 36.413, 3GPP TS 36.300"; + mandatory true; + type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. + // 18, 20 and 21 bit eNB IDs also + // allowed. + } + } + + grouping ExternalEUtranCellFDDGrp { + description "Represents the ExternalEUtranCellFDD IOC."; + reference "3GPP TS 28.658"; + uses ExternalEUtranGenericCellGrp; + + leaf earfcnDL { + description "The channel number for the central DL frequency."; + reference "3GPP TS 36.101"; + mandatory true; + type int32 { range "0..17999 | 46590..262143"; } + } + + leaf earfcnUL { + description "The channel number for the central UL frequency. Value 0 + means that the UL channel number is N/A for the DL-only bands."; + reference "3GPP TS 36.101"; + mandatory true; + type int32 { range "0 | 18000..35999 | 46590..262143"; } + } + } + + grouping ExternalEUtranCellTDDGrp { + description "Represents the ExternalEUtranCellTDD IOC."; + reference "3GPP TS 28.658"; + uses ExternalEUtranGenericCellGrp; + + leaf earfcn { + description "The frequency number for the central frequency."; + reference "3GPP TS 36.104"; + mandatory true; + type int32 { range "36000..262143"; } + } + } + + grouping ExternalEUtranCellFDDWrapper { + list ExternalEUtranCellFDD { + description "Represents the common properties of external E-UTRAN FDD + cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalEUtranCellFDDGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + grouping ExternalEUtranCellTDDWrapper { + list ExternalEUtranCellTDD { + description "Represents the common properties of external E-UTRAN cell + TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalEUtranCellTDDGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork; + uses ExternalEUtranCellFDDWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalEUtranCellFDDWrapper; + } + + augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork; + uses ExternalEUtranCellTDDWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalEUtranCellTDDWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang new file mode 100755 index 000000000..531e45bed --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang @@ -0,0 +1,76 @@ +module _3gpp-nr-nrm-externalgnbcucpfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcucpfunction"; + prefix "extgnbcucp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBCUCPFunction + Information Object Class (IOC), that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBCUCPFunctionGrp { + description "Represets the ExternalGNBCUCPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + list pLMNId { + description "Specifies the PLMN identifier to be used as part of the + global RAN node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + } + + grouping ExternalGNBCUCPFunctionWrapper { + list ExternalGNBCUCPFunction { + description "Represents the properties, known by the management function, + of a GNBCUCPFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBCUCPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBCUCPFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBCUCPFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang new file mode 100755 index 000000000..bcdeecbcc --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang @@ -0,0 +1,66 @@ +module _3gpp-nr-nrm-externalgnbcuupfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcuupfunction"; + prefix "extgnbcuup3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBCUUPFunction + Information Object Class (IOC), that is part of the NR Network + Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBCUUPFunctionGrp { + description "Represets the ExternalGNBCUUPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + } + + grouping ExternalGNBCUUPFunctionWrapper { + list ExternalGNBCUUPFunction { + description "Represents the properties, known by the management function, + of a GNBCUUPFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBCUUPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBCUUPFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBCUUPFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang new file mode 100755 index 000000000..844933025 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang @@ -0,0 +1,76 @@ +module _3gpp-nr-nrm-externalgnbdufunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; + prefix "extgnbdu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBDUFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBDUFunctionGrp { + description "Represets the ExternalGNBDUFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + list pLMNId { + description "Specifies the PLMN identifier to be used as part of the + global RAN node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + } + + grouping ExternalGNBDUFunctionWrapper { + list ExternalGNBDUFunction { + description "Represents the properties, known by the management function, + of a GNBDUFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBDUFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBDUFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBDUFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang new file mode 100755 index 000000000..78e4671f0 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -0,0 +1,85 @@ +module _3gpp-nr-nrm-externalnrcellcu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalnrcellcu"; + prefix "extnrcellcu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalNRCellCU Information + Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalNRCellCUGrp { + description "Represents the ExternalNRCellCU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with corresponding + gNB ID it forms the NR Cell Identifier (NCI)."; + reference "NCI in 3GPP TS 38.300"; + mandatory true; + type int32 {range "0..16383"; } + } + + leaf nRPCI { + description "The Physical Cell Identity (PCI) of the NR cell."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..1007"; } + } + + list pLMNIdList { + description "Defines which PLMNs that are assumed to be served by the + NR cell in another gNB CU-CP. This list is either updated by the + managed element itself (e.g. due to ANR, signalling over Xn, etc.) or + by consumer over the standard interface."; + key "mcc mnc"; + min-elements 1; + max-elements 12; + uses types3gpp:PLMNId; + } + + leaf nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + grouping ExternalNRCellCUWrapper { + list ExternalNRCellCU { + description "Represents the properties of an NRCellCU controlled by + another Management Service Provider."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNRCellCUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalNRCellCUWrapper; + } + + augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalNRCellCUWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang new file mode 100755 index 000000000..96f51bd22 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang @@ -0,0 +1,52 @@ +module _3gpp-nr-nrm-externalservinggwfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalservinggwfunction"; + prefix "extservgw3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalServingGWFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalServingGWFunctionGrp { + description "Represents the ExternalServingGWFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + } + + grouping ExternalServingGWFunctionWrapper { + list ExternalServingGWFunction { + description "Represents the properties, known by the management + function, of a ServingGWFunction managed by another management + function."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalServingGWFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalServingGWFunctionWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalServingGWFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang new file mode 100755 index 000000000..1175c8c60 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-externalupffunction.yang @@ -0,0 +1,51 @@ +module _3gpp-nr-nrm-externalupffunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalupffunction"; + prefix "extupf3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalUPFFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalUPFFunctionGrp { + description "Represents the ExternalUPFFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + } + + grouping ExternalUPFFunctionWrapper { + list ExternalUPFFunction { + description "Represents the properties, known by the management + function, of a UPFFunction managed by another management + function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalUPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalUPFFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalUPFFunctionWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang new file mode 100755 index 000000000..04122e97f --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -0,0 +1,132 @@ +module _3gpp-nr-nrm-gnbcucpfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction"; + prefix "gnbcucp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the GNBCUCPFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-10-02 { reference CR-0384 ; } + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-04-28 { reference "0260"; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + feature DESManagementFunction { + description "Classs representing Distributed SON Energy Saving feature"; + } + + feature DANRManagementFunction { + description "Classs representing D-SON function of ANR Management feature"; + } + + + feature DMROFunction { + description "Classs representing D-SON function of MRO feature"; + } + + grouping GNBCUCPFunctionGrp { + description "Represents the GNBCUCPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBId { + description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) + is part of the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + leaf gNBCUName { + description "Identifies the Central Unit of an gNB."; + reference "3GPP TS 38.473"; + mandatory true; + type string { length "1..150"; } + } + + list pLMNId { + description "The PLMN identifier to be used as part of the global RAN + node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + + leaf-list x2BlackList { + type string; + description "List of nodes to which X2 connections are prohibited."; + } + + leaf-list x2WhiteList { + type string; + description "List of nodes to which X2 connections are enforced."; + } + + leaf-list xnBlackList { + type string; + description "List of nodes to which Xn connections are prohibited."; + } + + leaf-list xnWhiteList { + type string; + description "List of nodes to which X2 connections are enforced."; + } + + leaf-list xnHOBlackList { + type string; + description "List of nodes to which handovers over Xn are prohibited."; + } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; + } + + leaf-list x2HOBlackList { + type string; + description "List of nodes to which handovers over X2 are prohibited."; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBCUCPFunction { + description "Represents the logical function CU-CP of gNB and en-gNB."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GNBCUCPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang new file mode 100755 index 000000000..944da20a7 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -0,0 +1,172 @@ +module _3gpp-nr-nrm-gnbcuupfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcuupfunction"; + prefix "gnbcuup3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the GNBCUUPFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2020-05-28 { reference "CR-0318"; } + revision 2020-03-12 { reference "SP-200233 S5-201547"; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-21 { reference "Initial revision"; } + + grouping TAIGrp { + description "Tracking Area Identity"; + + list pLMNId { + key "mcc mnc"; + description "PLMN IDs for the Tracking area"; + uses types3gpp:PLMNId; + } + + leaf nRTAC { + type int64; + description "Identity of the common Tracking Area Code for the PLMNs + allowedValues: + a) It is the TAC or Extended-TAC. + b) A cell can only broadcast one TAC or Extended-TAC. + See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). + c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and + Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. + d) For a 5G SA (Stand Alone), it has a non-null value."; + } + } + + grouping BackhaulAddressGrp { + description "Indicates the backhauladdress of gNB."; + + leaf gNBId { + type uint32 { + range "0..4294967295"; + } + description "It identifies a gNB within a PLMN. The gNB ID is part of + the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. + Global gNB ID in subclause 9.3.1.6 of TS 38.413"; + } + + list tAI { + key nRTAC; + min-elements 1; + max-elements 1; + description "Tracking Area Identity"; + reference "subclause 9.3.3.11 in TS 38.413"; + uses TAIGrp; + } + } + + grouping MappingSetIDBackhaulAddressGrp { + description "Mapping relationship between setID and backhaulAddress of gNB"; + + leaf idx { + type uint32 ; + description "ID value"; + } + + leaf setID { + type uint32; + mandatory true; + description "Indicates the setID of gNB."; + reference "Subclause 7.4.1.6 in TS 38.211"; + } + + list backhaulAddress { + key gNBId; + min-elements 1; + max-elements 1; + description "Indicates the backhauladdress of gNB."; + uses BackhaulAddressGrp; + } + } + grouping GNBCUUPFunctionGrp { + description "Represents the GNBCUUPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBCUUPId { + type uint64 { + range "0..68719476735" ; + } + config false; + mandatory true; + description "Identifies the gNB-CU-UP at least within a gNB-CU-CP"; + reference "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463"; + } + + leaf gNBId { + type uint32; + mandatory true; + description "Identifies a gNB within a PLMN. The gNB ID is part of the + NR Cell Identifier (NCI) of the gNB cells. "; + reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. + Global gNB ID in subclause 9.3.1.6 of TS 38.413"; + } + + leaf gNBIdLength { + mandatory true; + type int32 { range "22..32"; } + description "Indicates the number of bits for encoding the gNB Id."; + reference "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + list pLMNInfoList { + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the GNBCUUPFunction and + which S-NSSAIs can be supported by the GNBCUUPFunction for + corresponding PLMN in case of network slicing feature is supported"; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; + } + + list mappingSetIDBackhaulAddressList { + key idx; + description "Specifies a list of mappingSetIDBackhaulAddress used to + retrieve the backhaul address of the victim set. + Must be present if Remote Interference Management function is + supported."; + uses MappingSetIDBackhaulAddressGrp; + } + + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUUPFunction + supports (is associated to)."; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBCUUPFunction + supports (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBCUUPFunction { + key id; + description "Represents the logical function CU-UP of gNB or en-gNB."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + container attributes { + uses GNBCUUPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang new file mode 100755 index 000000000..f69c62299 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -0,0 +1,93 @@ +module _3gpp-nr-nrm-gnbdufunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction"; + prefix "gnbdu3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the GNBDUFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-04-30 { reference CR-0490 ; } + revision 2020-10-02 { reference CR-0384 ; } + revision 2020-03-12 { reference "SP-200233 S5-201547" ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-21 { + description "Initial revision."; + } + + feature DRACHOptimizationFunction { + description "Classs representing D-SON function of RACH optimization +feature"; + } + + grouping GNBDUFunctionGrp { + description "Represents the GNBDUFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBId { + type int64 { range "0..4294967295"; } + mandatory true; + description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) + is part of the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + leaf gNBIdLength { + type int32 { range "22..32"; } + mandatory true; + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + leaf gNBDUId { + type int64 { range "0..68719476735"; } + mandatory true; + description "Uniquely identifies the DU at least within a gNB."; + reference "3GPP TS 38.473"; + } + + leaf gNBDUName { + type string { length "1..150"; } + description "Identifies the Distributed Unit of an NR node"; + reference "3GPP TS 38.473"; + } + + leaf aggressorSetID { + type uint32 { range "0..4194304"; } + config false; + description "Indicates the associated aggressor gNB Set ID of the cell + Valid when Remote Interference Management function is supported."; + reference "3GPP TS 38.211 subclause 7.4.1.6"; + } + leaf victimSetID { + type uint32 { range "0..4194304"; } + config false; + description "Indicates the associated victim gNB Set ID of the cell + Valid when Remote Interference Management function is supported."; + reference "3GPP TS 38.211 subclause 7.4.1.6"; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBDUFunction { + key id; + description "Represents the logical function DU of gNB or en-gNB."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + container attributes { + uses GNBDUFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellcu.yang b/yang-models/_3gpp-nr-nrm-nrcellcu.yang new file mode 100755 index 000000000..a0a3e9889 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrcellcu.yang @@ -0,0 +1,93 @@ +module _3gpp-nr-nrm-nrcellcu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu"; + prefix "nrcellcu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRCellCU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-11-25 { reference CR-0386 ; } + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-10-02 { reference CR-0384 ; } + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { reference "Initial revision"; } + + feature DPCIConfigurationFunction { + description "Class representing Distributed SON + function of PCI configuration feature"; + } + + feature DESManagementFunction { + description "Class representing Distributed SON + Energy Saving feature"; + } + + feature DMROFunction { + description "Class representing D-SON function of MRO feature"; + } + + feature CESManagementFunction { + description "Class representing Centralized SON Energy Saving + feature"; + } + + grouping NRCellCUGrp { + description "Represents the NRCellCU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with corresponding + gNB ID it forms the NR Cell Identifier (NCI)."; + mandatory true; + type int32 { range "0..16383"; } + } + + list pLMNInfoList { + description "The PLMNInfoList is a list of PLMNInfo data type. It defines + which PLMNs that can be served by the NR cell, and which S-NSSAIs that + can be supported by the NR cell for corresponding PLMN in case of + network slicing feature is supported."; + // Note: Whether the attribute pLMNId in the pLMNInfo can be writable + // depends on the implementation. + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + config false; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + + list NRCellCU { + description "Represents the information required by CU that is + responsible for the management of inter-cell mobility and neighbour + relations via ANR."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellCUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang new file mode 100755 index 000000000..7869934b1 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -0,0 +1,226 @@ +module _3gpp-nr-nrm-nrcelldu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu"; + prefix "nrcelldu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRCellDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-11-25 { reference CR-0386 ; } + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-10-02 { reference CR-0384 ; } + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-09-03 { reference "Initial revision"; } + + feature DRACHOptimizationFunction { + description "Class representing D-SON function of RACH optimization + feature"; + } + + feature CPCIConfigurationFunction { + description "Class representing Centralized SON function of + PCI configuration feature"; + } + + grouping NRCellDUGrp { + description "Represents the NRCellDU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with the + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + reference "NCI in 3GPP TS 38.300"; + mandatory true; + type int32 { range "0..16383"; } + } + + leaf operationalState { + description "Operational state of the NRCellDU instance. Indicates + whether the resource is installed and partially or fully operable + (ENABLED) or the resource is not installed or not operable + (DISABLED)."; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "Administrative state of the NRCellDU. Indicates the + permission to use or prohibition against using the cell, imposed + through the OAM services."; + type types3gpp:AdministrativeState; + default LOCKED; + } + + leaf cellState { + description "Cell state of the NRCellDU instance. Indicates whether the + cell is not currently in use (IDLE), or currently in use but not + configured to carry traffic (INACTIVE), or currently in use and is + configured to carry traffic (ACTIVE)."; + config false; + type types3gpp:CellState; + } + + list pLMNInfoList { + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for + the NR cell."; + key "mcc mnc sd sst"; + min-elements 1; + ordered-by user; + uses types5g3gpp:PLMNInfo; + } + + leaf nRPCI { + description "The Physical Cell Identity (PCI) of the NR cell."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..1007"; } + } + + leaf nRTAC { + description "The common 5GS Tracking Area Code for the PLMNs."; + reference "3GPP TS 23.003, 3GPP TS 38.473"; + type types3gpp:Tac; + } + + leaf arfcnDL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + downlink."; + reference "3GPP TS 38.104"; + mandatory true; + type int32; + } + + leaf arfcnUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + uplink."; + reference "3GPP TS 38.104"; + type int32; + } + + leaf arfcnSUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + supplementary uplink."; + reference "3GPP TS 38.104"; + type int32; + } + + leaf bSChannelBwDL { + description "Base station channel bandwidth for downlink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf bSChannelBwUL { + description "Base station channel bandwidth for uplink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf bSChannelBwSUL { + description "Base station channel bandwidth for supplementary uplink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf ssbFrequency { + description "Indicates cell defining SSB frequency domain position. + Frequency (in terms of NR-ARFCN) of the cell defining SSB transmission. + The frequency identifies the position of resource element RE=#0 + (subcarrier #0) of resource block RB#10 of the SS block. The frequency + must be positioned on the NR global frequency raster, as defined in + 3GPP TS 38.101-1, and within bSChannelBwDL."; + mandatory true; + type int32 { range "0..3279165"; } + } + + leaf ssbPeriodicity { + description "Indicates cell defined SSB periodicity. The SSB periodicity + is used for the rate matching purpose."; + mandatory true; + type int32 { range "5 | 10 | 20 | 40 | 80 | 160"; } + units "subframes (ms)"; + } + + leaf ssbSubCarrierSpacing { + description "Subcarrier spacing of SSB. Only the values 15 kHz or 30 kHz + (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable."; + reference "3GPP TS 38.211"; + mandatory true; + type int32 { range "15 | 30 | 120 | 240"; } + units kHz; + } + + leaf ssbOffset { + description "Indicates cell defining SSB time domain position. Defined + as the offset of the measurement window, in which to receive SS/PBCH + blocks, where allowed values depend on the ssbPeriodicity + (ssbOffset < ssbPeriodicity)."; + mandatory true; + type int32 { range "0..159"; } + units "subframes (ms)"; + } + + leaf ssbDuration { + description "Duration of the measurement window in which to receive + SS/PBCH blocks."; + reference "3GPP TS 38.213"; + mandatory true; + type int32 { range "1..5"; } + units "subframes (ms)"; + } + + leaf-list nRSectorCarrierRef { + description "Reference to corresponding NRSectorCarrier instance."; + min-elements 1; + type types3gpp:DistinguishedName; + } + + leaf-list bWPRef { + description "Reference to corresponding BWP instance."; + type types3gpp:DistinguishedName; + } + + leaf-list nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list NRCellDU { + description "Represents the information of a cell known by DU."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellDUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang new file mode 100755 index 000000000..6e2a77b91 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -0,0 +1,144 @@ +module _3gpp-nr-nrm-nrcellrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellrelation"; + prefix "nrcellrel3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRCellRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-06-03 { reference S5-202333 ; } + revision 2020-04-23 { reference CR0281 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-30 { + description "Initial revision"; + } + + + typedef EnergySavingCoverage { + type enumeration { + enum FULL; + enum NO; + enum PARTIAL; + } + } + + grouping NRCellRelationGrp { + description "Represents the NRCellRelation IOC."; + reference "3GPP TS 28.541"; + + leaf nRTCI { + description "Target NR Cell Identifier. It consists of NR Cell + Identifier (NCI) and Physical Cell Identifier of the target NR cell + (nRPCI)."; + type uint64; + } + + container cellIndividualOffset { + description "A set of offset values for the neighbour cell. Used when + UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, + sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and + sinrOffsetCSI-RS."; + reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; + + leaf rsrpOffsetSsb { + description "Offset value of rsrpOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetSsb{ + description "Offset value of rsrqOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetSsb { + description "Offset value of sinrOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrpOffsetCsiRs{ + description "Offset value of rsrpOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetCsiRs { + description "Offset value of rsrqOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetCsiRs { + description "Offset value of sinrOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + } + + leaf nRFreqRelationRef { + description "Reference to a corresponding NRFreqRelation instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + + leaf adjacentNRCellRef { + description "Reference to an adjacent NR cell (NRCellCU or + ExternalNRCellCU)."; + mandatory true; + type types3gpp:DistinguishedName; + } + + leaf isRemoveAllowed { + type boolean; + default true; + description "True if the ANR function in the node is allowed to remove this relation."; + } + + leaf isHOAllowed { + type boolean; + default true; + description "True if handovers are allowed over this relation."; + } + + leaf isESCoveredBy { + description "Indicates whether the adjacent cell + provides no, partial or full coverage for the parent cell + instance. Adjacent cells with this attribute equal to FULL are + recommended to be considered as candidate cells to take over the + coverage when the original cell is about to be changed to energy + saving state. All adjacent cells with this property equal + to PARTIAL are recommended to be considered as entirety of candidate + cells to take over the coverage when the original cell is about to be + changed to energy saving state."; + type EnergySavingCoverage; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list NRCellRelation { + description "Represents a neighbour cell relation from a source cell + to a target cell, where the target cell is an NRCellCU or + ExternalNRCellCU instance."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang new file mode 100755 index 000000000..3d25d85d0 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -0,0 +1,245 @@ +module _3gpp-nr-nrm-nrfreqrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfreqrelation"; + prefix "nrfreqrel3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRFreqRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-04-23 { reference CR0281 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRFreqRelationGrp { + description "Represents the NRFreqRelation IOC."; + reference "3GPP TS 28.541"; + + container offsetMO { + description "A set of offset values applicable to all measured cells + with reference signal(s) indicated in corresponding MeasObjectNR. It + is used to indicate a cell, beam or measurement object specific offset + to be applied when evaluating candidates for cell re-selection or when + evaluating triggering conditions for measurement reporting. It is + defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB, + rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; + reference "offsetMO in MeasObjectNR in 3GPP TS 38.331"; + + leaf rsrpOffsetSsb { + description "Offset value of rsrpOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetSsb { + description "Offset value of rsrqOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetSsb { + description "Offset value of sinrOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrpOffsetCsiRs { + description "Offset value of rsrpOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetCsiRs { + description "Offset value of rsrqOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetCsiRs { + description "Offset value of sinrOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + } + + leaf-list blackListEntry { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in NR measurements."; + reference "3GPP TS 38.331"; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf-list blackListEntryIdleMode { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in SIB4 and SIB5."; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf cellReselectionPriority { + description "The absolute priority of the carrier frequency used by the + cell reselection procedure. Value 0 means lowest priority. The value + must not already used by other RAT, i.e. equal priorities between RATs + are not supported. The UE behaviour when no value is entered is + specified in subclause 5.2.4.1 of 3GPP TS 38.304."; + reference "CellReselectionPriority in 3GPP TS 38.331, priority in + 3GPP TS 38.304"; + type uint32; + default 0; + } + + leaf cellReselectionSubPriority { + description "Indicates a fractional value to be added to the value of + cellReselectionPriority to obtain the absolute priority of the + concerned carrier frequency for E-UTRA and NR."; + reference "3GPP TS 38.331"; + type uint8 { range "2 | 4 | 6 | 8"; } + units "0.1"; + } + + leaf pMax { + description "Used for calculation of the parameter Pcompensation + (defined in 3GPP TS 38.304), at cell reselection to a cell."; + reference "PEMAX in 3GPP TS 38.101-1"; + mandatory false; + type int32 { range "-30..33"; } + units dBm; + } + + leaf qOffsetFreq { + description "The frequency specific offset applied when evaluating + candidates for cell reselection."; + mandatory false; + type types3gpp:QOffsetRange; + default 0; + } + + leaf qQualMin { + description "Indicates the minimum required quality level in the cell. + Value 0 means that it is not sent and UE applies in such case the + (default) value of negative infinity for Qqualmin. Sent in SIB3 or + SIB5."; + reference "3GPP TS 38.304"; + type int32 { range "-34..-3 | 0"; } + units dB; + default 0; + } + + leaf qRxLevMin { + description "Indicates the required minimum received Reference Symbol + Received Power (RSRP) level in the NR frequency for cell reselection. + Broadcast in SIB3 or SIB5, depending on whether the related frequency + is intra- or inter-frequency. Resolution is 2."; + reference "3GPP TS 38.304"; + mandatory true; + type int32 { range "-140..-44"; } + units dBm; + } + + leaf threshXHighP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, HighP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXHighQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, HighQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..31"; } + units dB; + } + + leaf threshXLowP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, LowP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXLowQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, LowQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..31"; } + units dB; + } + + leaf tReselectionNR { + description "Cell reselection timer for NR."; + reference "TreselectionRAT for NR in 3GPP TS 38.331"; + mandatory true; + type int32 { range "0..7"; } + units s; + } + + leaf tReselectionNRSfHigh { + description "The attribute tReselectionNr (parameter TreselectionNR in + 3GPP TS 38.304) is multiplied with this scaling factor if the UE is + in high mobility state."; + reference "Speed dependent ScalingFactor for TreselectionNR for high + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf tReselectionNRSfMedium { + description "The attribute tReselectionNr (parameter TreselectionNR in + 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + medium mobility state."; + reference "Speed dependent ScalingFactor for TreselectionNR for medium + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf nRFrequencyRef { + description "Reference to a corresponding NRFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list NRFreqRelation { + description "Together with the target NRFrequency, it represents the + frequency properties applicable to the referencing NRFreqRelation."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFreqRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang new file mode 100755 index 000000000..77c905ead --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -0,0 +1,71 @@ +module _3gpp-nr-nrm-nrfrequency { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; + prefix "nrfreq3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRFrequency Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRFrequencyGrp { + description "Represents the NRFrequency IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf absoluteFrequencySSB { + description "The absolute frequency applicable for a downlink NR carrier + frequency associated with the SSB, in terms of NR-ARFCN."; + mandatory true; + type uint32 { range "0.. 3279165"; } + } + + leaf sSBSubCarrierSpacing { + description "Sub-carrier spacing of the SSB."; + mandatory true; + type uint8 { range "15 | 30 | 60 | 120"; } + units "kHz"; + } + + leaf-list multiFrequencyBandListNR { + description "List of additional frequency bands the frequency belongs to. + The list is automatically set by the gNB."; + config false; + min-elements 0; + type uint16 { range "1..256"; } + } + } + + grouping NRFrequencyWrapper { + list NRFrequency { + description "Represents certain NR frequency properties."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFrequencyGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses NRFrequencyWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses NRFrequencyWrapper; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang new file mode 100755 index 000000000..0e0bfc559 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrnetwork.yang @@ -0,0 +1,39 @@ +module _3gpp-nr-nrm-nrnetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; + prefix "nrnet3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRNetwork Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-06-17 { + description "Initial revision"; + } + + feature ExternalsUnderNRNetwork { + description "Classes representing external entities like NRFrequency, + ExternalGNBCUCPFunction, ExternalGNBDUFunction + are contained under a NRNetwork list/class."; + } + + grouping NRNetworkGrp { + description "Represents the NRNetwork IOC."; + reference "3GPP TS 28.541"; + uses subnet3gpp:SubNetworkGrp; + } + + list NRNetwork { + description "A subnetwork containing gNB external NR entities."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRNetworkGrp; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang new file mode 100755 index 000000000..2f55cf1db --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang @@ -0,0 +1,119 @@ +module _3gpp-nr-nrm-nrsectorcarrier { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier"; + prefix "nrsectcarr3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRSectorCarrier Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-28 { reference CR-0316 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRSectorCarrierGrp { + description "Represents the NRSectorCarrier IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf txDirection { + description "Indicates if the transmission direction is downlink, + uplink, or both downlink and uplink."; + mandatory true; + type types3gpp:TxDirection; + } + + leaf configuredMaxTxPower { + description "Maximum transmisssion power at the antenna port for all + downlink channels, used simultaneously in a cell, added together. + Condition: The sector-carrier has a downlink and the + configuration of Tx power at antenna port reference point is supported."; + mandatory true; + type int32; + units mW; + } + + leaf configuredMaxTxEIRP { + type int64; + units dBm; + mandatory true; + description "The maximum emitted isotroptic radiated power (EIRP) in dBm + for all downlink channels, used simultaneously in a cell, added together. + Condition: the sector-carrier has a downlink and the + configuration of emitted isotropic radiated power is supported"; + } + + leaf arfcnDL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) + for downlink. + Condition: The sector-carrier has a downlink AND the value + differs from the referring cell's value of arfcnDL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "0..3279165"; } + } + + leaf arfcnUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) + for uplink. + Condition: The sector-carrier has an uplink AND the value + differs from the referring cell's value of arfcnUL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "0..3279165"; } + } + + leaf bSChannelBwDL { + description "Base station channel bandwitdth for downlink. + Condition: The sector-carrier has a downlink AND the value + differs from the referring cell's value of bSChannelBwDL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | + 90 | 100"; } + units MHz; + } + + leaf bSChannelBwUL { + description "Base station channel bandwitdth for uplink."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | + 90 | 100"; } + units MHz; + } + + leaf sectorEquipmentFunctionRef { + description "Reference to corresponding SectorEquipmentFunction + instance."; + reference "3GPP TS 23.622"; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list NRSectorCarrier { + description "Represents the resources of each transmission point + included in the cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRSectorCarrierGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang new file mode 100755 index 000000000..3480c753c --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -0,0 +1,122 @@ +module _3gpp-nr-nrm-rrmpolicy { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-rrmpolicy"; + prefix "nrrrmpolicy3gpp"; + + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the RRMPolicy abstract class that + is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-11-05 { reference CR-0412 ; } + revision 2020-04-28 { reference "CR0285"; } + revision 2020-02-14 { reference "Initial revision"; } + + grouping rRMPolicyMemberGrp { + description "This data type represents an RRM Policy member that will be + part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its + pLMNId and sNSSAI (S-NSSAI). + The members in a rRMPolicyMemberList are assigned a specific amount of + RRM resources based on settings in RRMPolicy."; + + uses types5g3gpp:PLMNInfo; + } + + typedef CyclicPrefix { + type enumeration { + enum NORMAL; + enum EXTENDED; + } + } + + grouping RRMPolicy_Grp { + description "This IOC represents the properties of an abstract RRMPolicy + . The RRMPolicy_ IOC needs to be subclassed to be instantiated. + It defines two attributes apart from those inherited from Top IOC, the + resourceType attribute defines type of resource (PRB, RRC + connected users, DRB usage etc.) and the rRMPolicyMemberList attribute + defines the RRMPolicyMember(s)that are subject to this policy. + An RRM resource (defined in resourceType + attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, + GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one + realization of a RRMPolicy_ IOC. This RRM framework allows adding new + policies, both standardized (like RRMPolicyRatio) or as vendor specific, + by inheriting from the abstract RRMPolicy_ IOC."; + + leaf resourceType { + description "The resourceType attribute defines type of resource (PRB, + RRC connected users, DRB usage etc.) that is subject to policy. + Valid values are 'PRB', 'RRC' or 'DRB'"; + mandatory true; + type string; + } + + list rRMPolicyMemberList{ + description "It represents the list of RRMPolicyMember (s) that the + managed object is supporting. A RRMPolicyMember <> include + the PLMNId <> and S-NSSAI <>." ; + min-elements 1; + key "mcc mnc sd sst"; + uses rRMPolicyMemberGrp; + } + } // grouping + + + grouping RRMPolicyRatioGrp { + description "Represents the RRMPolicyRatio concrete IOC."; + + uses RRMPolicy_Grp; // Inherits RRMPolicy_ + + + leaf rRMPolicyMaxRatio { + description " This attribute specifies the maximum percentage of radio + resource that can be used by the associated rRMPolicyMemberList. + The maximum percentage of radio resource include at least one of + the shared resources, prioritized resources and dedicated resources. + The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) + name-contained by same ManagedEntity can be greater that 100."; + default 100; + type uint8 { range "0..100"; } + units percent; + } + + leaf rRMPolicyMinRatio { + description " This attribute specifies the minimum percentage of radio + resources that can be used by the associated rRMPolicyMemberList. + The minimum percentage of radio resources including at least one of + prioritized resources and dedicated resources. The sum of the + rRMPolicyMinRatio values assigned to all RRM PolicyRatio(s) + name-contained by same ManagedEntity shall be less or equal 100."; + default 0; + type uint8 { range "0..100"; } + units percent; + } + + leaf rRMPolicyDedicatedRatio { + description " This attribute specifies the percentage of radio resource + that dedicatedly used by the associated rRMPolicyMemberList. The sum of + the rRMPolicyDeidctaedRatio values assigned to all RRMPolicyRatio(s) + name-contained by same ManagedEntity shall be less or equal 100. "; + default 0; + type uint8 { range "0..100"; } + units percent; + } + } + + list RRMPolicyRatio { + description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, + see the inheritance in Figure 4.2.1.2-1. This RRM framework allows + adding new policies, both standardized (like RRMPolicyRatio) or as + vendor specific, by inheriting from the + abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses RRMPolicyRatioGrp; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-common.yang b/yang-models/_3gpp-ns-nrm-common.yang new file mode 100755 index 000000000..c3e1079bf --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-common.yang @@ -0,0 +1,96 @@ +module _3gpp-ns-nrm-common { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-ns-nrm-common; + prefix ns3cmn; + + // import _3gpp-common-subnetwork { prefix subnet3gpp; } + // import _3gpp-common-yang-types { prefix types3gpp; } + // import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Common network slice definitions"; + reference "3GPP TS 28.541 + Management and orchestration; + 5G Network Resource Model (NRM); + Information model definitions for network slice NRM (chapter 6) + "; + + revision 2021-05-17 { + description "Introduction of Common Data types"; + reference "CR-0485"; + } + grouping XLThptGrp { + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ServAttrComGrp; + } + leaf guaThpt { + description "This attribute describes the guaranteed data rate."; + type uint64; + units kbits/s; + } + leaf maxThpt { + description "This attribute describes the maximum data rate."; + type uint64; + units kbits/s; + } + } + typedef Tagging-enum { + type enumeration { + enum performance; + enum function; + enum operation; + } + } + typedef Exposure-enum { + type enumeration { + enum API; + enum KPI; + } + } + typedef Category-enum { + type enumeration { + enum character; + enum scalability; + } + } + typedef Support-enum { + type enumeration { + enum NOT_SUPPORTED; + enum SUPPORTED; + } + } + grouping ServAttrComGrp { + leaf category { + description "This attribute specifies the category of a service + requirement/attribute of GST"; + type Category-enum; + } + leaf-list tagging { + description "This attribute specifies the tagging of a service + requirement/attribute of GST in character category"; + when "../category = 'character'"; + type Tagging-enum; + } + leaf exposure { + description "This attribute specifies exposure mode of a service + requirement/attribute of GST"; + type Exposure-enum; + } + } + typedef DeterminCommAvailability { + type Support-enum; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslice.yang b/yang-models/_3gpp-ns-nrm-networkslice.yang new file mode 100755 index 000000000..d7b0d5044 --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-networkslice.yang @@ -0,0 +1,74 @@ +module _3gpp-ns-nrm-networkslice { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-ns-nrm-networkslice; + prefix ns3gpp; + + import _3gpp-ns-nrm-networkslicesubnet { prefix nss3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + include _3gpp-ns-nrm-serviceprofile; + + organization "3GPP SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "A network slice instance in a 5G network."; + reference "3GPP TS 28.541 + Management and orchestration; + 5G Network Resource Model (NRM); + Information model definitions for network slice NRM (chapter 6) + "; + + revision 2020-02-19 { + description "Introduction of YANG definitions for network slice NRM"; + reference "CR-0458"; + } + + grouping NetworkSliceGrp { + + uses subnet3gpp:SubNetworkGrp; // Inherits from SubNetwork + + leaf operationalState { + description "The operational state of the network slice instance. + It describes whether or not the resource is physically installed + and working."; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "The administrative state of the network slice instance. + It describes the permission to use or prohibition against + using the instance, imposed through the OAM services."; + type types3gpp:AdministrativeState; + } + + list serviceProfileList { + description "A list of service profiles supported by the network + slice instance."; + key serviceProfileId; + uses ServiceProfileGrp; + } + + leaf networkSliceSubnetRef { + type leafref { + path /nss3gpp:NetworkSliceSubnet/nss3gpp:id; + } + description "The NetworkSliceSubnet that the NetworkSlice is + associated with."; + } + } + + list NetworkSlice { + description "Represents the properties of a network slice instance in + a 5G network."; + key id; + + container attributes { + uses NetworkSliceGrp; + } + + uses top3gpp:Top_Grp; + } +} diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang new file mode 100755 index 000000000..005340362 --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -0,0 +1,207 @@ +module _3gpp-ns-nrm-networkslicesubnet { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-ns-nrm-networkslicesubnet; + prefix nss3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-top { prefix top3gpp; } + // import _3gpp-ns-nrm-common { prefix ns3cmn; } + + include _3gpp-ns-nrm-sliceprofile; + + organization "3GPP SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the properties of a network slice subnet + instance in a 5G network."; + reference "3GPP TS 28.541 + Management and orchestration; + 5G Network Resource Model (NRM); + Information model definitions for network slice NRM (chapter 6) + "; + + revision 2020-02-19 { + description "Introduction of YANG definitions for network slice NRM"; + reference "CR-0458"; + } + + revision 2019-06-07 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + + feature MeasurementsUnderNetworkSliceSubnet { + description "The MeasurementSubtree shall be contained under + NetworkSliceSubnet."; + } + + typedef ETSI-GS-NFV-Identifier { + type string; + reference "ETSI GS NFV-IFA 013"; + } + + grouping EPTransportGrp { + leaf ipAddress { + description "This parameter specifies the IP address assigned to a + logical transport interface/endpoint. It can be an IPv4 address + (See RFC 791) or an IPv6 address (See RFC 2373)."; + mandatory true; + type string; + } + leaf logicInterfaceId { + description "This parameter specifies the identify of a logical + transport interface. It could be VLAN ID (See IEEE 802.1Q), + MPLS Tag or Segment ID."; + mandatory true; + type string; + } + leaf-list nextHopInfo { + description "This parameter is used to identify ingress transport + node. Each node can be identified by any of combination of IP + address of next-hop router of transport network, system name, + port name, IP management address of transport nodes."; + type string; + } + leaf-list qosProfile { + description "This parameter specifies reference to QoS Profile for + a logical transport interface. A QoS profile includes a set of + parameters which are locally provisioned on both sides of a logical + transport interface."; + type string; + } + leaf-list epApplicationRef { + description "This parameter specifies a list of application level + EPs associated with the logical transport interface."; + min-elements 1; + type types3gpp:DistinguishedName; + } + uses top3gpp:Top_Grp; + } + + grouping NsInfoGrp { + description "The NsInfo of the NS instance corresponding to the network + slice subnet instance."; + //suport condition: It shall be supported if the NSS instance is + //realized in the virtualized environment. + // Otherwise this attribute shall be absent. + reference "ETSI GS NFV-IFA 013 clause 8.3.3.2.2, which can be found at + https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/013 + /03.04.01_60/gs_NFV-IFA013v030401p.pdf page 123-124"; + leaf nSInstanceId { + description "Uniquely identifies the NS instance."; + config false; + type ETSI-GS-NFV-Identifier; + } + leaf nsName { + description "Human readable name of the NS instance."; + type string; + config false; + } + leaf description { + description "Human readable description of the NS instance."; + config false; + type string; + } + } + + grouping NetworkSliceSubnetGrp { + + uses subnet3gpp:SubNetworkGrp; + uses EPTransportGrp; + + leaf operationalState { + description "The operational state of the network slice instance. + It describes whether or not the resource is physically installed + and working."; + mandatory true; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "The administrative state of the network slice instance. + It describes the permission to use or prohibition against + using the instance, imposed through the OAM services."; + mandatory true; + type types3gpp:AdministrativeState; + } + + list nsInfo { + description "This list represents the properties of network service + information corresponding to the network slice subnet instance."; + reference "ETSI GS NFV-IFA 013 clause 8.3.3.2.2"; + config false; + key nSInstanceId; + max-elements 1; + uses NsInfoGrp; + } + + list sliceProfileList { + description "List of SliceProfiles supported by the network slice + subnet instance"; + key sliceProfileId; + uses SliceProfileGrp; + } + + list managedFunctionRef { + description "The managed functions that the NetworkSliceSubnet is + associated with."; + key aggregatedManagedFunction; + leaf aggregatedManagedFunction { + type instance-identifier; + } + } + + leaf-list networkSliceSubnetRef { + type leafref { + path /NetworkSliceSubnet/id; + } + description "Lists the NetworkSliceSubnet instances associated with + this NetworkSliceSubnet."; + } + } + + list NetworkSliceSubnet { + description "Represents the properties of a network slice subnet + instance in a 5G network."; + key id; + + container attributes { + + uses NetworkSliceSubnetGrp; + + leaf-list parents { + description "Reference to direct parent NetworkSliceSubnet + instances. + If NetworkSliceSubnets form a containment hierarchy this is + modeled using references between the child NetworkSliceSubnet + and the parent NetworkSliceSubnet. + This reference MUST NOT be present for the top level + NetworkSliceSubnet and MUST be present for other + NetworkSliceSubnets."; + type leafref { + path "/NetworkSliceSubnet/id"; + } + } + + leaf-list containedChildren { + description "Reference to all directly contained NetworkSliceSubnet + instances. If NetworkSliceSubnets form a containment hierarchy + this is modeled using references between the child + NetworkSliceSubnet and the parent NetworkSliceSubnet."; + type leafref { + path "/NetworkSliceSubnet/id"; + } + } + } + + uses top3gpp:Top_Grp; + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderNetworkSliceSubnet; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-serviceprofile.yang b/yang-models/_3gpp-ns-nrm-serviceprofile.yang new file mode 100755 index 000000000..d3630dc23 --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-serviceprofile.yang @@ -0,0 +1,503 @@ +submodule _3gpp-ns-nrm-serviceprofile { + yang-version 1.1; + belongs-to _3gpp-ns-nrm-networkslice { prefix ns3gpp; } + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-ns-nrm-common { prefix ns3cmn; } + + organization "3GPP SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "A network slice instance in a 5G network."; + reference "3GPP TS 28.541 + Management and orchestration; + 5G Network Resource Model (NRM); + Information model definitions for network slice NRM (chapter 6) + "; + + revision 2020-06-02 { + reference "CR-0485, CR-0508"; + } + + revision 2020-02-19 { + description "Introduction of YANG definitions for network slice NRM"; + reference "CR-0458"; + } + + revision 2019-06-23 { + description "Initial revision"; + reference "3GPP TS 28.541 V15.X.XX"; + } + + typedef availability-percentage { + description " + Percentage value of the amount of time the end-to-end communication + service is delivered according to an agreed QoS, divided by the amount + of time the system is expected to deliver the end-to-end service + according to the specification in a specific area."; + reference "3GPP TS 22.261 3.1"; + type decimal64 { + fraction-digits 4; // E.g. 99.9999 + range 0..100; + } + } + + typedef V2XMode-enum { + type enumeration { + enum NOT_SUPPORTED; + enum SUPPORTED_BY_NR; + } + } + + grouping ServiceProfileGrp { + + leaf serviceProfileId { + description "Service profile identifier."; + type types3gpp:DistinguishedName; + } + + list sNSSAIList { + description "The S-NSSAI list to be supported by the new NSI to be + created or the existing NSI to be re-used."; + min-elements 1; + key idx; + unique "sst sd"; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses types5g3gpp:SNssai; + } + + list pLMNIdList { + description "List of PLMN IDs."; + min-elements 1; + key "mcc mnc"; + ordered-by user; + uses types3gpp:PLMNId; + } + + leaf maxNumberofUEs { + description "The maximum number of UEs that may simultaneously + access the network slice instance."; + mandatory true; + type uint64; + } + + leaf-list coverageArea { + min-elements 1; + description "A list of TrackingAreas where the NSI can be selected."; + type types3gpp:Tac; + } + + leaf latency { + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization + performance of the end-to-end network slice instance."; + reference "3GPP TS 28.554 clause 6.3.1"; + mandatory true; + type uint16; + units milliseconds; + } + + leaf uEMobilityLevel { + description "The mobility level of UE accessing the network slice + instance."; + reference "3GPP TS 22.261 clause 6.2.1"; + type types3gpp:UeMobilityLevel; + } + + leaf resourceSharingLevel { + description "Specifies whether the resources to be allocated to the + network slice instance may be shared with another network slice + instance(s)."; + type types3gpp:ResourceSharingLevel; + } + + //Stage2 issue: The sNSSAIList above specifies one or potentially + // several sST objects for the service profile. + // How do they relate? + leaf sST { + description "Specifies the slice/service type. See 3GPP TS 23.501 + for defined values."; + mandatory true; + type uint32; + reference "3GPP TS 23.501 5.15.2.2"; + } + + leaf availability { + description "The availability requirement for a network slice + instance, expressed as a percentage."; + type availability-percentage; + } + + list delayTolerance { + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not + chasing a high system performance."; + reference "TS 22.104 clause 4.3"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the + vertical services that are not chasing a high system performance."; + type ns3cmn:Support-enum; + } + } + list deterministicComm { + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + // but I guess deterministicComm is meant + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the + type of traffic with periodic transmissions."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf availability { + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + // uses DeterministicCommAvailability + config false; + type ns3cmn:DeterminCommAvailability; + } + leaf periodicityList { + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + // says "string". + type string; + } + } + list dLThptPerSlice { + description "This attribute defines achievable data rate of the + network slice in downlink that is available ubiquitously across + the coverage area of the slice"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list dLThptPerUE { + description "This attribute defines data rate supported by the network + slice per UE"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerSlice { + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This attribute defines achievable data rate of the + network slice in uplink that is available ubiquitously across + the coverage area of the slice"; + uses ns3cmn:XLThptGrp; + } + list uLThptPerUE { + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This attribute defines data rate supported by the + network slice per UE"; + uses ns3cmn:XLThptGrp; + } + list maxPktSize { + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This parameter specifies the maximum packet size + supported by the network slice"; + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf maxSize { + //Stage2 issue: Not defined in 28.541, guessing integer bytes + type uint32; + units bytes; + } + } + list maxNumberofPDUSessions { + description "Represents the maximum number of + concurrent PDU sessions supported by the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf nOofPDUSessions { + //Stage2 issue: Not defined in 28.541, guessing integer + type uint32; + } + } + list kPIMonitoring { + description "Represents performance monitoring"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf kPIList { + //Stage2 issue: Data format not specified, low interoperability + description "An attribute specifies the name list of KQIs and KPIs + available for performance monitoring"; + type string; + } + } + list userMgmtOpen { + description "An attribute specifies whether or not the network slice + supports the capability for the NSC to manage their users or groups + of users' network services and corresponding requirements."; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + type ns3cmn:Support-enum; + } + } + list v2XCommModels { + description "An attribute specifies whether or not the V2X + communication mode is supported by the network slice."; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf v2XMode { + type V2XMode-enum; + } + } + list termDensity { + description "An attribute specifies the overall user density over + the coverage area of the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf density { + type uint32; + units users/km2; + } + } + leaf activityFactor { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where + active means the UEs are exchanging data with the network"; + reference "TS 22.261 Table 7.1-1"; + type decimal64 { + fraction-digits 1; + } + } + leaf uESpeed { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be + achieved"; + type uint32; + units km/h; + } + leaf jitter { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the deviation from the desired + value to the actual value when assessing time parameters"; + reference "TS 22.104 clause C.4.1"; + type uint32; + units microseconds; + } + leaf survivalTime { + description "An attribute specifies the time that an application + consuming a communication service may continue without an + anticipated message."; + reference "TS 22.104 clause 5"; + type string; + } + leaf reliability { + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, + divided by the total number of sent network layer packets."; + reference "TS 22.261, TS 22.104"; + type string; + } + leaf maxDLDataVolume { + //Stage2 issue: Not defined in 28.541. XML and YAML says "string" + type string; + } + leaf maxULDataVolume { + //Stage2 issue: Not defined in 28.541. XML and YAML says "string" + type string; + } + list nBIoT { + description "An attribute specifies whether NB-IoT is supported in + the RAN in the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + description "An attribute specifies whether NB-IoT is supported + in the RAN in the network slice"; + type ns3cmn:Support-enum; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang new file mode 100755 index 000000000..0ec5311ad --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -0,0 +1,908 @@ +submodule _3gpp-ns-nrm-sliceprofile { + yang-version 1.1; + belongs-to _3gpp-ns-nrm-networkslicesubnet { prefix nss3gpp; } + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + // import _3gpp-ns-nrm-networkslice { prefix ns3gpp; } + import _3gpp-ns-nrm-common { prefix ns3cmn; } + + organization "3GPP SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Represents the properties of network slice subnet related + requirement that should be supported by the network slice subnet + instance in a 5G network."; + reference "3GPP TS 28.541 + Management and orchestration; + 5G Network Resource Model (NRM); + Information model definitions for network slice NRM (chapter 6) + "; + + revision 2021-05-05 { + description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + reference "CR-0485"; + } + + revision 2020-02-19 { + description "Introduction of YANG definitions for network slice NRM"; + reference "CR-0458"; + } + + revision 2019-05-27 { + description "initial revision."; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + typedef SliceSimultaneousUse-enum { + type enumeration { + enum ZERO; + enum ONE; + enum TWO; + enum THREE; + enum FOUR; + } + } + typedef ServiceType-enum { + type enumeration { + enum eMBB; + enum URLLC; + enum MIoT; + enum V2X; + } + } + grouping TopSliceSubnetProfileGrp { + leaf-list coverageArea { + min-elements 1; + description "A list of TrackingAreas where the NSI can be selected."; + type types3gpp:Tac; + } + leaf latency { + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate + utilization performance of the end-to-end network slice instance."; + reference "3GPP TS 28.554 clause 6.3.1"; + //optional support + mandatory true; + type uint16; + units milliseconds; + } + leaf maxNumberofUEs { + description "Specifies the maximum number of UEs may simultaneously + access the network slice instance."; + //optional support + mandatory true; + type uint64; + } + list dLThptPerSliceSubnet { + description "This attribute defines achievable data rate of the + network slice subnet in downlink that is available ubiquitously + across the coverage area of the slice"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list dLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerSliceSubnet { + description "This attribute defines achievable data rate of the + network slice subnet in uplink that is available ubiquitously + across the coverage area of the slice"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list maxPktSize { + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This parameter specifies the maximum packet size + supported by the network slice"; + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf maxSize { + //Stage2 issue: Not defined in 28.541, guessing integer bytes + type uint32; + units bytes; + } + } + list maxNumberofPDUSessions { + description "Represents the maximum number of + concurrent PDU sessions supported by the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf nOofPDUSessions { + //Stage2 issue: Not defined in 28.541, guessing integer + type uint32; + } + } + leaf sliceSimultaneousUse { + description "This attribute describes whether a network slice + can be simultaneously used by a device together with other + network slices and if so, with which other classes of network slices."; + type SliceSimultaneousUse-enum; + } + list delayTolerance { + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not + chasing a high system performance."; + reference "TS 22.104 clause 4.3"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the + vertical services that are not chasing a high system performance."; + type ns3cmn:Support-enum; + } + } + list termDensity { + description "An attribute specifies the overall user density over + the coverage area of the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf density { + type uint32; + units users/km2; + } + } + leaf activityFactor { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where + active means the UEs are exchanging data with the network"; + reference "TS 22.261 Table 7.1-1"; + type decimal64 { + fraction-digits 1; + } + } + leaf-list coverageAreaTAList { + description "A list of TrackingAreas where the NSI can be selected."; + //optional support + min-elements 1; + type types3gpp:Tac; + } + leaf uEMobilityLevel { + description "The mobility level of UE accessing the network slice + instance."; + //optional support + type types3gpp:UeMobilityLevel; + } + + leaf resourceSharingLevel { + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network + slice subnet instance(s)."; + //optional support + type types3gpp:ResourceSharingLevel; + } + leaf uESpeed { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be + achieved"; + type uint32; + units km/h; + } + leaf reliability { + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, + divided by the total number of sent network layer packets."; + reference "TS 22.261, TS 22.104"; + type string; + } + leaf serviceType { + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; + type ServiceType-enum; + } + list deterministicComm { + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + // but I guess determinComm is meant + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the + type of traffic with periodic transmissions."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf availability { + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + // uses DeterminCommAvailability + config false; + type ns3cmn:DeterminCommAvailability; + } + leaf periodicityList { + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + // says "string". + type string; + } + } + leaf survivalTime { + description "An attribute specifies the time that an application + consuming a communication service may continue without an + anticipated message."; + reference "TS 22.104 clause 5"; + type string; + } + } + + grouping CNSliceSubnetProfileGrp { + leaf-list coverageArea { + min-elements 1; + description "A list of TrackingAreas where the NSI can be selected."; + type types3gpp:Tac; + } + leaf latency { + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate + utilization performance of the end-to-end network slice instance."; + reference "3GPP TS 28.554 clause 6.3.1"; + //optional support + mandatory true; + type uint16; + units milliseconds; + } + leaf maxNumberofUEs { + description "Specifies the maximum number of UEs may simultaneously + access the network slice instance."; + //optional support + mandatory true; + type uint64; + } + list dLThptPerSliceSubnet { + description "This attribute defines achievable data rate of the + network slice subnet in downlink that is available ubiquitously + across the coverage area of the slice"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list dLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerSliceSubnet { + description "This attribute defines achievable data rate of the + network slice subnet in uplink that is available ubiquitously + across the coverage area of the slice"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list maxPktSize { + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This parameter specifies the maximum packet size + supported by the network slice"; + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf maxSize { + //Stage2 issue: Not defined in 28.541, guessing integer bytes + type uint32; + units bytes; + } + } + list maxNumberofPDUSessions { + description "Represents the maximum number of + concurrent PDU sessions supported by the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf nOofPDUSessions { + //Stage2 issue: Not defined in 28.541, guessing integer + type uint32; + } + } + leaf sliceSimultaneousUse { + description "This attribute describes whether a network slice + can be simultaneously used by a device together with other + network slices and if so, with which other classes of network slices."; + type SliceSimultaneousUse-enum; + } + list delayTolerance { + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not + chasing a high system performance."; + reference "TS 22.104 clause 4.3"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the + vertical services that are not chasing a high system performance."; + type ns3cmn:Support-enum; + } + } + leaf-list coverageAreaTAList { + description "A list of TrackingAreas where the NSI can be selected."; + //optional support + min-elements 1; + type types3gpp:Tac; + } + leaf resourceSharingLevel { + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network + slice subnet instance(s)."; + //optional support + type types3gpp:ResourceSharingLevel; + } + + list deterministicComm { + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + // but I guess determinComm is meant + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the + type of traffic with periodic transmissions."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf availability { + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + // uses DeterminCommAvailability + config false; + type ns3cmn:DeterminCommAvailability; + } + leaf periodicityList { + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + // says "string". + type string; + } + } + } + + grouping RANSliceSubnetProfileGrp { + leaf latency { + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate + utilization performance of the end-to-end network slice instance."; + reference "3GPP TS 28.554 clause 6.3.1"; + //optional support + mandatory true; + type uint16; + units milliseconds; + } + leaf maxNumberofUEs { + description "Specifies the maximum number of UEs may simultaneously + access the network slice instance."; + //optional support + mandatory true; + type uint64; + } + list dLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list uLThptPerUE { + description "This attribute defines data rate supported by the + network slice per UE, refer NG.116"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:XLThptGrp; + } + list maxPktSize { + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + description "This parameter specifies the maximum packet size + supported by the network slice"; + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf maxSize { + //Stage2 issue: Not defined in 28.541, guessing integer bytes + type uint32; + units bytes; + } + } + list delayTolerance { + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not + chasing a high system performance."; + reference "TS 22.104 clause 4.3"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf support { + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the + vertical services that are not chasing a high system performance."; + type ns3cmn:Support-enum; + } + } + leaf sliceSimultaneousUse { + description "This attribute describes whether a network slice + can be simultaneously used by a device together with other + network slices and if so, with which other classes of network slices."; + type SliceSimultaneousUse-enum; + } + list termDensity { + description "An attribute specifies the overall user density over + the coverage area of the network slice"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf density { + type uint32; + units users/km2; + } + } + leaf activityFactor { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where + active means the UEs are exchanging data with the network"; + reference "TS 22.261 Table 7.1-1"; + type decimal64 { + fraction-digits 1; + } + } + leaf-list coverageAreaTAList { + description "A list of TrackingAreas where the NSI can be selected."; + //optional support + min-elements 1; + type types3gpp:Tac; + } + leaf uEMobilityLevel { + description "The mobility level of UE accessing the network slice + instance."; + //optional support + type types3gpp:UeMobilityLevel; + } + + leaf resourceSharingLevel { + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network + slice subnet instance(s)."; + //optional support + type types3gpp:ResourceSharingLevel; + } + leaf uESpeed { + //Stage2 issue: This is modeled as writable/config true in 28.542, + // but that does not appear to match the description + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be + achieved"; + type uint32; + units km/h; + } + leaf reliability { + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, + divided by the total number of sent network layer packets."; + reference "TS 22.261, TS 22.104"; + type string; + } + leaf serviceType { + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; + type ServiceType-enum; + } + list deterministicComm { + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + // but I guess determinComm is meant + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the + type of traffic with periodic transmissions."; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + list servAttrCom { + description "This list represents the common properties of service + requirement related attributes."; + reference "GSMA NG.116 corresponding to Attribute categories, + tagging and exposure"; + config false; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses ns3cmn:ServAttrComGrp; + } + leaf availability { + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + // uses DeterminCommAvailability + config false; + type ns3cmn:DeterminCommAvailability; + } + leaf periodicityList { + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + // says "string". + type string; + } + } + leaf survivalTime { + description "An attribute specifies the time that an application + consuming a communication service may continue without an + anticipated message."; + reference "TS 22.104 clause 5"; + type string; + } + } + + grouping SliceProfileGrp { + leaf sliceProfileId { + description "A unique identifier of the property of network slice + subnet related requirement should be supported by the network + slice subnet instance."; + type types3gpp:DistinguishedName; + } + + list sNSSAIList { + description "List of S-NSSAIs the managed object is capable of + supporting. (Single Network Slice Selection Assistance Information) + An S-NSSAI has an SST (Slice/Service type) and an optional SD + (Slice Differentiator) field."; + key idx; + unique "sst sd"; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses types5g3gpp:SNssai; + } + + list pLMNIdList { + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed + of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + ordered-by user; + uses types3gpp:PLMNId; + } + + leaf maxNumberofUEs { + description "Specifies the maximum number of UEs may simultaneously + access the network slice instance."; + //optional support + mandatory true; + type uint64; + } + + leaf-list coverageAreaTAList { + description "A list of TrackingAreas where the NSI can be selected."; + //optional support + min-elements 1; + type types3gpp:Tac; + } + + leaf latency { + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate + utilization performance of the end-to-end network slice instance."; + reference "3GPP TS 28.554 clause 6.3.1"; + //optional support + mandatory true; + type uint16; + units milliseconds; + } + + leaf uEMobilityLevel { + description "The mobility level of UE accessing the network slice + instance."; + //optional support + type types3gpp:UeMobilityLevel; + } + + leaf resourceSharingLevel { + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network + slice subnet instance(s)."; + //optional support + type types3gpp:ResourceSharingLevel; + } + list CNSliceSubnetProfile { + description " This represents the requirements for the top slice associated with the + network slice. "; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses TopSliceSubnetProfileGrp; + } + list RANSliceSubnetProfile { + description " This represents the requirements for the top slice associated with the + network slice. "; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses TopSliceSubnetProfileGrp; + } + list TopSliceSubnetProfile { + description " This represents the requirements for the top slice associated with the + network slice. "; + key idx; + max-elements 1; + leaf idx { + description "Synthetic index for the element."; + type uint32; + } + uses TopSliceSubnetProfileGrp; + } + } +} \ No newline at end of file diff --git a/yang-models/external-yams/ietf-inet-types.yang b/yang-models/external-yams/ietf-inet-types.yang new file mode 100755 index 000000000..a69ac0579 --- /dev/null +++ b/yang-models/external-yams/ietf-inet-types.yang @@ -0,0 +1,472 @@ +module ietf-inet-types { + + yang-version 1; + + namespace + "urn:ietf:params:xml:ns:yang:ietf-inet-types"; + + prefix inet; + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: David Kessens + + + WG Chair: Juergen Schoenwaelder + + + Editor: Juergen Schoenwaelder + "; + + description + "This module contains a collection of generally useful derived + YANG data types for Internet addresses and related things. + + Copyright (c) 2013 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6991; see + the RFC itself for full legal notices."; + + revision "2013-07-15" { + description + "This revision adds the following new data types: + - ip-address-no-zone + - ipv4-address-no-zone + - ipv6-address-no-zone"; + reference + "RFC 6991: Common YANG Data Types"; + + } + + revision "2010-09-24" { + description "Initial revision."; + reference + "RFC 6021: Common YANG Data Types"; + + } + + + typedef ip-version { + type enumeration { + enum "unknown" { + value 0; + description + "An unknown or unspecified version of the Internet + protocol."; + } + enum "ipv4" { + value 1; + description + "The IPv4 protocol as defined in RFC 791."; + } + enum "ipv6" { + value 2; + description + "The IPv6 protocol as defined in RFC 2460."; + } + } + description + "This value represents the version of the IP protocol. + + In the value set and its semantics, this type is equivalent + to the InetVersion textual convention of the SMIv2."; + reference + "RFC 791: Internet Protocol + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification + RFC 4001: Textual Conventions for Internet Network Addresses"; + + } + + typedef dscp { + type uint8 { + range "0..63"; + } + description + "The dscp type represents a Differentiated Services Code Point + that may be used for marking packets in a traffic stream. + In the value set and its semantics, this type is equivalent + to the Dscp textual convention of the SMIv2."; + reference + "RFC 3289: Management Information Base for the Differentiated + Services Architecture + RFC 2474: Definition of the Differentiated Services Field + (DS Field) in the IPv4 and IPv6 Headers + RFC 2780: IANA Allocation Guidelines For Values In + the Internet Protocol and Related Headers"; + + } + + typedef ipv6-flow-label { + type uint32 { + range "0..1048575"; + } + description + "The ipv6-flow-label type represents the flow identifier or Flow + Label in an IPv6 packet header that may be used to + discriminate traffic flows. + + In the value set and its semantics, this type is equivalent + to the IPv6FlowLabel textual convention of the SMIv2."; + reference + "RFC 3595: Textual Conventions for IPv6 Flow Label + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"; + + } + + typedef port-number { + type uint16 { + range "0..65535"; + } + description + "The port-number type represents a 16-bit port number of an + Internet transport-layer protocol such as UDP, TCP, DCCP, or + SCTP. Port numbers are assigned by IANA. A current list of + all assignments is available from . + + Note that the port number value zero is reserved by IANA. In + situations where the value zero does not make sense, it can + be excluded by subtyping the port-number type. + In the value set and its semantics, this type is equivalent + to the InetPortNumber textual convention of the SMIv2."; + reference + "RFC 768: User Datagram Protocol + RFC 793: Transmission Control Protocol + RFC 4960: Stream Control Transmission Protocol + RFC 4340: Datagram Congestion Control Protocol (DCCP) + RFC 4001: Textual Conventions for Internet Network Addresses"; + + } + + typedef as-number { + type uint32; + description + "The as-number type represents autonomous system numbers + which identify an Autonomous System (AS). An AS is a set + of routers under a single technical administration, using + an interior gateway protocol and common metrics to route + packets within the AS, and using an exterior gateway + protocol to route packets to other ASes. IANA maintains + the AS number space and has delegated large parts to the + regional registries. + + Autonomous system numbers were originally limited to 16 + bits. BGP extensions have enlarged the autonomous system + number space to 32 bits. This type therefore uses an uint32 + base type without a range restriction in order to support + a larger autonomous system number space. + + In the value set and its semantics, this type is equivalent + to the InetAutonomousSystemNumber textual convention of + the SMIv2."; + reference + "RFC 1930: Guidelines for creation, selection, and registration + of an Autonomous System (AS) + RFC 4271: A Border Gateway Protocol 4 (BGP-4) + RFC 4001: Textual Conventions for Internet Network Addresses + RFC 6793: BGP Support for Four-Octet Autonomous System (AS) + Number Space"; + + } + + typedef ip-address { + type union { + type ipv4-address; + type ipv6-address; + } + description + "The ip-address type represents an IP address and is IP + version neutral. The format of the textual representation + implies the IP version. This type supports scoped addresses + by allowing zone identifiers in the address format."; + reference + "RFC 4007: IPv6 Scoped Address Architecture"; + + } + + typedef ipv4-address { + type string { + pattern + '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' + + '(%[\p{N}\p{L}]+)?'; + } + description + "The ipv4-address type represents an IPv4 address in + dotted-quad notation. The IPv4 address may include a zone + index, separated by a % sign. + + The zone index is used to disambiguate identical address + values. For link-local addresses, the zone index will + typically be the interface index number or the name of an + interface. If the zone index is not present, the default + zone of the device will be used. + + The canonical format for the zone index is the numerical + format"; + } + + typedef ipv6-address { + type string { + pattern + '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' + + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' + + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' + + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' + + '(%[\p{N}\p{L}]+)?'; + pattern + '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' + + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' + + '(%.+)?'; + } + description + "The ipv6-address type represents an IPv6 address in full, + mixed, shortened, and shortened-mixed notation. The IPv6 + address may include a zone index, separated by a % sign. + + The zone index is used to disambiguate identical address + values. For link-local addresses, the zone index will + typically be the interface index number or the name of an + interface. If the zone index is not present, the default + zone of the device will be used. + + + + The canonical format of IPv6 addresses uses the textual + representation defined in Section 4 of RFC 5952. The + canonical format for the zone index is the numerical + format as described in Section 11.2 of RFC 4007."; + reference + "RFC 4291: IP Version 6 Addressing Architecture + RFC 4007: IPv6 Scoped Address Architecture + RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + + } + + typedef ip-address-no-zone { + type union { + type ipv4-address-no-zone; + type ipv6-address-no-zone; + } + description + "The ip-address-no-zone type represents an IP address and is + IP version neutral. The format of the textual representation + implies the IP version. This type does not support scoped + addresses since it does not allow zone identifiers in the + address format."; + reference + "RFC 4007: IPv6 Scoped Address Architecture"; + + } + + typedef ipv4-address-no-zone { + type ipv4-address { + pattern '[0-9\.]*'; + } + description + "An IPv4 address without a zone index. This type, derived from + ipv4-address, may be used in situations where the zone is + known from the context and hence no zone index is needed."; + } + + typedef ipv6-address-no-zone { + type ipv6-address { + pattern '[0-9a-fA-F:\.]*'; + } + description + "An IPv6 address without a zone index. This type, derived from + ipv6-address, may be used in situations where the zone is + known from the context and hence no zone index is needed."; + reference + "RFC 4291: IP Version 6 Addressing Architecture + RFC 4007: IPv6 Scoped Address Architecture + RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + + } + + typedef ip-prefix { + type union { + type ipv4-prefix; + type ipv6-prefix; + } + description + "The ip-prefix type represents an IP prefix and is IP + version neutral. The format of the textual representations + implies the IP version."; + } + + typedef ipv4-prefix { + type string { + pattern + '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' + + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; + } + description + "The ipv4-prefix type represents an IPv4 address prefix. + The prefix length is given by the number following the + slash character and must be less than or equal to 32. + + A prefix length value of n corresponds to an IP address + mask that has n contiguous 1-bits from the most + significant bit (MSB) and all other bits set to 0. + + The canonical format of an IPv4 prefix has all bits of + the IPv4 address set to zero that are not part of the + IPv4 prefix."; + } + + typedef ipv6-prefix { + type string { + pattern + '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' + + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' + + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' + + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' + + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; + pattern + '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' + + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' + + '(/.+)'; + } + description + "The ipv6-prefix type represents an IPv6 address prefix. + The prefix length is given by the number following the + slash character and must be less than or equal to 128. + + A prefix length value of n corresponds to an IP address + mask that has n contiguous 1-bits from the most + significant bit (MSB) and all other bits set to 0. + + The IPv6 address should have all bits that do not belong + to the prefix set to zero. + + The canonical format of an IPv6 prefix has all bits of + the IPv6 address set to zero that are not part of the + IPv6 prefix. Furthermore, the IPv6 address is represented + as defined in Section 4 of RFC 5952."; + reference + "RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + + } + + typedef domain-name { + type string { + length "1..253"; + pattern + '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' + + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' + + '|\.'; + } + description + "The domain-name type represents a DNS domain name. The + name SHOULD be fully qualified whenever possible. + + Internet domain names are only loosely specified. Section + 3.5 of RFC 1034 recommends a syntax (modified in Section + 2.1 of RFC 1123). The pattern above is intended to allow + for current practice in domain name use, and some possible + future expansion. It is designed to hold various types of + domain names, including names used for A or AAAA records + (host names) and other records, such as SRV records. Note + that Internet host names have a stricter syntax (described + in RFC 952) than the DNS recommendations in RFCs 1034 and + 1123, and that systems that want to store host names in + schema nodes using the domain-name type are recommended to + adhere to this stricter standard to ensure interoperability. + + The encoding of DNS names in the DNS protocol is limited + to 255 characters. Since the encoding consists of labels + prefixed by a length bytes and there is a trailing NULL + byte, only 253 characters can appear in the textual dotted + notation. + + The description clause of schema nodes using the domain-name + type MUST describe when and how these names are resolved to + IP addresses. Note that the resolution of a domain-name value + may require to query multiple DNS records (e.g., A for IPv4 + and AAAA for IPv6). The order of the resolution process and + which DNS record takes precedence can either be defined + explicitly or may depend on the configuration of the + resolver. + + Domain-name values use the US-ASCII encoding. Their canonical + format uses lowercase US-ASCII characters. Internationalized + domain names MUST be A-labels as per RFC 5890."; + reference + "RFC 952: DoD Internet Host Table Specification + RFC 1034: Domain Names - Concepts and Facilities + RFC 1123: Requirements for Internet Hosts -- Application + and Support + RFC 2782: A DNS RR for specifying the location of services + (DNS SRV) + RFC 5890: Internationalized Domain Names in Applications + (IDNA): Definitions and Document Framework"; + + } + + typedef host { + type union { + type ip-address; + type domain-name; + } + description + "The host type represents either an IP address or a DNS + domain name."; + } + + typedef uri { + type string; + description + "The uri type represents a Uniform Resource Identifier + (URI) as defined by STD 66. + + Objects using the uri type MUST be in US-ASCII encoding, + and MUST be normalized as described by RFC 3986 Sections + 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary + percent-encoding is removed, and all case-insensitive + characters are set to lowercase except for hexadecimal + digits, which are normalized to uppercase as described in + Section 6.2.2.1. + + The purpose of this normalization is to help provide + unique URIs. Note that this normalization is not + sufficient to provide uniqueness. Two URIs that are + textually distinct after this normalization may still be + equivalent. + + Objects using the uri type may restrict the schemes that + they permit. For example, 'data:' and 'urn:' schemes + might not be appropriate. + + A zero-length URI is not a valid URI. This can be used to + express 'URI absent' where required. + + In the value set and its semantics, this type is equivalent + to the Uri SMIv2 textual convention defined in RFC 5017."; + reference + "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax + RFC 3305: Report from the Joint W3C/IETF URI Planning Interest + Group: Uniform Resource Identifiers (URIs), URLs, + and Uniform Resource Names (URNs): Clarifications + and Recommendations + RFC 5017: MIB Textual Conventions for Uniform Resource + Identifiers (URIs)"; + + } + } // module ietf-inet-types diff --git a/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang b/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang new file mode 100755 index 000000000..c49458a11 --- /dev/null +++ b/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang @@ -0,0 +1,224 @@ +module ietf-yang-schema-mount { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount"; + prefix yangmnt; + + import ietf-inet-types { + prefix inet; + reference + "RFC 6991: Common YANG Data Types"; + } + + import ietf-yang-types { + prefix yang; + reference + "RFC 6991: Common YANG Data Types"; + } + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + Editor: Martin Bjorklund + + + Editor: Ladislav Lhotka + "; + + description + "This module defines a YANG extension statement that can be used + to incorporate data models defined in other YANG modules in a + module. It also defines operational state data that specify the + overall structure of the data model. + + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL + NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', + 'MAY', and 'OPTIONAL' in this document are to be interpreted as + described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, + they appear in all capitals, as shown here. + + Copyright (c) 2019 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject to + the license terms contained in, the Simplified BSD License set + forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 8528; + see the RFC itself for full legal notices."; + + revision 2019-01-14 { + description + "Initial revision."; + reference + "RFC 8528: YANG Schema Mount"; + } + + /* + * Extensions + */ + + extension mount-point { + argument label; + description + "The argument 'label' is a YANG identifier, i.e., it is of the + type 'yang:yang-identifier'. + + The 'mount-point' statement MUST NOT be used in a YANG + version 1 module, neither explicitly nor via a 'uses' + statement. + The 'mount-point' statement MAY be present as a substatement + of 'container' and 'list' and MUST NOT be present elsewhere. + There MUST NOT be more than one 'mount-point' statement in a + given 'container' or 'list' statement. + + If a mount point is defined within a grouping, its label is + bound to the module where the grouping is used. + + A mount point defines a place in the node hierarchy where + other data models may be attached. A server that implements a + module with a mount point populates the + '/schema-mounts/mount-point' list with detailed information on + which data models are mounted at each mount point. + + Note that the 'mount-point' statement does not define a new + data node."; + } + + /* + * State data nodes + */ + + container schema-mounts { + config false; + description + "Contains information about the structure of the overall + mounted data model implemented in the server."; + list namespace { + key "prefix"; + description + "This list provides a mapping of namespace prefixes that are + used in XPath expressions of 'parent-reference' leafs to the + corresponding namespace URI references."; + leaf prefix { + type yang:yang-identifier; + description + "Namespace prefix."; + } + leaf uri { + type inet:uri; + description + "Namespace URI reference."; + } + } + list mount-point { + key "module label"; + + description + "Each entry of this list specifies a schema for a particular + mount point. + + Each mount point MUST be defined using the 'mount-point' + extension in one of the modules listed in the server's + YANG library instance with conformance type 'implement'."; + leaf module { + type yang:yang-identifier; + description + "Name of a module containing the mount point."; + } + leaf label { + type yang:yang-identifier; + description + "Label of the mount point defined using the 'mount-point' + extension."; + } + leaf config { + type boolean; + default "true"; + description + "If this leaf is set to 'false', then all data nodes in the + mounted schema are read-only ('config false'), regardless + of their 'config' property."; + } + choice schema-ref { + mandatory true; + description + "Alternatives for specifying the schema."; + container inline { + presence + "A complete self-contained schema is mounted at the + mount point."; + description + "This node indicates that the server has mounted at least + the module 'ietf-yang-library' at the mount point, and + its instantiation provides the information about the + mounted schema. + + Different instances of the mount point may have + different schemas mounted."; + } + container shared-schema { + presence + "The mounted schema together with the 'parent-reference' + make up the schema for this mount point."; + + description + "This node indicates that the server has mounted at least + the module 'ietf-yang-library' at the mount point, and + its instantiation provides the information about the + mounted schema. When XPath expressions in the mounted + schema are evaluated, the 'parent-reference' leaf-list + is taken into account. + + Different instances of the mount point MUST have the + same schema mounted."; + leaf-list parent-reference { + type yang:xpath1.0; + description + "Entries of this leaf-list are XPath 1.0 expressions + that are evaluated in the following context: + + - The context node is the node in the parent data tree + where the mount-point is defined. + + - The accessible tree is the parent data tree + *without* any nodes defined in modules that are + mounted inside the parent schema. + + - The context position and context size are both equal + to 1. + + - The set of variable bindings is empty. + + - The function library is the core function library + defined in the W3C XPath 1.0 document + (http://www.w3.org/TR/1999/REC-xpath-19991116) and + the functions defined in Section 10 of RFC 7950. + + - The set of namespace declarations is defined by the + 'namespace' list under 'schema-mounts'. + + Each XPath expression MUST evaluate to a node-set + (possibly empty). For the purposes of evaluating + XPath expressions whose context nodes are defined in + the mounted schema, the union of all these node-sets + together with ancestor nodes are added to the + accessible data tree. + + Note that in the case 'ietf-yang-schema-mount' is + itself mounted, a 'parent-reference' in the mounted + module may refer to nodes that were brought into the + accessible tree through a 'parent-reference' in the + parent schema."; + } + } + } + } + } +} diff --git a/yang-models/external-yams/ietf-yang-types@2013-07-15.yang b/yang-models/external-yams/ietf-yang-types@2013-07-15.yang new file mode 100755 index 000000000..371a091d1 --- /dev/null +++ b/yang-models/external-yams/ietf-yang-types@2013-07-15.yang @@ -0,0 +1,480 @@ +module ietf-yang-types { + + namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types"; + prefix "yang"; + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: David Kessens + + + WG Chair: Juergen Schoenwaelder + + + Editor: Juergen Schoenwaelder + "; + + description + "This module contains a collection of generally useful derived + YANG data types. + + Copyright (c) 2013 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6991; see + the RFC itself for full legal notices."; + + revision 2013-07-15 { + description + "This revision adds the following new data types: + - yang-identifier + - hex-string + - uuid + - dotted-quad"; + reference + "RFC 6991: Common YANG Data Types"; + } + + revision 2010-09-24 { + description + "Initial revision."; + reference + "RFC 6021: Common YANG Data Types"; + } + + /*** collection of counter and gauge types ***/ + + typedef counter32 { + type uint32; + description + "The counter32 type represents a non-negative integer + that monotonically increases until it reaches a + maximum value of 2^32-1 (4294967295 decimal), when it + wraps around and starts increasing again from zero. + + Counters have no defined 'initial' value, and thus, a + single value of a counter has (in general) no information + content. Discontinuities in the monotonically increasing + value normally occur at re-initialization of the + management system, and at other times as specified in the + description of a schema node using this type. If such + other times can occur, for example, the creation of + a schema node of type counter32 at times other than + re-initialization, then a corresponding schema node + should be defined, with an appropriate type, to indicate + the last discontinuity. + + The counter32 type should not be used for configuration + schema nodes. A default statement SHOULD NOT be used in + combination with the type counter32. + + In the value set and its semantics, this type is equivalent + to the Counter32 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef zero-based-counter32 { + type yang:counter32; + default "0"; + description + "The zero-based-counter32 type represents a counter32 + that has the defined 'initial' value zero. + + A schema node of this type will be set to zero (0) on creation + and will thereafter increase monotonically until it reaches + a maximum value of 2^32-1 (4294967295 decimal), when it + wraps around and starts increasing again from zero. + + Provided that an application discovers a new schema node + of this type within the minimum time to wrap, it can use the + 'initial' value as a delta. It is important for a management + station to be aware of this minimum time and the actual time + between polls, and to discard data if the actual time is too + long or there is no defined minimum time. + + In the value set and its semantics, this type is equivalent + to the ZeroBasedCounter32 textual convention of the SMIv2."; + reference + "RFC 4502: Remote Network Monitoring Management Information + Base Version 2"; + } + + typedef counter64 { + type uint64; + description + "The counter64 type represents a non-negative integer + that monotonically increases until it reaches a + maximum value of 2^64-1 (18446744073709551615 decimal), + when it wraps around and starts increasing again from zero. + + Counters have no defined 'initial' value, and thus, a + single value of a counter has (in general) no information + content. Discontinuities in the monotonically increasing + value normally occur at re-initialization of the + management system, and at other times as specified in the + description of a schema node using this type. If such + other times can occur, for example, the creation of + a schema node of type counter64 at times other than + re-initialization, then a corresponding schema node + should be defined, with an appropriate type, to indicate + the last discontinuity. + + The counter64 type should not be used for configuration + schema nodes. A default statement SHOULD NOT be used in + combination with the type counter64. + + In the value set and its semantics, this type is equivalent + to the Counter64 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef zero-based-counter64 { + type yang:counter64; + default "0"; + description + "The zero-based-counter64 type represents a counter64 that + has the defined 'initial' value zero. + + + + + A schema node of this type will be set to zero (0) on creation + and will thereafter increase monotonically until it reaches + a maximum value of 2^64-1 (18446744073709551615 decimal), + when it wraps around and starts increasing again from zero. + + Provided that an application discovers a new schema node + of this type within the minimum time to wrap, it can use the + 'initial' value as a delta. It is important for a management + station to be aware of this minimum time and the actual time + between polls, and to discard data if the actual time is too + long or there is no defined minimum time. + + In the value set and its semantics, this type is equivalent + to the ZeroBasedCounter64 textual convention of the SMIv2."; + reference + "RFC 2856: Textual Conventions for Additional High Capacity + Data Types"; + } + + typedef gauge32 { + type uint32; + description + "The gauge32 type represents a non-negative integer, which + may increase or decrease, but shall never exceed a maximum + value, nor fall below a minimum value. The maximum value + cannot be greater than 2^32-1 (4294967295 decimal), and + the minimum value cannot be smaller than 0. The value of + a gauge32 has its maximum value whenever the information + being modeled is greater than or equal to its maximum + value, and has its minimum value whenever the information + being modeled is smaller than or equal to its minimum value. + If the information being modeled subsequently decreases + below (increases above) the maximum (minimum) value, the + gauge32 also decreases (increases). + + In the value set and its semantics, this type is equivalent + to the Gauge32 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef gauge64 { + type uint64; + description + "The gauge64 type represents a non-negative integer, which + may increase or decrease, but shall never exceed a maximum + value, nor fall below a minimum value. The maximum value + cannot be greater than 2^64-1 (18446744073709551615), and + the minimum value cannot be smaller than 0. The value of + a gauge64 has its maximum value whenever the information + being modeled is greater than or equal to its maximum + value, and has its minimum value whenever the information + being modeled is smaller than or equal to its minimum value. + If the information being modeled subsequently decreases + below (increases above) the maximum (minimum) value, the + gauge64 also decreases (increases). + + In the value set and its semantics, this type is equivalent + to the CounterBasedGauge64 SMIv2 textual convention defined + in RFC 2856"; + reference + "RFC 2856: Textual Conventions for Additional High Capacity + Data Types"; + } + + /*** collection of identifier-related types ***/ + + typedef object-identifier { + type string { + pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))' + + '(\.(0|([1-9]\d*)))*'; + } + description + "The object-identifier type represents administratively + assigned names in a registration-hierarchical-name tree. + + Values of this type are denoted as a sequence of numerical + non-negative sub-identifier values. Each sub-identifier + value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers + are separated by single dots and without any intermediate + whitespace. + + The ASN.1 standard restricts the value space of the first + sub-identifier to 0, 1, or 2. Furthermore, the value space + of the second sub-identifier is restricted to the range + 0 to 39 if the first sub-identifier is 0 or 1. Finally, + the ASN.1 standard requires that an object identifier + has always at least two sub-identifiers. The pattern + captures these restrictions. + + Although the number of sub-identifiers is not limited, + module designers should realize that there may be + implementations that stick with the SMIv2 limit of 128 + sub-identifiers. + + This type is a superset of the SMIv2 OBJECT IDENTIFIER type + since it is not restricted to 128 sub-identifiers. Hence, + this type SHOULD NOT be used to represent the SMIv2 OBJECT + IDENTIFIER type; the object-identifier-128 type SHOULD be + used instead."; + reference + "ISO9834-1: Information technology -- Open Systems + Interconnection -- Procedures for the operation of OSI + Registration Authorities: General procedures and top + arcs of the ASN.1 Object Identifier tree"; + } + + typedef object-identifier-128 { + type object-identifier { + pattern '\d*(\.\d*){1,127}'; + } + description + "This type represents object-identifiers restricted to 128 + sub-identifiers. + + In the value set and its semantics, this type is equivalent + to the OBJECT IDENTIFIER type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef yang-identifier { + type string { + length "1..max"; + pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; + pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; + } + description + "A YANG identifier string as defined by the 'identifier' + rule in Section 12 of RFC 6020. An identifier must + start with an alphabetic character or an underscore + followed by an arbitrary sequence of alphabetic or + numeric characters, underscores, hyphens, or dots. + + A YANG identifier MUST NOT start with any possible + combination of the lowercase or uppercase character + sequence 'xml'."; + reference + "RFC 6020: YANG - A Data Modeling Language for the Network + Configuration Protocol (NETCONF)"; + } + + /*** collection of types related to date and time***/ + + typedef date-and-time { + type string { + pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?' + + '(Z|[\+\-]\d{2}:\d{2})'; + } + description + "The date-and-time type is a profile of the ISO 8601 + standard for representation of dates and times using the + Gregorian calendar. The profile is defined by the + date-time production in Section 5.6 of RFC 3339. + + The date-and-time type is compatible with the dateTime XML + schema type with the following notable exceptions: + + (a) The date-and-time type does not allow negative years. + + (b) The date-and-time time-offset -00:00 indicates an unknown + time zone (see RFC 3339) while -00:00 and +00:00 and Z + all represent the same time zone in dateTime. + + (c) The canonical format (see below) of data-and-time values + differs from the canonical format used by the dateTime XML + schema type, which requires all times to be in UTC using + the time-offset 'Z'. + + This type is not equivalent to the DateAndTime textual + convention of the SMIv2 since RFC 3339 uses a different + separator between full-date and full-time and provides + higher resolution of time-secfrac. + + The canonical format for date-and-time values with a known time + zone uses a numeric time zone offset that is calculated using + the device's configured known offset to UTC time. A change of + the device's offset to UTC time will cause date-and-time values + to change accordingly. Such changes might happen periodically + in case a server follows automatically daylight saving time + (DST) time zone offset changes. The canonical format for + date-and-time values with an unknown time zone (usually + referring to the notion of local time) uses the time-offset + -00:00."; + reference + "RFC 3339: Date and Time on the Internet: Timestamps + RFC 2579: Textual Conventions for SMIv2 + XSD-TYPES: XML Schema Part 2: Datatypes Second Edition"; + } + + typedef timeticks { + type uint32; + description + "The timeticks type represents a non-negative integer that + represents the time, modulo 2^32 (4294967296 decimal), in + hundredths of a second between two epochs. When a schema + node is defined that uses this type, the description of + the schema node identifies both of the reference epochs. + + In the value set and its semantics, this type is equivalent + to the TimeTicks type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef timestamp { + type yang:timeticks; + description + "The timestamp type represents the value of an associated + timeticks schema node at which a specific occurrence + happened. The specific occurrence must be defined in the + description of any schema node defined using this type. When + the specific occurrence occurred prior to the last time the + associated timeticks attribute was zero, then the timestamp + value is zero. Note that this requires all timestamp values + to be reset to zero when the value of the associated timeticks + attribute reaches 497+ days and wraps around to zero. + + The associated timeticks schema node must be specified + in the description of any schema node using this type. + + In the value set and its semantics, this type is equivalent + to the TimeStamp textual convention of the SMIv2."; + reference + "RFC 2579: Textual Conventions for SMIv2"; + } + + /*** collection of generic address types ***/ + + typedef phys-address { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + + + + + description + "Represents media- or physical-level addresses represented + as a sequence octets, each octet represented by two hexadecimal + numbers. Octets are separated by colons. The canonical + representation uses lowercase characters. + + In the value set and its semantics, this type is equivalent + to the PhysAddress textual convention of the SMIv2."; + reference + "RFC 2579: Textual Conventions for SMIv2"; + } + + typedef mac-address { + type string { + pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; + } + description + "The mac-address type represents an IEEE 802 MAC address. + The canonical representation uses lowercase characters. + + In the value set and its semantics, this type is equivalent + to the MacAddress textual convention of the SMIv2."; + reference + "IEEE 802: IEEE Standard for Local and Metropolitan Area + Networks: Overview and Architecture + RFC 2579: Textual Conventions for SMIv2"; + } + + /*** collection of XML-specific types ***/ + + typedef xpath1.0 { + type string; + description + "This type represents an XPATH 1.0 expression. + + When a schema node is defined that uses this type, the + description of the schema node MUST specify the XPath + context in which the XPath expression is evaluated."; + reference + "XPATH: XML Path Language (XPath) Version 1.0"; + } + + /*** collection of string types ***/ + + typedef hex-string { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + description + "A hexadecimal string with octets represented as hex digits + separated by colons. The canonical representation uses + lowercase characters."; + } + + typedef uuid { + type string { + pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; + } + description + "A Universally Unique IDentifier in the string representation + defined in RFC 4122. The canonical representation uses + lowercase characters. + + The following is an example of a UUID in string representation: + f81d4fae-7dec-11d0-a765-00a0c91e6bf6 + "; + reference + "RFC 4122: A Universally Unique IDentifier (UUID) URN + Namespace"; + } + + typedef dotted-quad { + type string { + pattern + '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; + } + description + "An unsigned 32-bit number expressed in the dotted-quad + notation, i.e., four octets written as decimal numbers + and separated with the '.' (full stop) character."; + } +} -- GitLab From 404f3cd74542ea2ff5c17e19b714a6ea9063fa94 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Fri, 2 Jul 2021 13:42:19 +0200 Subject: [PATCH 3/6] Update README.md No real change, just for testing the validation scripts --- yang-models/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/README.md b/yang-models/README.md index eb452b55a..476a9ecba 100755 --- a/yang-models/README.md +++ b/yang-models/README.md @@ -5,3 +5,4 @@ All commited YANG modules MUST pass the "pyang --strict -p external-yams _3gpp-*.yang" validation command without errors. + \ No newline at end of file -- GitLab From 141b4e8dea8fbabb11895e5d7b143f9565ea69ed Mon Sep 17 00:00:00 2001 From: lengyelb Date: Mon, 5 Jul 2021 15:10:55 +0200 Subject: [PATCH 4/6] Update README.md added two space chars just for test --- yang-models/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/README.md b/yang-models/README.md index 476a9ecba..dd2b4aa1e 100755 --- a/yang-models/README.md +++ b/yang-models/README.md @@ -5,4 +5,4 @@ All commited YANG modules MUST pass the "pyang --strict -p external-yams _3gpp-*.yang" validation command without errors. - \ No newline at end of file + \ No newline at end of file -- GitLab From 9f677354787484baa6eac3890943233be7f0f3bd Mon Sep 17 00:00:00 2001 From: Miguel Reina Ortega Date: Mon, 5 Jul 2021 16:01:33 +0200 Subject: [PATCH 5/6] Update yang-models/README.md --- yang-models/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/yang-models/README.md b/yang-models/README.md index dd2b4aa1e..dd0175b60 100755 --- a/yang-models/README.md +++ b/yang-models/README.md @@ -4,5 +4,3 @@ A subfolder for used external YANG modules is included. All commited YANG modules MUST pass the "pyang --strict -p external-yams _3gpp-*.yang" validation command without errors. - - \ No newline at end of file -- GitLab From 43675a785ed4ddce48118a2c7480a0b0c0e672b1 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Mon, 5 Jul 2021 16:12:01 +0200 Subject: [PATCH 6/6] Update README.md Added some whitespace at the end just to test commit. --- yang-models/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yang-models/README.md b/yang-models/README.md index dd0175b60..4959d98c5 100755 --- a/yang-models/README.md +++ b/yang-models/README.md @@ -4,3 +4,5 @@ A subfolder for used external YANG modules is included. All commited YANG modules MUST pass the "pyang --strict -p external-yams _3gpp-*.yang" validation command without errors. + + \ No newline at end of file -- GitLab