diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 4227463e99347c4444f687c7b7a6eebcb3fb240a..9c07b5cf8192336cca53e2d6022cca5136f822b7 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -7,16 +7,49 @@ module _3gpp-5g-common-yang-types { 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 2019-10-20 { - description "Initial version."; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } + 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 { @@ -27,12 +60,14 @@ module _3gpp-5g-common-yang-types { enum DIRECT_COMMUNICATION_WITH_NRF { value 1; - description "Directly communicate to other NF service discovered by NRF."; + 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."; + description "Communicate to pre-configured other NF service through + SCP as a proxy."; } enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { @@ -48,14 +83,13 @@ module _3gpp-5g-common-yang-types { type uint16; } leaf commModelType { - type CommModelType; + type CommModelType; } - leaf-list targetNFServiceList { - - type types3gpp:DistinguishedName; + leaf-list targetNFServiceList { + type types3gpp:DistinguishedName; } leaf commModelConfiguration { - type string; + type string; } } @@ -64,7 +98,7 @@ module _3gpp-5g-common-yang-types { type string; } leaf policy { - type string; + type string; } } diff --git a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang index 491226a18c978110b75f07a048743812bbc9ff6b..d29d6d21adf478adb3b430af6e7319ffde39d37c 100755 --- a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang +++ b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang @@ -5,8 +5,8 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { prefix gtpUPathQMCtrl3gpp; import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3gpp SA5"; @@ -15,10 +15,15 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { 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; @@ -57,11 +62,12 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { } } - leaf-list gtpUPathMonitoredSNSSAIs { + 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"; - type types3gpp:SNssai; + uses types5g3gpp:SNssai; } leaf-list monitoredDSCPs { @@ -116,7 +122,7 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { 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" { diff --git a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang index 0d814b663993694b106fbe8413603565ba4d1415..a7290eb818034aa64431d8cb86046b6506a004ee 100755 --- a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang +++ b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang @@ -5,20 +5,23 @@ module _3gpp-5gc-nrm-QFQoSMonitoringControl { prefix qFQMCtrl3gpp; import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } 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."; + 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; @@ -51,12 +54,12 @@ module _3gpp-5gc-nrm-QFQoSMonitoringControl { } } - leaf-list qFMonitoredSNSSAIs { + 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"; - type types3gpp:SNssai; - } + key "sd sst"; + uses types5g3gpp:SNssai;} leaf-list qFMonitored5QIs { description "The 5QIs for which the QoS monitoring per QoS flow @@ -110,9 +113,10 @@ module _3gpp-5gc-nrm-QFQoSMonitoringControl { } leaf qFMeasurementPeriod { - description "It specifies the period (in seconds) for reporting the packet delay for QoS monitoring per QoS flow per UE."; + 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" { diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 46eb9fbfa18071823fe5932840afbf2b3aa73d4c..1ab54a9d3754a3b23fd5eec5257d3b34d95ffeae 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -10,58 +10,65 @@ module _3gpp-5gc-nrm-amffunction { 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 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } + 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)."; + 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."; + 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."; + description "The FQDN of the registered NF instance in the + service-based interface."; type inet:domain-name; } - leaf-list sNSSAIList { - min-elements 0; // conditionally mandatory if network slicing feature is supported + 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"; - type types3gpp:SNssai; + 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; } diff --git a/yang-models/_3gpp-5gc-nrm-amfregion.yang b/yang-models/_3gpp-5gc-nrm-amfregion.yang index 5a42f2aa7a546dc93dd9ae66c8e6db39160cf432..3746a58a6e3ac2899672c5d1f4c3b4a6203219d1 100755 --- a/yang-models/_3gpp-5gc-nrm-amfregion.yang +++ b/yang-models/_3gpp-5gc-nrm-amfregion.yang @@ -7,20 +7,27 @@ module _3gpp-5gc-nrm-amfregion { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents the AMF Region which consists one or multiple AMF Sets."; + 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 { - description "Ericsson refactoring."; - } + 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)."; + 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; @@ -37,14 +44,15 @@ module _3gpp-5gc-nrm-amfregion { type types3gpp:Tac; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } leaf aMFRegionId { diff --git a/yang-models/_3gpp-5gc-nrm-amfset.yang b/yang-models/_3gpp-5gc-nrm-amfset.yang index 325584cfaeccb7018c2fd303970a26154687bdd3..8b978160ea89b0d8f0a1ffa0cfa07981b2069899 100755 --- a/yang-models/_3gpp-5gc-nrm-amfset.yang +++ b/yang-models/_3gpp-5gc-nrm-amfset.yang @@ -7,20 +7,25 @@ module _3gpp-5gc-nrm-amfset { 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; } - description "This IOC represents the AMF Set which consists of some AMFs that serve a given area and Network Slice."; + 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 { - description "Ericsson refactoring."; - } + 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)."; + 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; @@ -30,21 +35,22 @@ module _3gpp-5gc-nrm-amfset { 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"; + 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-list sNSSAIList { + 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."; + (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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } leaf aMFRegion { diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index 16c0b5e01b70665e9cadd6d4f6765ab8c11171e7..f94b6505ed0651b3cdc93f203973af9603bf7aca 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -12,22 +12,26 @@ module _3gpp-5gc-nrm-ausffunction { import _3gpp-common-top { prefix top3gpp; } organization "3gpp SA5"; - description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501."; + 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 { - description "initial revision"; - } + 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)."; + 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; @@ -36,23 +40,26 @@ module _3gpp-5gc-nrm-ausffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the + service-based interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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."; + (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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } list managedNFProfile { key idx; min-elements 1; + max-elements 1; uses types3gpp:ManagedNFProfile; } @@ -60,6 +67,9 @@ module _3gpp-5gc-nrm-ausffunction { 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; } } diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 3668cea21ee82bda9918122c4ee3911153b26ed3..9b19f6a328aa0f1ee638a7e390351ad548df3e77 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -11,20 +11,24 @@ module _3gpp-5gc-nrm-dynamic5qiset { 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."; + 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."; diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index f079e568f5f815d944108d68dbd4624f98ceb23f..fdb701ed41f2dba7e9b1164e983fbe02d02fb29b 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -7,41 +7,43 @@ module _3gpp-5gc-nrm-neffunction { 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"; - description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501."; + 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 2019-10-20 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } + 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."; + description "The FQDN of the registered NF instance in the + service-based interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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."; - type types3gpp:SNssai; + (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; } diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 8685e8e8eff88c4f441aa8bea44265835616d70a..3d385693181cffee145202bf291220f164aeb813 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -7,18 +7,22 @@ module _3gpp-5gc-nrm-nfservice { 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 2019-06-17 { - description "initial revision"; - } + 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."; + description + "Unique ID of the service instance within a given NF Instance."; mandatory true; type string; } @@ -30,7 +34,8 @@ module _3gpp-5gc-nrm-nfservice { } 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."; + 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; @@ -55,15 +60,16 @@ module _3gpp-5gc-nrm-nfservice { } 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."; + 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."; + 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; @@ -75,7 +81,8 @@ module _3gpp-5gc-nrm-nfservice { } leaf apiPrefix { - description "Optional path segment(s) used to construct the {apiRoot} variable of the different API URIs."; + description "Optional path segment(s) used to construct the {apiRoot} + variable of the different API URIs."; //optional support type string; } @@ -90,7 +97,8 @@ module _3gpp-5gc-nrm-nfservice { 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."; + The absence of this attribute indicates that any PLMN is allowed to + access the service instance."; min-elements 1; //optional support @@ -100,7 +108,8 @@ module _3gpp-5gc-nrm-nfservice { 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."; + The absence of this attribute indicates that any NF type is allowed + to access the service instance."; min-elements 1; //optional support @@ -114,29 +123,34 @@ module _3gpp-5gc-nrm-nfservice { type string; } - leaf-list allowedNssais { + 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."; + The absence of this attribute indicates that any slice is allowed to + access the service instance."; min-elements 1; //optional support - type types3gpp:SNssai; + 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."; + 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."; + 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."; + description "Dynamic load information, ranged from 0 to 100, indicates + the current load percentage of the NF Service."; //optional support type types3gpp:Load; } @@ -272,13 +286,15 @@ module _3gpp-5gc-nrm-nfservice { 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."; + 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."; + 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; } diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang index 8f1ce2fb05e840809536bd7665d44e34a5cb3e3d..9edbd01f03eb6e7ba7326adc6a31fda2fe57a14f 100755 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -11,23 +11,25 @@ module _3gpp-5gc-nrm-ngeirfunction { import _3gpp-common-top { prefix top3gpp; } organization "3gpp SA5"; - description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501."; + 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 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } + 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)."; + 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; @@ -35,25 +37,30 @@ module _3gpp-5gc-nrm-ngeirfunction { uses types3gpp:PLMNId; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + 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; } } diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index d9754bd457451e9844e60f64e67583665e36aeab..62e0ca74cce7cc84a2d1beea319c9eae958366e3 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -10,22 +10,28 @@ module _3gpp-5gc-nrm-nrffunction { 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 { description "initial revision"; } + 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)."; + 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; @@ -34,7 +40,8 @@ module _3gpp-5gc-nrm-nrffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } @@ -47,14 +54,15 @@ module _3gpp-5gc-nrm-nrffunction { type string; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } list nFProfileList { diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang index 7d9407b0f84cd12aaea26d491fee30c6c5c63c52..b68d988ecf5de2be280cbcbebf06f2f424e30c1f 100755 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -9,17 +9,21 @@ module _3gpp-5gc-nrm-nssffunction { 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 { description "initial revision"; } + revision 2019-05-15 { reference "initial revision"; } grouping NSSFFunctionGrp { + description "Represents the NSSFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { @@ -34,19 +38,21 @@ module _3gpp-5gc-nrm-nssffunction { uses types3gpp:PLMNId; } - leaf sBIFQDN { description "The FQDN of the registered NF instance in the service-based + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } leaf-list cNSIIdList { @@ -61,6 +67,7 @@ module _3gpp-5gc-nrm-nssffunction { list managedNFProfile { key idx; min-elements 1; + max-elements 1; uses types3gpp:ManagedNFProfile; } } diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 813b3bdeb0607129438fdd92543ea0c5044c7a2a..bf143ba350e6b91599f8f3fd8d7ad39a732049ee 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -12,23 +12,24 @@ module _3gpp-5gc-nrm-nwdaffunction { 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 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } + 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)."; + 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; @@ -37,29 +38,35 @@ module _3gpp-5gc-nrm-nwdaffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + 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; } } diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index b9eaf0e0ae701918405b72d63c7fafd00f7ba0ad..a7f9bd152503fd84b45d5709f5744f13c3608871 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -12,25 +12,26 @@ module _3gpp-5gc-nrm-pcffunction { import _3gpp-common-top { prefix top3gpp; } organization "3gpp SA5"; - description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501."; + 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 { - description "initial revision"; - } + 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)."; + 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; @@ -39,37 +40,45 @@ module _3gpp-5gc-nrm-pcffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + 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)."; + 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)."; + description "DN of the Configurable5QISet that the PCFFunction supports + (is associated to)."; } } diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index b8ea9c8003e314a56d91bca55f3c13600a7010e0..ac3faf5c6a071aea4f808a82edb886b6b2a1a643 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -12,22 +12,28 @@ module _3gpp-5gc-nrm-predefinedpccruleset { 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."; + 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, see TS 29.512 [60]"; + 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; - mandatory false; - description "It identifies the time period between the start of two bursts in reference to the TSN GM, see TS 29.571 [61]."; + 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; - mandatory false; - description "It Indicates the arrival time (in date-time format) of the data burst in reference to the TSN GM, see TS 29.571 [61]."; + 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."; } } @@ -40,21 +46,24 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf activationTime { type yang:date-and-time; - mandatory false; - description " It indicates the time (in date-time format) when the decision data shall be activated, see TS 29.512 [60] and TS 29.571 [61]."; + 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; - mandatory false; - description "It indicates the time (in date-time format) when the decision data shall be deactivated, see TS 29.512 [60] and TS 29.571 [81]."; + 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; } - mandatory false; - description "It provides the condition of access type of the UE when the session AMBR shall be enforced, see TS 29.512 [60]."; + 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 { @@ -74,13 +83,14 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum UTRA; enum GERA; } - mandatory false; - description "It provides the condition of RAT type of the UE when the session AMBR shall be enforced, see TS 29.512 [60] and TS 29.571 [61]."; + 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 [60]."; + description "It specifies the traffic distribution rule, see TS 29.512."; leaf steerModeValue { type enumeration { enum ACTIVE_STANDBY; @@ -89,52 +99,54 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum PRIORITY_BASED; } mandatory true; - description "It indicates the value of the steering mode, see TS 29.512 [60]."; + description "It indicates the value of the steering mode, see TS 29.512."; } leaf active { type enumeration { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - mandatory false; - description "It indicates the active access, see TS 29.571 [61]."; + description "It indicates the active access, see TS 29.571."; } leaf standby { type enumeration { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - mandatory false; - description "It indicates the Standby access, see TS 29.571 [61]."; + description "It indicates the Standby access, see TS 29.571."; } leaf threeGLoad { type uint8 { range 0..100; } - mandatory false; - description "It indicates the traffic load to steer to the 3GPP Access expressed in one percent."; + 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; } - mandatory false; - description "It indicates the high priority access, see TS 29.571 [61]."; + 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, see TS 29.512 [60]"; + 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."; + 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 [60]."; + 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 { @@ -143,13 +155,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum LATE; } mandatory true; - description "It indicates the type of DNAI change, see TS 29.512 [60]."; + description "It indicates the type of DNAI change, see TS 29.512"; } leaf afAckInd { type boolean; default false; - mandatory false; - description "It identifies whether the AF acknowledgement of UP path event notification is expected."; + description "It identifies whether the AF acknowledgement of UP path + event notification is expected."; } } @@ -157,27 +169,30 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It specifies the traffic routing information."; leaf ipv4Addr { type string; - mandatory false; - description "It defines the Ipv4 address of the tunnel end point in the data network, formatted in the dotted decimal notation."; + 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; - mandatory false; - description "It defines the Ipv6 address of the tunnel end point in the data network."; + 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 [61]."; + 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."; + 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), see 3GPP TS 23.501 [2]."; + description "It represents the DNAI (Data network access identifier)."; + reference "3GPP 3GPP TS 23.501"; } container routeInfo{ description "It provides the traffic routing information."; @@ -185,13 +200,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf routeProfId { type string; - mandatory false; description "It identifies the routing profile."; } } grouping RedirectInformaton { - description "It specifies the redirect information for traffic control in the PCC rule."; + description "It specifies the redirect information for traffic control in + the PCC rule."; leaf redirectEnabled { type boolean; mandatory true; @@ -205,7 +220,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum SIP_URI; } mandatory true; - description "It indicates the type of redirect address, see TS 29.512 [60]."; + description "It indicates the type of redirect address."; + reference "3GPPTS 29.512"; } leaf redirectServerAddress { type string; @@ -215,11 +231,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping TrafficControlDataInformation { - description "It specifies the traffic control data for a service flow of a PCC rule."; + 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."; + description "It univocally identifies the traffic control policy data + within a PDU session."; } leaf flowStatus { type enumeration { @@ -230,40 +248,49 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum REMOVED; } mandatory true; - description "It represents whether the service data flow(s) are enabled or disabled."; + 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."; + 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."; + 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."; + 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; - mandatory false; default false; - description "It indicates whether applicat'on's start or stop notification is to be muted."; + description "It indicates whether applicat'on's start or stop notification + is to be muted."; } leaf trafficSteeringPolIdDl { type string; - mandatory false; - description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512 [60]."; + 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 [60]."; + 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."; + 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."; + description "The list of location which the traffic shall be routed to + for the AF request."; key "dnai"; uses RouteToLocation; } @@ -274,11 +301,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum MPTCP; enum ATSSS_LL; } - mandatory false; - description "It indicates the applicable traffic steering functionality, see TS 29.512 [60]."; + 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."; + description "It provides the traffic distribution rule across 3GPP and + Non-3GPP accesses to apply for downlink traffic."; uses SteeringMode; } container steerModeUl { @@ -290,7 +318,6 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum ALLOWED; enum NOT_ALLOWED; } - mandatory false; description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; } } @@ -338,67 +365,56 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf maxbrUl { type string; - mandatory false; description "It represents the maximum uplink bandwidth."; } leaf maxbrDl { type string; - mandatory false; description "It represents the maximum downlink bandwidth."; } leaf gbrUl { type string; - mandatory false; description "It represents the guaranteed uplink bandwidth."; } leaf gbrDl { type string; - mandatory false; description "It represents the guaranteed downlink bandwidth."; } uses ARP; leaf qosNotificationControl { type boolean; default false; - mandatory 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; - mandatory false; description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow"; } leaf sharingKeyDl { type string; - mandatory false; description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction."; } leaf sharingKeyUl { type string; - mandatory false; description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction."; } leaf maxPacketLossRateDl { type uint16 { range 0..1000; } - mandatory false; 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; } - mandatory false; 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; } - mandatory false; - 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 [60]."; + 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"; } } @@ -407,16 +423,18 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf destMacAddr { type string; mandatory true; - description "It specifies the destination MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of IETF RFC 7042 [63]."; + 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, as described in IEEE 802.3 [64] and IETF RFC 7042 [63] in hexadecimal representation."; + description "A two-octet string that represents the Ethertype."; + reference "IEEE 802.3 and IETF RFC 7042 in hexadecimal representation."; } leaf fDesc { type string; - mandatory false; description "It contains the flow description for the Uplink or Downlink IP flow. It shall be present when the ethtype is IP."; } leaf fDir { @@ -430,20 +448,24 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf sourceMacAddr { type string; mandatory true; - description "It specifies the source MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of IETF RFC 7042 [63]."; + 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 [65] and IETF RFC 7042 [63]. 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."; + 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; - mandatory false; 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; - mandatory false; description "It specifies the destination MAC address end. If this attribute is present, the destMacAddr attribute specifies the destination MAC address start."; } } @@ -474,11 +496,11 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf spi { type string; mandatory true; - description "It is the security parameter index of the IPSec packet, see IETF RFC 4301 [66]"; + description "It is the security parameter index of the IPSec packet."; + reference "IETF RFC 4301"; } leaf flowLabel { type string; - mandatory false; description "It specifies the Ipv6 flow label header field."; } leaf flowDirection { @@ -494,7 +516,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping PccRule { - description "It specifies the PCC rule, see TS 29.512 [60]."; + description "It specifies the PCC rule, see TS 29.512"; leaf pccRuleId { type string; mandatory true; @@ -511,44 +533,42 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf applicationId { type string; default false; - mandatory false; - description "A reference to the application detection filter configured at the UPF."; + description "A reference to the application detection filter configured + at the UPF."; } leaf appDescriptor { type string; - mandatory false; description "It is the ATSSS rule application descriptor."; } leaf contentVersion { type uint8; - mandatory false; description "Indicates the content version of the PCC rule."; } leaf precedence { type uint8 { range 0..255; } - mandatory false; - description "It indicates the order in which this PCC rule is applied relative to other PCC rules within the same PDU session."; + 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; } - mandatory false; - description "Indicates the protocol used for signalling between the UE and the AF, the default value is NO_INFORMATION."; + 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."; + description "It indicates the application relocation possibility, the + default value is NO_INFORMATION."; } leaf isUeAddrPreserved { type boolean; default false; - mandatory false; description "It Indicates whether UE IP address should be preserved."; } container qosData { @@ -560,7 +580,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } } container altQosParams { - description "It contains the QoS control policy data for the Alternative QoS parameter sets of the service data flow."; + 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"; diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 3fe49264dfec6bf1064db541e389bb6dadd080cf..04659fb7177c0faa018a10b85ac6eea4b630428c 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -10,25 +10,25 @@ module _3gpp-5gc-nrm-smffunction { 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 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } + 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)."; + description "A list of PLMN identifiers (Mobile Country Code and Mobile + Network Code)."; key "mcc mnc"; uses types3gpp:PLMNId; } @@ -43,40 +43,47 @@ module _3gpp-5gc-nrm-smffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } - leaf-list sNSSAIList { - min-elements 0; + 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"; - type types3gpp:SNssai; + 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)."; + 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)."; + description "DN of the Dynamic5QISet that the SMFFunction supports + (is associated to)."; } } diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 5e2a32f829e1ef2eb4ec3fa0b9a7667540457f39..74965272afb49cd82bef6c063cd0815e141fc157 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -12,21 +12,24 @@ module _3gpp-5gc-nrm-udmfunction { import _3gpp-common-top { prefix top3gpp; } organization "3gpp SA5"; - description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501."; + 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 { - description "initial revision"; - } + 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)."; + 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; @@ -35,29 +38,35 @@ module _3gpp-5gc-nrm-udmfunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + 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; } } diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 49e433a49bbb971935540e635228942680accdd9..5eabaac8b2eafee0b8dbfb53a595821b2dd990ff 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -9,23 +9,28 @@ module _3gpp-5gc-nrm-udrfunction { 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"; - description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501."; + 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 { - description "initial revision"; - } + 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)."; + 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; @@ -34,23 +39,26 @@ module _3gpp-5gc-nrm-udrfunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the service-based + interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } list managedNFProfile { key idx; min-elements 1; + max-elements 1; uses types3gpp:ManagedNFProfile; } } diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang index f17d130dc51cee443d2b9c3b1f372a505243fa80..c0ef6f2176a74924cbc62eba684453c4a6cd239c 100755 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -9,24 +9,28 @@ module _3gpp-5gc-nrm-udsffunction { 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"; - description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501."; + 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 { - description "initial revision"; - - } + 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)."; + 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; @@ -35,23 +39,28 @@ module _3gpp-5gc-nrm-udsffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; + description "The FQDN of the registered NF instance in the + service-based interface."; type inet:domain-name; } - leaf-list sNSSAIList { + 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"; - type types3gpp:SNssai; + 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; } } diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 2ca20b923523f591a91ce69a9ecee8abef7901db..1443942e5bcdc28914c0404296b2736dad2f2505 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -9,22 +9,23 @@ module _3gpp-5gc-nrm-upffunction { 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 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } + 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)."; + description "A list of PLMN identifiers (Mobile Country Code and Mobile + Network Code)."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; @@ -39,26 +40,28 @@ module _3gpp-5gc-nrm-upffunction { type types3gpp:Tac; } - leaf-list sNSSAIList { + 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."; - min-elements 0; reference "3GPP TS 23.003"; - type types3gpp:SNssai; + key "sd sst"; + uses types5g3gpp:SNssai; } list managedNFProfile { key idx; min-elements 1; + max-elements 1; + reference "3GPP TS 23.003"; uses types3gpp:ManagedNFProfile; } - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; + leaf-list supportedBMOList { + type string; + description "List of supported BMOs (Bridge Managed Objects) required + for integration with TSN system."; } } diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 9c94add88d03d266312af5a4c90e2be4c18fbc41..33acde382acf356b414420ce624d7a6d6409c953 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -6,11 +6,13 @@ module _3gpp-common-managed-element { 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 @@ -26,18 +28,25 @@ module _3gpp-common-managed-element { 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 { description "Initial revision"; } + revision 2019-05-08 { reference "Initial revision"; } feature MeasurementsUnderManagedElement { - description "The MeasurementSubtree shall be contained under ManagedElement"; + 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"; } @@ -45,30 +54,41 @@ module _3gpp-common-managed-element { feature TraceUnderManagedElement { description "The TraceSubtree shall be contained under ManageElement"; } - + feature DESManagementFunction { - description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature. The DESManagementFunction shall be contained under ManagedElement."; + description "Class representing Distributed SON or Domain-Centralized SON + Energy Saving feature. The DESManagementFunction shall be contained under + ManagedElement."; } feature DMROFunction { - description "Classs representing D-SON function of MRO feature. The DMROFunction shall be contained under ManagedElement."; + description "Class representing D-SON function of MRO feature. The + DMROFunction shall be contained under ManagedElement."; } - + feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization feature. The DRACHOptimizationFunction shall be contained under ManagedElement."; + description "Class representing D-SON function of RACH optimization + feature. The DRACHOptimizationFunction shall be contained under + ManagedElement."; } - + feature DPCIConfigurationFunction { - description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature. The DPCIConfigurationFunction shall be contained under ManagedElement."; + description "Class representing Distributed SON or Domain-Centralized SON + function of PCI configuration feature. The DPCIConfigurationFunction shall + be contained under ManagedElement."; } - + feature CPCIConfigurationFunction { - description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature. The CPCIConfigurationFunction shall be contained under ManagedElement."; + description "Class representing Cross Domain-Centralized SON function of PCI + configuration feature. The CPCIConfigurationFunction shall be contained + under ManagedElement."; } - + feature CESManagementFunction { - description "Classs representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under ManagedElement."; - } + 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. @@ -140,9 +160,7 @@ module _3gpp-common-managed-element { and/or service to the subscriber."; uses ManagedElement_Grp; - uses meas3gpp:SupportedPerfMetricGroupGrp { - if-feature MeasurementsUnderManagedElement ; - } + uses meas3gpp:SupportedPerfMetricGroupGrp; leaf vendorName { config false; @@ -166,40 +184,43 @@ module _3gpp-common-managed-element { } 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 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 signgle - 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"; + 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; @@ -208,15 +229,19 @@ module _3gpp-common-managed-element { } uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderManagedElement ; + if-feature MeasurementsUnderManagedElement; + } + + uses subscr3gpp:SubscriptionControlSubtree { + if-feature SubscriptionControlUnderManagedElement; } uses fm3gpp:FmSubtree { - if-feature FmUnderManagedElement ; + if-feature FmUnderManagedElement; } uses trace3gpp:TraceSubtree { - if-feature TraceUnderManagedElement ; + if-feature TraceUnderManagedElement; } } diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 34415c24fbd355fd5d4bdec93459071ffb474774..a46d864821820bec0e28e1ad7f1b2ae0d424e1e2 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -10,7 +10,8 @@ module _3gpp-common-managed-function { 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."; + description "The module defines a base class/grouping for major 3GPP + functions."; reference "3GPP TS 28.622 Generic Network Resource Model (NRM) @@ -20,13 +21,15 @@ module _3gpp-common-managed-function { 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 { description "Initial revision"; } + revision 2019-06-18 { reference "Initial revision"; } feature MeasurementsUnderManagedFunction { description "The MeasurementSubtree shall be contained under ManageElement"; @@ -37,6 +40,7 @@ module _3gpp-common-managed-function { } grouping Operation { + description "This data type represents an Operation."; reference "3gpp TS 28.622"; leaf name { @@ -154,16 +158,19 @@ module _3gpp-common-managed-function { uses Function_Grp; - container vnfParametersList { + list vnfParametersList { + key vnfInstanceId; description "Contains the parameter set of the VNF - instance(s) corresponding to an NE."; - presence "The presence of this container indicates that the ManagedFunction + 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."; + 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 ; - mandatory true; description "VNF instance identifier"; reference "ETSI GS NFV-IFA 008 v2.1.1: Network Functions Virtualisation (NFV); Management and Orchestration; @@ -192,12 +199,10 @@ module _3gpp-common-managed-function { 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; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.3"; + Network Functions Virtualisation (NFV) Management and Orchestration"; } - - leaf autoScalable { + + leaf autoScalable { type boolean ; mandatory true; description "Indicator of whether the auto-scaling of this @@ -205,13 +210,14 @@ module _3gpp-common-managed-function { } } - container peeParametersList { + list peeParametersList { + key idx; description "Contains the parameter set for the control and monitoring of power, energy and environmental parameters of ManagedFunction instance(s)."; - presence "Present supported if the control and monitoring of PEE - parameters is supported by the ManagedFunction or sub-class instance."; - + + leaf idx { type uint32; } + leaf siteIdentification { type string; mandatory true; @@ -296,7 +302,7 @@ module _3gpp-common-managed-function { uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderManagedFunction ; - } + } uses trace3gpp:TraceSubtree { if-feature TraceUnderManagedFunction ; diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index b9fc0d644fb66893c087ef79ea110741fa02c83f..30627565c969a6e04907f409c88d4c0c40ae4286 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -53,6 +53,7 @@ module _3gpp-common-measurements { 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"; } @@ -224,10 +225,9 @@ module _3gpp-common-measurements { description "Indicates whether the PerfMetricJob is working."; } - leaf perfMetricJobGroupId { + leaf jobId { type string; - description "Identifies members of a PerfMetricJob group. For the - stream based reporting method this reference shall be present."; + description "Id for a PerfMetricJob job."; } leaf-list performanceMetrics { @@ -257,15 +257,7 @@ module _3gpp-common-measurements { units seconds; mandatory true; description "Granularity period used to produce measurements. The value - must be one of the supported granularity periods for the metric. - - For measurements of type counter this is the period at which samples - of the internal counter value, that is incremented with every event - occurance, are taken. - - For measurements of type gauge, this is period, over which the mean - value of the measured variable is calculated. The mean value is - then taken as sample."; + must be one of the supported granularity periods for the metric."; } leaf-list objectInstances { @@ -306,7 +298,7 @@ module _3gpp-common-measurements { type uint32 { range 1..max; } - units minutes"; + units minutes; must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { error-message "The time-period must be a multiple of the granularityPeriod."; @@ -416,10 +408,14 @@ module _3gpp-common-measurements { the operational state attribute to disabled. When production is resumed the operational state is set again to enabled. - The perfMetricJobGroupId is a common reference across all members of a - PerfMetricJob group. A group contains related PerfMetricJob instances. - - The attribute performanceMetrics defines the performance metrics to be + 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. diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index ced4207391c98f7de97ccf4dfd3cff559bd31458..36776b38a8509575d98b43a564640e956d608eb4 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -6,6 +6,7 @@ module _3gpp-common-subnetwork { 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; } @@ -27,6 +28,7 @@ module _3gpp-common-subnetwork { 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 { @@ -44,21 +46,24 @@ module _3gpp-common-subnetwork { } revision 2019-06-17 { - description "Initial revision"; + 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 - indicating the support of Measurements and/or KPIs"; + 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"; } @@ -68,27 +73,36 @@ module _3gpp-common-subnetwork { } feature DESManagementFunction { - description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature. The DESManagementFunction shall be contained under subnetwork."; + description "Class representing Distributed SON or Domain-Centralized SON + Energy Saving feature. The DESManagementFunction shall be contained under + SubNetwork."; } feature DMROFunction { - description "Classs representing D-SON function of MRO feature. The DMROFunction shall be contained under subnetwork."; + description "Class representing D-SON function of MRO feature. The + DMROFunction shall be contained under SubNetwork."; } feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization feature. The DRACHOptimizationFunction shall be contained under subnetwork."; + description "Class representing D-SON function of RACH optimization feature. + The DRACHOptimizationFunction shall be contained under SubNetwork."; } feature DPCIConfigurationFunction { - description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature. The DPCIConfigurationFunction shall be contained under subnetwork."; + description "Class representing Distributed SON or Domain-Centralized SON + function of PCI configuration feature. The DPCIConfigurationFunction shall + be contained under SubNetwork."; } feature CPCIConfigurationFunction { - description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature. The CPCIConfigurationFunction shall be contained under subnetwork."; + description "Class representing Cross Domain-Centralized SON function of PCI + configuration feature. The CPCIConfigurationFunction shall be contained + under SubNetwork."; } feature CESManagementFunction { - description "Classs representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under subnetwork."; + description "Class representing Cross Domain-Centralized SON Energy Saving + feature. The CESManagementFunction shall be contained under SubNetwork."; } grouping Domain_Grp { @@ -175,15 +189,19 @@ module _3gpp-common-subnetwork { } uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderSubNetwork ; + if-feature MeasurementsUnderSubNetwork; + } + + uses subscr3gpp:SubscriptionControlSubtree { + if-feature SubscriptionControlUnderSubNetwork; } uses fm3gpp:FmSubtree { - if-feature FmUnderSubNetwork ; + if-feature FmUnderSubNetwork; } uses trace3gpp:TraceSubtree { - if-feature TraceUnderSubNetwork ; + if-feature TraceUnderSubNetwork; } yangmnt:mount-point children-of-SubNetwork { @@ -193,4 +211,4 @@ module _3gpp-common-subnetwork { // augment external parts here } -} \ No newline at end of file +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index d37938d28b3ba952df79b876efd71504072ea096..25bde6927d08e51784ebcf38167c8ebcb7e36419 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -4,10 +4,9 @@ module _3gpp-common-subscription-control { prefix "subscr3gpp"; import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - 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 IOCs for subscription and heartbeat control."; reference "3GPP TS 28.623 @@ -16,6 +15,7 @@ module _3gpp-common-subscription-control { 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"; } @@ -90,11 +90,11 @@ module _3gpp-common-subscription-control { } grouping HeartbeatControlGrp { - description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf attribute - has no mapping in the present release."; + description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf + attribute has no mapping in the present release."; leaf heartbeatNtfPeriod { - type uint32 ; + type uint32; mandatory true; units seconds; description "Specifies the periodicity of heartbeat notification emission. @@ -103,7 +103,15 @@ module _3gpp-common-subscription-control { } } - grouping NtfSubscriptionControlWrapper { + 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. @@ -138,57 +146,57 @@ module _3gpp-common-subscription-control { 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."; + instances may be created and deleted by the system or be + pre-installed."; key id; - uses top3gpp:Top_Grp; + uses top3gpp:Top_Grp; container attributes { uses NtfSubscriptionControlGrp; } list HeartbeatControl { - min-elements 1; - max-elements 1; - 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. + 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 + 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 + 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 + 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. + 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 + 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 + + 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; @@ -198,12 +206,4 @@ module _3gpp-common-subscription-control { } } } - - augment /subnet3gpp:SubNetwork { - uses NtfSubscriptionControlWrapper; - } - - augment /me3gpp:ManagedElement { - uses NtfSubscriptionControlWrapper; - } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index c2eb08f015a4f4bd2d106dcdf111bf1c664913f1..13b3f026d0e0f6ae0deb632b692f7e1563373300 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -10,8 +10,8 @@ module _3gpp-common-trace { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description " "; - + description "Trace handling"; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); @@ -22,6 +22,8 @@ module _3gpp-common-trace { 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 { @@ -456,21 +458,30 @@ module _3gpp-common-trace { reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } - - leaf tjTraceTarget { - 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; + 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; + } } - mandatory true; + + 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. @@ -494,22 +505,22 @@ module _3gpp-common-trace { The tjTraceTarget shall be IMSI if the Trace Session is activated to a ManagedEntity playing a role of ServinGWFunction. - In case of signaling based MDT, the tjTraceTarget attribute shall be - able to carry (IMSI or IMEI(SV)), the tjMDTAreaScope attribute shall be - able to carry a list of (cell or EUtranCell or TA/LA/RA). + 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). + (Utrancell or E-UtranCell or NRCellDU). In case of management based Logged MDT, the tjTraceTarget attribute - shall carry an eNodeBs or a RNC. The Logged MDT should be initiated on - the specified eNodeB/RNC in tjTraceTarget. The tjMDTAreaScope attribute - shall carry a list of (Utrancell or E-UtranCell or TA/LA/RA). + 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"; + list of eNBs/gNBs"; reference "3GPP TS 32.422"; } @@ -603,7 +614,20 @@ module _3gpp-common-trace { 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 { @@ -615,8 +639,8 @@ module _3gpp-common-trace { 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."; + - Out of coverage. + - A2 event."; reference "Clause 5.10.28 of 3GPP TS 32.422"; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 56ad2e9780abfcb927ebcd6902d0c9221c0b06a6..f71e5420b47c4b1bdd932b1c1a69327db6bced79 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -7,11 +7,17 @@ module _3gpp-common-yang-types { 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"; @@ -28,7 +34,7 @@ module _3gpp-common-yang-types { } revision 2019-06-23 { - description "Initial version."; + reference "Initial version."; } grouping ManagedNFProfile { @@ -263,27 +269,6 @@ module _3gpp-common-yang-types { } } - typedef SNssai { - type union { - type Sst; - //optional support - type Sd; - } - description "Single Network Slice Selection Assistance Information."; - reference "TS 23.501 clause 5.15.2"; - } - - typedef Sst { - type uint8; - } - - typedef Sd { - type string{ - length 6; - pattern '[a-fA-F0-9]*'; - } - } - typedef Nrpci { type uint32; description "Physical Cell Identity (PCI) of the NR cell."; diff --git a/yang-models/_3gpp-nr-nrm-beam.yang b/yang-models/_3gpp-nr-nrm-beam.yang index 1ad71599263f0e5d40cb4be8e508d6e86052b2ed..95f4677b7d98e941bf533dd6afeb516ec9014e35 100755 --- a/yang-models/_3gpp-nr-nrm-beam.yang +++ b/yang-models/_3gpp-nr-nrm-beam.yang @@ -44,7 +44,7 @@ module _3gpp-nr-nrm-beam { } leaf beamAzimuth { - description "The azimuth of a beam transmission, which means the horizontal beamforming pointing angle (beam peak direction) in the (Phi) f-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."; + 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"; } @@ -63,7 +63,7 @@ The pointing angle is the direction equal to the geometric centre of the half-po leaf beamHorizWidth { - description " The Horizontal beamWidth of a beam transmission, which means the horizontal beamforming half-power (3dB down) beamwidth in the (Phi) f-axis in 1/10th degree resolution."; + 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"; } @@ -84,7 +84,7 @@ The pointing angle is the direction equal to the geometric centre of the half-po 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 f-axis) and vertical/tilt (ie: Theta ?-axis) beam pointing direction and beam width attributes."; + 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; diff --git a/yang-models/_3gpp-nr-nrm-bwp.yang b/yang-models/_3gpp-nr-nrm-bwp.yang index cd28affd790bee6da6217816a142e14ff773e50c..bd18865a6f14962bf475d2dbe20dc988b40aa3ed 100755 --- a/yang-models/_3gpp-nr-nrm-bwp.yang +++ b/yang-models/_3gpp-nr-nrm-bwp.yang @@ -9,14 +9,14 @@ module _3gpp-nr-nrm-bwp { 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 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } typedef CyclicPrefix { type enumeration { @@ -32,7 +32,6 @@ module _3gpp-nr-nrm-bwp { enum SUL; } } - typedef IsInitialBwp { type enumeration { enum INITIAL; @@ -63,12 +62,12 @@ module _3gpp-nr-nrm-bwp { description "Subcarrier spacing configuration for a BWP."; reference "3GPP TS 38.104"; mandatory true; - type uint32 { range "5 | 30 | 60 | 120"; } + type uint32 { range "15 | 30 | 60 | 120"; } units kHz; } leaf cyclicPrefix { - description "Cyclic prefix, which may be normal or extended."; + description "Cyclic prefix, which may be normal or extended."; reference "3GPP TS 38.211"; mandatory true; type CyclicPrefix; diff --git a/yang-models/_3gpp-nr-nrm-common.yang b/yang-models/_3gpp-nr-nrm-common.yang deleted file mode 100755 index aa2343f6a5ea6a6ce4a0228372aadaa88e352a43..0000000000000000000000000000000000000000 --- a/yang-models/_3gpp-nr-nrm-common.yang +++ /dev/null @@ -1,29 +0,0 @@ -module _3gpp-nr-nrm-common { - yang-version 1.1; - namespace "urn:3gpp:sa5:3gpp-nr-nrm-common"; - prefix "nrcommon3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of comon parts for 3GPP TS 28.541."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { - description "Initial revision"; - } - - - 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, (See TS 23.003 [13])."; - uses types3gpp:PLMNId; - leaf sNssai { - type types3gpp:SNssai; - } - } - -} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang index 0d25d5076783966a9fc4289db4d13205bca46352..dce102ff2cc6c3176c5a090fb85e63b8c06c1c3e 100755 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -5,8 +5,8 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { 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-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; @@ -15,6 +15,8 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { (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; } @@ -52,8 +54,8 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { } - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { - if-feature nrcelldu3gpp:DPCIConfigurationFunction; + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DPCIConfigurationFunction; uses DPCIConfigurationFunctionGrp; } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index 8135d1409beb6bc960e59b1dd8407c6b63cc371c..7ef35373ce57c44183a1981a82725cc097404a76 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -5,10 +5,9 @@ module _3gpp-nr-nrm-drachoptimizationfunction { 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; } - + 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"; @@ -16,29 +15,30 @@ module _3gpp-nr-nrm-drachoptimizationfunction { (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 ueAccProbilityDistPerSSB { + 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 UeAccProbilityDistPerSSBGrp; + uses UeAccProbilityDistGrp; } } - list ueAccDelayProbilityDistPerSSB { + 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 UeAccDelayProbilityDistPerSSBGrp; + uses UeAccDelayProbilityDistGrp; } } @@ -67,7 +67,7 @@ module _3gpp-nr-nrm-drachoptimizationfunction { } - grouping UeAccProbilityDistPerSSBGrp { + grouping UeAccProbilityDistGrp { description "Represents the target Access Probability (APn) for the RACH optimization function."; leaf targetProbability { @@ -84,7 +84,7 @@ module _3gpp-nr-nrm-drachoptimizationfunction { } } - grouping UeAccDelayProbilityDistPerSSBGrp { + grouping UeAccDelayProbilityDistGrp { description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; leaf targetProbability { @@ -101,12 +101,12 @@ module _3gpp-nr-nrm-drachoptimizationfunction { } } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:DRACHOptimizationFunction; + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + if-feature nrcelldu3gpp:DRACHOptimizationFunction; uses DRACHOptimizationFunctionGrp; } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature gnbcucp3gpp:DRACHOptimizationFunction; + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature gnbdu3gpp:DRACHOptimizationFunction; uses DRACHOptimizationFunctionGrp; } augment "/me3gpp:ManagedElement" { @@ -114,7 +114,7 @@ module _3gpp-nr-nrm-drachoptimizationfunction { uses DRACHOptimizationFunctionGrp; } augment "/subnet3gpp:SubNetwork" { - if-feature nrcellcu3gpp:DRACHOptimizationFunction; + 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 index 5f5187b1857d4373aa23a5bf39234e0094ed9349..835e2e05c4df0784cd6fbffdfca291e8fdd56738 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -11,16 +11,30 @@ module _3gpp-nr-nrm-ep { 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 2020-03-02 { reference S5-201191"; } - revision 2019-06-17 { - description "Initial revision"; + 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"; @@ -35,7 +49,7 @@ module _3gpp-nr-nrm-ep { grouping EP_F1UGrp { description "Represents the EP_F1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; + reference "3GPP TS 28.541, 3GPP TS 38.470"; uses eprp3gpp:EP_Common; } @@ -82,6 +96,7 @@ module _3gpp-nr-nrm-ep { } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature EPClassesUnderGNBCUCPFunction; list EP_E1 { description "Represents the local end point of the logical link, @@ -143,6 +158,7 @@ module _3gpp-nr-nrm-ep { } augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature EPClassesUnderGNBCUUPFunction; list EP_E1 { description "Represents the local end point of the logical link, @@ -168,7 +184,7 @@ module _3gpp-nr-nrm-ep { list EP_NgU { description "Represents the local end point of the NG user plane - (NG-U) interface between the gNB and the UPGW."; + (NG-U) interface between the gNB and UPF."; reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; @@ -213,6 +229,7 @@ module _3gpp-nr-nrm-ep { } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature EPClassesUnderGNBDUFunction; list EP_F1C { description "Represents the local end point of the control plane @@ -228,7 +245,7 @@ module _3gpp-nr-nrm-ep { 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"; + reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index d3dd888029bfd68836fdb618b39cdfe5ecc2d321..df62f1c5fcc11709217b9d6b1ff3a027f1770afb 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -53,10 +53,10 @@ module _3gpp-nr-nrm-externaleutrancell { uses types3gpp:PLMNId; } - leaf cellLocalId { + leaf cellLocalId { description "Unambiguously identifies a cell within an eNodeB."; reference "NCI defined in 3GPP TS 38.300"; - type int32 {range "0..255"; } + type int32 {range "0..255"; } } leaf eNBId { diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang index 2bfe38bb34a66ba81c8b32bcaf74cf05519e0dcb..78e4671f065d5fb68369c371ceb1b784303d69af 100755 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -26,12 +26,12 @@ module _3gpp-nr-nrm-externalnrcellcu { reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - leaf cellLocalId { + 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"; } + type int32 {range "0..16383"; } } leaf nRPCI { diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 685ac9517f073d3f9a511cbe0e2d435f608071ff..8e8d2adf3da9e3a2b76add13965297c58dee7795 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -15,6 +15,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { 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"; } @@ -34,9 +35,6 @@ module _3gpp-nr-nrm-gnbcucpfunction { description "Classs representing D-SON function of ANR Management feature"; } - feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization feature"; - } feature DMROFunction { description "Classs representing D-SON function of MRO feature"; diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 98b7b4a7b6a89f7a7b73d6213260cc72a7c0989b..944da20a724d15754008acab41b0e533da5859be 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -8,7 +8,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -16,6 +16,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { 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"; } @@ -23,15 +24,14 @@ module _3gpp-nr-nrm-gnbcuupfunction { 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"; - } + 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; } @@ -39,12 +39,12 @@ module _3gpp-nr-nrm-gnbcuupfunction { 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. + 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 + 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."; + d) For a 5G SA (Stand Alone), it has a non-null value."; } } @@ -127,28 +127,32 @@ module _3gpp-nr-nrm-gnbcuupfunction { } 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"; - uses nrcommon3gpp:PLMNInfo; - } + 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."; + 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)."; + 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)."; + description "DN of the Dynamic5QISet that the GNBCUUPFunction + supports (is associated to)."; } } diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 654d99dca25863ee34e0e7af019ccc791ef523e5..d317ae74edf7269e98c9bdf8e1739bbc660d7490 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -13,6 +13,7 @@ module _3gpp-nr-nrm-gnbdufunction { 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 ; } @@ -20,6 +21,11 @@ module _3gpp-nr-nrm-gnbdufunction { 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"; diff --git a/yang-models/_3gpp-nr-nrm-nrcellcu.yang b/yang-models/_3gpp-nr-nrm-nrcellcu.yang index c533ff3fafae181cb3987ff54497d06864d4837d..3aa5db4d5c6957f4a1ea4b5090caa23fc9042cba 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellcu.yang @@ -8,7 +8,7 @@ module _3gpp-nr-nrm-nrcellcu { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -16,27 +16,32 @@ module _3gpp-nr-nrm-nrcellcu { 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 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } - feature DESManagementFunction { - description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature"; + feature DPCIConfigurationFunction { + description "Class representing Distributed SON or Domain-Centralized SON + function of PCI configuration feature"; } - feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization feature"; + feature DESManagementFunction { + description "Class representing Distributed SON or Domain-Centralized SON + Energy Saving feature"; } feature DMROFunction { - description "Classs representing D-SON function of MRO feature"; + description "Class representing D-SON function of MRO feature"; } feature CESManagementFunction { - description "Classs representing Cross Domain-Centralized SON Energy Saving feature"; + description "Class representing Cross Domain-Centralized SON Energy Saving + feature"; } grouping NRCellCUGrp { @@ -44,23 +49,24 @@ module _3gpp-nr-nrm-nrcellcu { reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - leaf cellLocalId { + 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"; } + 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"; + 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 nrcommon3gpp:PLMNInfo; + uses types5g3gpp:PLMNInfo; } - leaf nRFrequencyRef { description "Reference to corresponding NRFrequency instance."; diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 6be5a2ceb999ace1695e43357bfb8ce5ac4ce37c..f81da5001c5b4e6c9f8337adb7a0a4b2e9b8f1af 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -9,7 +9,7 @@ module _3gpp-nr-nrm-nrcelldu { import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; @@ -18,19 +18,23 @@ module _3gpp-nr-nrm-nrcelldu { 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 { - description "Initial revision"; - } + revision 2019-09-03 { reference "Initial revision"; } - feature DPCIConfigurationFunction { - description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature"; + feature DRACHOptimizationFunction { + description "Class representing D-SON function of RACH optimization + feature"; } feature CPCIConfigurationFunction { - description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature"; + description "Class representing Cross Domain-Centralized SON function of + PCI configuration feature"; } grouping NRCellDUGrp { @@ -74,15 +78,17 @@ module _3gpp-nr-nrm-nrcelldu { } 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"; + 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; - uses nrcommon3gpp:PLMNInfo; + ordered-by user; + uses types5g3gpp:PLMNInfo; } - leaf nRPCI { description "The Physical Cell Identity (PCI) of the NR cell."; @@ -136,7 +142,6 @@ module _3gpp-nr-nrm-nrcelldu { leaf bSChannelBwSUL { description "Base station channel bandwidth for supplementary uplink."; reference "3GPP TS 38.104"; - mandatory false; type int32; units MHz; } @@ -191,19 +196,17 @@ module _3gpp-nr-nrm-nrcelldu { leaf-list nRSectorCarrierRef { description "Reference to corresponding NRSectorCarrier instance."; min-elements 1; - type types3gpp:DistinguishedName; + type types3gpp:DistinguishedName; } leaf-list bWPRef { description "Reference to corresponding BWP instance."; - min-elements 0; - type types3gpp:DistinguishedName; + type types3gpp:DistinguishedName; } leaf-list nRFrequencyRef { description "Reference to corresponding NRFrequency instance."; - min-elements 0; - type types3gpp:DistinguishedName; + type types3gpp:DistinguishedName; } } diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang index f9757380e973d006d2e025b6aa56427260679a61..6e2a77b91f1efa13784d9fa48e2cc19319e1cfdb 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -15,6 +15,7 @@ module _3gpp-nr-nrm-nrcellrelation { 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 ; } @@ -35,11 +36,11 @@ module _3gpp-nr-nrm-nrcellrelation { description "Represents the NRCellRelation IOC."; reference "3GPP TS 28.541"; - leaf nRTCI { + 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; + type uint64; } container cellIndividualOffset { @@ -86,13 +87,13 @@ module _3gpp-nr-nrm-nrcellrelation { } } - leaf nRFreqRelationRef { + leaf nRFreqRelationRef { description "Reference to a corresponding NRFreqRelation instance."; mandatory true; type types3gpp:DistinguishedName; } - leaf adjacentNRCellRef { + leaf adjacentNRCellRef { description "Reference to an adjacent NR cell (NRCellCU or ExternalNRCellCU)."; mandatory true; @@ -110,7 +111,6 @@ module _3gpp-nr-nrm-nrcellrelation { default true; description "True if handovers are allowed over this relation."; } - } leaf isESCoveredBy { description "Indicates whether the adjacent cell @@ -124,6 +124,7 @@ module _3gpp-nr-nrm-nrcellrelation { changed to energy saving state."; type EnergySavingCoverage; } + } augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 18ac8edec753e492b9cf7435ae96d831ea6b9dcd..3d25d85d05bdaba7a313347b3ef7d8f49c032fbd 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -191,15 +191,15 @@ module _3gpp-nr-nrm-nrfreqrelation { units dB; } - leaf tReselectionNR { + 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; + units s; } - leaf tReselectionNRSfHigh { + 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."; @@ -210,7 +210,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf tReselectionNRSfMedium { + 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."; @@ -221,7 +221,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf nRFrequencyRef { + leaf nRFrequencyRef { description "Reference to a corresponding NRFrequency instance."; mandatory true; type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang index 6153b045870cc901447140db6e624c2e7577b263..2f55cf1db689d2b290826ca6c390945ccb1a8db4 100755 --- a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang +++ b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang @@ -98,7 +98,7 @@ module _3gpp-nr-nrm-nrsectorcarrier { instance."; reference "3GPP TS 23.622"; mandatory true; - type types3gpp:DistinguishedName; + type types3gpp:DistinguishedName; } } diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 5a90b91638c813da9f7d4dfb81c0f529851bd26d..3480c753c137d9663254d59413850f33698d3492 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -1,31 +1,29 @@ module _3gpp-nr-nrm-rrmpolicy { yang-version 1.1; - namespace "urn:3gpp:sa5:3gpp-nr-nrm-nrnetwork-rrmpolicy"; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-rrmpolicy"; prefix "nrrrmpolicy3gpp"; - 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 "Defines the YANG mapping of the RRMPolicy abstract class that is part of the NR Network Resource Model (NRM)."; + 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-04-28 { - reference "CR0285"; - } - revision 2020-02-14 { - description "Initial revision"; - } + 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 types3gpp:PLMNId; - leaf sNSSAI { - type types3gpp:SNssai; - } + 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 { @@ -36,30 +34,33 @@ module _3gpp-nr-nrm-rrmpolicy { } 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, see the - inheritance in TS 28.541 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."; + 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'"; + 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 <>." ; + 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 "idx"; - leaf idx { type uint32; } + key "mcc mnc sd sst"; uses rRMPolicyMemberGrp; } } // grouping @@ -73,21 +74,22 @@ module _3gpp-nr-nrm-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; + 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) + 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"; } @@ -96,8 +98,8 @@ module _3gpp-nr-nrm-rrmpolicy { 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) + 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"; } @@ -106,9 +108,10 @@ module _3gpp-nr-nrm-rrmpolicy { } 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 + 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; @@ -116,5 +119,4 @@ module _3gpp-nr-nrm-rrmpolicy { 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 new file mode 100755 index 0000000000000000000000000000000000000000..d7b0d504421de207eee83f8b130ce7e7a7328cb1 --- /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 0000000000000000000000000000000000000000..be7f4c6f72977181c80ad59bfdf728a89b61d1af --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -0,0 +1,206 @@ +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 new file mode 100755 index 0000000000000000000000000000000000000000..7d0429304f2830dfd245eee55875bdabfec5d4fd --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-perfreq.yang @@ -0,0 +1,170 @@ +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 new file mode 100755 index 0000000000000000000000000000000000000000..f83dde3535a41c03d5a8dca0e42d166b97f92ff3 --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-serviceprofile.yang @@ -0,0 +1,569 @@ +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 new file mode 100755 index 0000000000000000000000000000000000000000..df200ad1862fc49ccaacae4ae947472020a71bed --- /dev/null +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -0,0 +1,124 @@ +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