diff --git a/yang-models/_3gpp-ns-nrm-common.yang b/yang-models/_3gpp-ns-nrm-common.yang index c3e1079bf7245e9b56afc441f89d31b79eb464b4..3b03adda2ad07f10430c91340350348b1979c293 100755 --- a/yang-models/_3gpp-ns-nrm-common.yang +++ b/yang-models/_3gpp-ns-nrm-common.yang @@ -1,7 +1,7 @@ module _3gpp-ns-nrm-common { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-ns-nrm-common; - prefix ns3cmn; + prefix ns3cmn3gpp; // import _3gpp-common-subnetwork { prefix subnet3gpp; } // import _3gpp-common-yang-types { prefix types3gpp; } @@ -17,6 +17,7 @@ module _3gpp-ns-nrm-common { Information model definitions for network slice NRM (chapter 6) "; + revision 2021-07-16 { reference CR-0566 ; } revision 2021-05-17 { description "Introduction of Common Data types"; reference "CR-0485"; @@ -47,7 +48,7 @@ module _3gpp-ns-nrm-common { units kbits/s; } } - typedef Tagging-enum { + typedef Tagging-enum { type enumeration { enum performance; enum function; @@ -77,17 +78,20 @@ module _3gpp-ns-nrm-common { description "This attribute specifies the category of a service requirement/attribute of GST"; type Category-enum; + config false; } 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; + config false; } leaf exposure { description "This attribute specifies exposure mode of a service requirement/attribute of GST"; type Exposure-enum; + config false; } } typedef DeterminCommAvailability { diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 0ec5311adfe6d9e90af9a2c7a28c912227f84edb..cd5247d46050dfc50dcefa1c30a4127e29d6566e 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -5,7 +5,7 @@ submodule _3gpp-ns-nrm-sliceprofile { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } // import _3gpp-ns-nrm-networkslice { prefix ns3gpp; } - import _3gpp-ns-nrm-common { prefix ns3cmn; } + import _3gpp-ns-nrm-common { prefix ns3cmn3gpp; } organization "3GPP SA5"; contact @@ -19,6 +19,7 @@ submodule _3gpp-ns-nrm-sliceprofile { Information model definitions for network slice NRM (chapter 6) "; + revision 2021-07-16 { reference CR-0566 ; } revision 2021-05-05 { description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; reference "CR-0485"; @@ -51,6 +52,59 @@ submodule _3gpp-ns-nrm-sliceprofile { enum V2X; } } + + grouping PositioningGrp { + description "Represents positioning support."; + reference "Clause 3.4.20 of GSMA NG.116 "; + + uses ns3cmn3gpp:ServAttrComGrp ; + leaf-list availability { + type enumeration { + enum CIDE_CID ; + enum OTDOA; + enum RF_FINGERPRINTING; + enum AECID; + enum HYBRID_POSITIONING; + enum NET_RTK; + } + min-elements 1; + config false; + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be + ignored, see NG.116. Values allowed: are + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + Hybrid positioning, NET-RTK."; + } + leaf predictionfrequency { + type enumeration { + enum PERSEC; + enum PERMIN; + enum PERHOUR; + } + mandatory true; + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the + positioning method. + If leaf-list availability is empty, the value has no meaning."; + reference "NG.116"; + } + leaf accuracy { + type decimal64 { + fraction-digits 2; + } + units meter; + mandatory true; + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the + RAN domain of the network slice."; + reference "NG.116"; + } + } + grouping TopSliceSubnetProfileGrp { leaf-list coverageArea { min-elements 1; @@ -84,7 +138,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list dLThptPerUE { description "This attribute defines data rate supported by the @@ -95,7 +149,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerSliceSubnet { description "This attribute defines achievable data rate of the @@ -107,7 +161,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -118,7 +172,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -141,7 +195,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -170,7 +224,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf nOofPDUSessions { //Stage2 issue: Not defined in 28.541, guessing integer @@ -206,13 +260,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } list termDensity { @@ -236,7 +290,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf density { type uint32; @@ -321,13 +375,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -342,6 +396,15 @@ submodule _3gpp-ns-nrm-sliceprofile { reference "TS 22.104 clause 5"; type string; } + list positioning { + key predictionfrequency; + min-elements 1; + max-elements 1; + description "Specifies whether the network slice provides + geo-localization methods or supporting methods"; + reference "Clause 3.4.20 of NG.116"; + uses PositioningGrp; + } } grouping CNSliceSubnetProfileGrp { @@ -377,7 +440,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list dLThptPerUE { description "This attribute defines data rate supported by the @@ -388,7 +451,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerSliceSubnet { description "This attribute defines achievable data rate of the @@ -400,7 +463,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -411,7 +474,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -434,7 +497,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -463,7 +526,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf nOofPDUSessions { //Stage2 issue: Not defined in 28.541, guessing integer @@ -499,13 +562,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } leaf-list coverageAreaTAList { @@ -546,13 +609,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -562,7 +625,56 @@ submodule _3gpp-ns-nrm-sliceprofile { } } + grouping PositioningRANSubnetGrp { + description "Represents positioning support in RAN domain"; + leaf-list availability { + type enumeration { + enum CIDE_CID ; + enum OTDOA; + enum RF_FINGERPRINTING; + enum AECID; + enum HYBRID_POSITIONING; + enum NET_RTK; + } + config false; + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be + ignored, see NG.116. Values allowed: are + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + Hybrid positioning, NET-RTK."; + } + leaf predictionfrequency { + type enumeration { + enum PERSEC; + enum PERMIN; + enum PERHOUR; + } + mandatory true; + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the + positioning method. + If leaf-list availability is empty, the value has no meaning."; + reference "NG.116"; + } + leaf accuracy { + type decimal64 { + fraction-digits 2; + } + units meter; + mandatory true; + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the + RAN domain of the network slice."; + reference "NG.116"; + } + } + grouping RANSliceSubnetProfileGrp { + description "Represents the RANSliceSubnetProfile datatype"; leaf latency { description "The packet transmission latency (milliseconds) through the RAN, CN, and TN part of 5G network, used to evaluate @@ -589,7 +701,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -600,7 +712,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -623,7 +735,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -654,13 +766,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } leaf sliceSimultaneousUse { @@ -690,7 +802,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf density { type uint32; @@ -775,13 +887,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -796,6 +908,14 @@ submodule _3gpp-ns-nrm-sliceprofile { reference "TS 22.104 clause 5"; type string; } + list positioning { + min-elements 1; + max-elements 1; + description "Specifies whether the RAN domain of the network slice + provides geo-localization methods or supporting methods."; + reference "Clause 3.4.20 of NG.116 [50]."; + uses PositioningRANSubnetGrp; + } } grouping SliceProfileGrp {