diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 59ddcb2c3d8f01c7259d7c1def06aa58ec5da1ee..6ddd1b3eb2ae9bbec7d0b071df63ddff9543b12b 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -26,6 +27,88 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + grouping AreaScopeGrp { + description "This <> defines an area scope."; + + choice AreaScopeChoice { + + case eutran-only { // choice 1 + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } + } + case tac { // choice 3 + leaf-list tacList { + type types3gpp:Tac; + min-elements 1; + max-elements 8; + description "Tracking Area Code list"; + } + leaf-list cAGIdList { + type types3gpp:CagId; + max-elements 256; + description "It identifies a CAG list containing up to + 256 CAG-identifiers per UE or up to 12 CAG-identifiers + per cell, see TS 38.331 [38]. CAG ID is used to combine + with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal + range with size 32 bit."; + } + } + + case ntnGeoAreaList{ // choice 6 + list ntnGeoAreaList { + must 'not(../nrCellIdList)'; + description "geographical areas for NTN MDT"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:GeoAreaGrp; + } + } + + case else { + list nPNIdentityList { // choice 2, 4 , 5 + description "list of NPN IDs of in NR. It is either + a list of PNI-NPNs identified by CAG ID with + associated plmn-Identity or a list of SNPN + identified by Network ID with associated plmn-Identity"; + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } + leaf-list nrCellIdList { + must 'not(../taiList)'; + type types3gpp:NrCellId; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } + list taiList { + must 'not(../nrCellIdList)'; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + + } + } + + + list sliceIdList { + description "Network Slice Id list"; + key idx; + uses PLMNInfo; + min-elements 1; + max-elements 16384; + leaf idx { type string; } + } + } + grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of @@ -114,7 +197,7 @@ module _3gpp-5g-common-yang-types { min-elements 1; max-elements 1; key "sst sd"; - uses types5g3gpp:SNssai; + uses SNssai; } list dnnSmfInfoList { diff --git a/yang-models/_3gpp-5gc-nrm-aiot-ep.yang b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang new file mode 100644 index 0000000000000000000000000000000000000000..9c8a843958f306599fd8be60ffa1de872802be45 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang @@ -0,0 +1,243 @@ +module _3gpp-5gc-nrm-aiot-ep { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot-ep"; + prefix "aiotep3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } + import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines AIOT related endpoint Classes (IOCs). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-01 { reference CR-1640; } + + grouping EP_AIOT2Grp { + description "Represents the EP_AIOT2 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT3Grp { + description "Represents the EP_AIOT3 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT4Grp { + description "Represents the EP_AIOT4 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT5Grp { + description "Represents the EP_AIOT5 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT6Grp { + description "Represents the EP_AIOT6 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT7Grp { + description "Represents the EP_AIOT7 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT8Grp { + description "Represents the EP_AIOT8 IOC."; + uses eprp3gpp:EP_Common; + } + + feature EP_AIOT2UnderAMFFunction { + description "EP_AIOT2 shall be contained under AMFFunction."; + } + + augment /me3gpp:ManagedElement/amf3gpp:AMFFunction { + if-feature EP_AIOT2UnderAMFFunction; + list EP_AIOT2 { + description "This IOC represents the AIOT2 interface between NG-RAN and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT2Grp; + } + } + } + + feature EP_AIOT5UnderNRFFunction { + description "EP_AIOT5 shall be contained under NRFFunction."; + } + + augment /me3gpp:ManagedElement/nrf3gpp:NRFFunction { + if-feature EP_AIOT5UnderNRFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + } + + feature EP_AIOT4UnderNEFFunction { + description "EP_AIOT4 shall be contained under NEFFunction."; + } + + feature EP_AIOT8UnderNEFFunction { + description "EP_AIOT8 shall be contained under NEFFunction."; + } + + augment /me3gpp:ManagedElement/nef3gpp:NEFFunction { + if-feature EP_AIOT4UnderNEFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT8UnderNEFFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } +} + + feature EP_AIOT3UnderAIOTFFunction { + description "EP_AIOT3 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT4UnderAIOTFFunction { + description "EP_AIOT4 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT5UnderAIOTFFunction { + description "EP_AIOT5 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT6UnderAIOTFFunction { + description "EP_AIOT6 shall be contained under AIOTFFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:AIOTFFunction { + if-feature EP_AIOT3UnderAIOTFFunction; + list EP_AIOT3 { + description "This IOC represents the AIOT3 interface between AMF and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT3Grp; + } + } + + if-feature EP_AIOT4UnderAIOTFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT5UnderAIOTFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + + if-feature EP_AIOT6UnderAIOTFFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + } + + feature EP_AIOT6UnderADMFunction { + description "EP_AIOT6 shall be contained under ADMFunction."; + } + + feature EP_AIOT7UnderADMFunction { + description "EP_AIOT7 shall be contained under ADMFunction."; + } + + feature EP_AIOT8UnderADMFunction { + description "EP_AIOT8 shall be contained under ADMFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:ADMFunction { + if-feature EP_AIOT6UnderADMFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + + if-feature EP_AIOT7UnderADMFunction; + list EP_AIOT7 { + description "This IOC represents the AIOT7 interface between UDR and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT7Grp; + } + } + + if-feature EP_AIOT8UnderADMFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-aiot.yang b/yang-models/_3gpp-5gc-nrm-aiot.yang new file mode 100644 index 0000000000000000000000000000000000000000..be123060a171542c252449387fffffacf19cc2ff --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot.yang @@ -0,0 +1,222 @@ +module _3gpp-5gc-nrm-aiot { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot"; + prefix "aiot3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping AIOT (Ambient power-enabled Internet + of Things). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 + 3GPP TS 23.369"; + + revision 2025-11-01 { reference CR-1640; } + + grouping ServedAIOTAreaIDGrp { + description "ServedAIOTAreaID datatype"; + + list pLMNId { + description "It defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; // error not well defined on stage 2 clause 4.4.1 + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + // error nID is only defined in 5.4.1 not 4.4.1> The text states it is not + // always needed, but the multiplicity is strictly 1. + leaf nID { + type string { + pattern '[A-Fa-f0-9]{11}'; + } + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP + TS 23.501"; + } + + leaf aIotAreaCode { + type string; + mandatory true; + description "This specifies the identity of the A-IoT Area Code which is + one of the components of A-IoT Area ID. It's a 3-octet string defined + in TS 38.413."; + } + } + + grouping ServedReaderInfoGrp { + description "ServedReaderInfo datatype"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + list servedAIOTAreas { + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedAIOTAreaIDGrp; + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + } + + grouping AIoTgNBInfoGrp { + description "AIoTgNBInfo datatype"; + + leaf gNBId { + type int64 { range "0..4294967295"; } + mandatory true; + description "It identifies a gNB within a PLMN"; + } + + list servedReaderInfoList { + description "Represents the information of served Readers of a gNB, + which includes the reader ID (indexes), served A-IoT areas of the RAN + and Reader and optionally the Reader location."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedReaderInfoGrp; + } + } + + grouping AIOTFFunctionGrp { + description "Attributes of the IOC AIOTFFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + + list aIOTgNBInfo { + key idx; + leaf idx { type uint32; } + min-elements 1; + description "It represents the information that a AIOTF needs for + selecting the NG-RAN i.e.of gNB supporting Ambient-IoT service, + which includes gNB ID, served NG-RAN A-IoT area and the information + of served Readers of the gNB."; + uses AIoTgNBInfoGrp; + } + } + + feature AIOTFFunctionUnderManagedElement { + description "AIOTFFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature AIOTFFunctionUnderManagedElement; + list AIOTFFunction { + description "This IOC represents the AIOTF function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + ////////////////////////////////////////////////////////////////////// + + grouping ADMFunctionGrp { + description "Attributes of the IOC ADMFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + } + + feature ADMFunctionUnderManagedElement { + description "ADMFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature ADMFunctionUnderManagedElement; + list ADMFunction { + description "This IOC represents the ADM function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ADMFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index f2646d93e68a8b2cda55b07b413cfb2eb2cc4bfb..6f8b80c808fa35400eb36ff932da668762934cb7 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -21,6 +21,7 @@ module _3gpp-5gc-nrm-neffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } @@ -282,6 +283,33 @@ module _3gpp-5gc-nrm-neffunction { } } + grouping AIoTNEFMappingGrp { + description "Represents the data type AIoTNEFMapping"; + + list targetAreaAF { + description "It represents the external target area provided by an AF + to NEF for triggering A-IoT services. It could refer to a geographical + location."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:GeoAreaGrp; + } + + list internalTargetArea { + description "This is the (internal) target area mapped to external + target area. It is provided to NEF by NRF. + It could refer to any of TAC/TAI(list), PLMN or any geographical + location/coordinate/area polygon"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:AreaScopeGrp; + } + } + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -327,6 +355,19 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses NefInfoGrp; } + + list AIoTNEFMapping { + description "It represents mapping information between external target + area (provided by AF) and (5G core internal) target area that is to + be provided to NRF"; + config false; + min-elements 1; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + key idx; + leaf idx { type uint32 ; } + uses AIoTNEFMappingGrp; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index fed4e61593bd619257b1a0d44c8f35891f9228df..0355794cd7dde57359989dba4249a475b4a959b8 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -10,6 +10,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } @@ -21,7 +22,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} - + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -31,6 +32,7 @@ module _3gpp-5gc-nrm-nrffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -40,160 +42,148 @@ module _3gpp-5gc-nrm-nrffunction { revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } + grouping bsfInfo { + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + key "start end"; + uses types3gpp:Ipv4AddressRange; + } - grouping bsfInfo { - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - - min-elements 1; - type string; - } - - leaf-list ipDomainList { - description "List of IPv4 address domains, as described in - subclause 6.2 of 3GPP TS 29.513, handled by the BSF. - If not provided, the BSF can serve any IP domain."; - min-elements 1; - type string; - } + leaf-list dnnList { + description "List of DNNs handled by the BSF + If not provided, the BSF can serve any DNN."; + min-elements 1; + type string; + } - list ipv6PrefixRanges { - description "List of ranges of IPv6 prefixes handled by the BSF. - If not provided, the BSF can serve any IPv6 prefix."; - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } + leaf-list ipDomainList { + description "List of IPv4 address domains, as described in + subclause 6.2 of 3GPP TS 29.513, handled by the BSF. + If not provided, the BSF can serve any IP domain."; + min-elements 1; + type string; } - grouping chfInfo { - list supiRangeList { - description "List of ranges of SUPIs that can be served by - the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses mnfp3gpp:SupiRangeGrp; - } + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + grouping chfInfo { + list supiRangeList { + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } - list gpsiRangeList { - description "List of ranges of GPSI that can be served - by the CHF instance. If not provided, the CHF can serve any GPSI."; - key idx; - leaf idx { type uint32; } - min-elements 1; - uses mnfp3gpp:IdentityRange; - } + list gpsiRangeList { + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:IdentityRange; + } - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; + list plmnRangeList { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - leaf primaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - primary CHF instance. This attribute shall be absent if the - secondaryChfInstance is present."; - type string; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf primaryChfInstance { + description "This attribute represents the NF Instance Id of the + primary CHF instance. This attribute shall be absent if the + secondaryChfInstance is present."; + type string; - } - leaf secondaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - secondary CHF instance.This attribute shall be absent if the - primaryChfInstance is present."; - type string; - } } - grouping pcscfInfo { - description "This data type represents the information of a P-CSCF NF Instance. - For more information, see clause 6.1.6.2.53 of TS 29.510."; - - leaf-list accessType { - description "It provides the condition of access type of the UE when - the session AMBR shall be enforced, see TS 29.512 [60].If this - attribute is included in SmfInfo, it shall contain the access type - (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not - included, it shall be assumed the both access types are supported."; - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - min-elements 1; - max-elements 2; - } - leaf-list dnnList { - description "It represents the DNNs supported by the PCF. The DNN, - as defined in clause 9A of TS 23.003 [13], shall contain the Network - Identifier and it may additionally contain an Operator Identifier, - as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator - Identifier is not included, the DNN is supported for all the PLMNs in - the plmnList of the NF Profile.If not provided, the PCF can serve any - DNN."; - min-elements 1; - type string; - } - leaf-list gmFqdn { - description "This attribute represents FQDN of the P-CSCF for the Gm - interface.."; - max-elements 1; - type string; - //optional - } - leaf-list gmIpv4Addresses { - description "This attribute represents list of IPv4 addresses of of - the P-CSCF for the Gm interface."; - type inet:ipv4-address; - //optional - } - leaf-list gmIpv6Addresses { - description "This attribute represents list of IPv6 addresses of of the - P-CSCF for the Gm interface."; - type inet:ipv6-address; - //optional - } - leaf mwFqdn { - description "This attribute represents FQDN of the P-CSCF for the Mw + leaf secondaryChfInstance { + description "This attribute represents the NF Instance Id of the + secondary CHF instance.This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF + NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; + + leaf-list accessType { + description "It provides the condition of access type of the UE when + the session AMBR shall be enforced, see TS 29.512 [60].If this + attribute is included in SmfInfo, it shall contain the access type + (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not + included, it shall be assumed the both access types are supported."; + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + min-elements 1; + max-elements 2; + } + leaf-list dnnList { + description "It represents the DNNs supported by the PCF. The DNN, + as defined in clause 9A of TS 23.003 [13], shall contain the Network + Identifier and it may additionally contain an Operator Identifier, + as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator + Identifier is not included, the DNN is supported for all the PLMNs in + the plmnList of the NF Profile.If not provided, the PCF can serve any + DNN."; + min-elements 1; + type string; + } + leaf-list gmFqdn { + description "This attribute represents FQDN of the P-CSCF for the Gm interface."; - type string; - //optional - } - leaf-list mwIpv4Addresses { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - type inet:ipv4-address; - //optional - } - leaf-list mwIpv6Addresses { - description "This attribute represents list of IPv4 addresses of - the P-CSCF for the Mw interface."; - type inet:ipv6-address; - //optional - } - list servedIpv4AddressRanges { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - //optional - } + max-elements 1; + type string; + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of + the P-CSCF for the Gm interface."; + type inet:ipv4-address; + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the + P-CSCF for the Gm interface."; + type inet:ipv6-address; + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw + interface."; + type string; + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + type inet:ipv4-address; + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } grouping HssInfoGrp { description " Information of an HSS NF Instance"; leaf groupID{ @@ -280,253 +270,253 @@ module _3gpp-5gc-nrm-nrffunction { uses NetworkNodeDiameterAddress; } } - grouping NrfInfoGrp { - - list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + grouping NrfInfoGrp { - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdrInfo { + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses udr3gpp:UdrInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUdmInfo { - description "This attribute contains all the udmInfo - attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdmInfo { + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses udm3gpp:UdmInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAusfInfo { - description "This attribute contains all the - ausfInfo attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAusfInfo { + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses ausf3gpp:AusfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAmfInfo { - description "This attribute contains all the amfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses ausf3gpp:AusfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAmfInfo { + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses amf3gpp:AmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedSmfInfo { - description "This attribute contains all the smfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses amf3gpp:AmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedSmfInfo { + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses smf3gpp:SmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUpfInfo { - description "This attribute contains all the upfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses smf3gpp:SmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUpfInfo { + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses upf3gpp:UpfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcfInfo { - description "This attribute contains all the pcfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses upf3gpp:UpfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedPcfInfo { + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses pcf3gpp:pcfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedBsfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses pcf3gpp:pcfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId{ - description "String uniquely identifying a NF instance."; - type string; - } + list servedBsfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses bsfInfo; + key nfInstanceId; + leaf nfInstanceId{ + description "String uniquely identifying a NF instance."; + type string; } - list servedChfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses bsfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedChfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses chfInfo; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNwdafInfo { - description "This attribute contains all the nwdafInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nwdafInfo belongs to."; + min-elements 1; + uses chfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedNwdafInfo { + description "This attribute contains all the nwdafInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nwdafInfo belongs to."; - min-elements 1; - uses nwdaf3gpp:NwdafInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcscfInfoList { - description "This attribute contains all the pcscfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId to which - the map entry belongs to."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcscfInfo; + + min-elements 1; + uses nwdaf3gpp:NwdafInfoGrp; + } + list servedPcscfInfoList { + description "This attribute contains all the pcscfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId to which + the map entry belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedGmlcInfo { - description "This attribute contains all the gmlcInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nefInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses gmlc3gpp:GmlcInfoGrp; + + min-elements 1; + uses pcscfInfo; + } + list servedGmlcInfo { + description "This attribute contains all the gmlcInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nefInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedLmfInfo { - description "This attribute contains all the lmfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the lmfInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses lmf3gpp:LmfInfoGrp; + + min-elements 1; + uses gmlc3gpp:GmlcInfoGrp; + } + list servedLmfInfo { + description "This attribute contains all the lmfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the lmfInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNfInfo { - description "This attribute contains information of other NFs - without corresponding NF type specific Info extensions locally - configured in the NRF or the NRF received during NF registration. - The key of the map is the nfInstanceId of the NF. The map entry - is the NfInfo as defined in clause 5.3.229 representing the - information of a generic NF instance."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses nfInfoGrp; + + min-elements 1; + uses lmf3gpp:LmfInfoGrp; + } + list servedNfInfo { + description "This attribute contains information of other NFs + without corresponding NF type specific Info extensions locally + configured in the NRF or the NRF received during NF registration. + The key of the map is the nfInstanceId of the NF. The map entry + is the NfInfo as defined in clause 5.3.229 representing the + information of a generic NF instance."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedHssInfoList { - description "This attribute contains list of HssInfo attribute - locally configured in the NRF or that the NRF received during NF - registration. The key of the map is the nfInstanceId to which the - map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses HssInfoGrp; + + min-elements 1; + uses nfInfoGrp; + } + list servedHssInfoList { + description "This attribute contains list of HssInfo attribute + locally configured in the NRF or that the NRF received during NF + registration. The key of the map is the nfInstanceId to which the + map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list served5gDdnmfInfo { - description "This attribute contains all the 5gDdnmfInfo - attribute locally configured in the NRF or that the NRF - received during NF registration. The key of the map is - the nfInstanceId to which the map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses FiveGDdnmfInfo ; + min-elements 1; + uses HssInfoGrp; + } + list served5gDdnmfInfo { + description "This attribute contains all the 5gDdnmfInfo + attribute locally configured in the NRF or that the NRF + received during NF registration. The key of the map is + the nfInstanceId to which the map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } + min-elements 1; + uses FiveGDdnmfInfo ; } + } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying @@ -571,15 +561,15 @@ module _3gpp-5gc-nrm-nrffunction { max-elements 1; } } - typedef PduSessionType { - type enumeration { - enum IPV4; - enum IPV6; - enum IPV4V6; - enum UNSTRUCTURED; - enum ETHERNET; - } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; } + } grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; @@ -625,29 +615,54 @@ module _3gpp-5gc-nrm-nrffunction { uses types3gpp:PLMNId; } } + grouping AIoTNRFMappingGrp { + description "Data type AIoTNRFMapping"; + + leaf aIOTFdN { + type types3gpp:DistinguishedName; + mandatory true; + description "Represents the distinguished name (DN) identifier of the + AIOTF that serves the (internal) target area provided by NEF to NRF"; + } + + list internalTargetArea { + description "It is the (internal) target area used by NRF (as provided + by NEF) to accurately locate the AIOTF instance. It is mapped to aIOTFdN. + It could refer to a list of AIoT Areas."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + } 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)."; + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function."; min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; } - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; type inet:domain-name; + mandatory true; } + list nFProfileList { + description "It is a set of NFProfile(s) to be registered in the NRF + instance. NFProfile is defined in 3GPP TS 29.510 "; + key idx; + leaf idx { type uint32; } + uses mnfp3gpp:ManagedNFProfileGrp; + } + leaf-list cNSIIdList { description "NSI ID. NSI ID is an identifier for identifying the Core Network part of a Network Slice instance when multiple Network Slice @@ -657,32 +672,14 @@ module _3gpp-5gc-nrm-nrffunction { type string; } - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - list nrfInfo { - description ""; + description "Represents information of an NRF NF Instance."; + max-elements 1; key idx; leaf idx {type uint32;} uses NrfInfoGrp; } - list nFProfileList { - description "It is a set of NFProfile(s) to be registered in the NRF - instance. NFProfile is defined in 3GPP TS 29.510 "; - key idx; - leaf idx { type uint32; } - min-elements 1; - max-elements 1; - uses mnfp3gpp:ManagedNFProfileGrp; - } + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -692,6 +689,19 @@ module _3gpp-5gc-nrm-nrffunction { description "This parameter defines profile for managed NF"; reference "3gpp TS 23.501"; } + + list aIoTNRFMapping { + config false; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "Represents mapping information between (Internal) target + area (provided by NEF) and AIOTF DN."; + min-elements 1; + key idx; + leaf idx { type uint32; } + + uses AIoTNRFMappingGrp; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index e9d3b2defb0c4675535b8b5d7e3a2ff10b6dcbd2..ee2023e30bc8b3d24910e098382d774922305f6d 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -16,6 +16,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 revision 2025-03-25 { reference "CR-0025 CR-0026"; } @@ -283,7 +284,7 @@ module _3gpp-common-fm { enum EXTERNAL_TRANSMISSION_DEVICE_FAILURE { value 552; } enum REDUCED_ALARM_REPORTING { value 561; } enum REDUCED_EVENT_REPORTING { value 562; } - enum RECUCED_LOGGING_CAPABILITY { value 563; } + enum REDUCED_LOGGING_CAPABILITY { value 563; } enum SYSTEM_RESOURCES_OVERLOAD { value 564; } enum BROADCAST_CHANNEL_FAILURE { value 565; } enum CONNECTION_ESTABLISHMENT_ERROR { value 566; } @@ -529,6 +530,7 @@ module _3gpp-common-fm { mandatory true; config false ; yext3gpp:notNotifyable; + yext3gpp:inVariant; } leaf alarmChangedTime { @@ -702,6 +704,7 @@ module _3gpp-common-fm { } list comments { + config false ; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; @@ -785,10 +788,14 @@ module _3gpp-common-fm { type string; config false ; yext3gpp:notNotifyable; + description "It carries the identity of the detector of the security + alarm."; } list correlatedNotifications { key sourceObjectInstance; + config false ; + yext3gpp:notNotifyable; description "List of correlated notifications"; leaf sourceObjectInstance { diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 29bd57ebbc6ea8094b15708c45b16c054a4e999a..4f0c36cad4d1860ce6efe7d193afa940dba29b2b 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -17,6 +17,7 @@ module _3gpp-common-mnsregistry { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-0586; } revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } revision 2023-09-18 { reference CR-0271 ; } @@ -199,22 +200,28 @@ module _3gpp-common-mnsregistry { enum FAULT_NOTIFICATION; enum TRACE_MDT_DATA_COLLECTION_CONTROL; enum TRACE_MDT_DATA_REPORT; + enum STM_PROVISIONING; + enum STM_STREAMING; enum QOE_DATA_COLLECTION_CONTROL; enum QOE_DATA_REPORT; enum FILE_RETRIEVAL; enum FILE_DOWNLOAD; + enum CONFIGURATION_PLAN_MGMT; enum SUBSCRIPTION_CONTROL; enum HEARTBEAT_CONTROL; enum HEARTBEAT_NOTIFICATION; - enum ML_MODEL_MANAGEMENT; enum MANAGEMENT_DATA_ANALYTIC; enum RANSC_MANAGEMENT; enum SON_POLICY; enum COMMUNICATION_SERVICE_ASSURANCE_CONTROL; + enum CLOSED_CONTROL_LOOP_MANAGEMENT; enum INTENT_DRIVEN_MANAGEMENT; + enum ML_MODEL_MANAGEMENT; + enum NDT_LCM; enum MNS_REGISTRY_AND_DISCOVERY; enum MNS_ACCESS_CONTROL_MANAGEMENT; enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + enum EXTERNALDATA_DISCOVERY_AND_REQUEST; } type string; } diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index 9d58855f52eec7ff62c51f9a7a9dcb3beaac8d00..0660143f310523e03fe73cdcbe33cbd48e82aea5 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -27,6 +27,7 @@ module _3gpp-common-qmcjob { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-11-07 { reference CR-0586; } revision 2025-02-06 { reference CR-0508; } revision 2024-11-05 { reference CR-0480; } revision 2024-04-04 { reference CR-0334; } @@ -54,7 +55,7 @@ module _3gpp-common-qmcjob { leaf idx { type uint32 ; } description "It defines the area scope of QoE, which is specified in clause 5.4 of TS 28.405."; - uses trace3gpp:AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf qoECollectionEntityAddress { diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 5cc3cdd461c46c62b62f313264927272b65a5c49..8fbbbdf949ce04a4cae0823043b6051990e7f318 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -21,6 +21,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-11-07 { reference "CR-0551 CR-0586"; } //common for r19, r20 revision 2025-08-13 { reference "CR-0551 CR-0561"; } revision 2025-05-13 { reference "CR-0548"; } revision 2025-03-24 { reference "CR-0516 0518"; } @@ -308,7 +309,7 @@ module _3gpp-common-subscription-control { description "Scopes (selects) data nodes in an object tree."; key idx; max-elements 1; - leaf idx { type string; } + leaf idx { type uint32; } uses ScopeGrp; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 2149f13fb98c22b5aec704ad1ee4b8c9604792f6..7a2a5cbb19cefd9943b1d48ac2a453d9ff7c072c 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -114,83 +114,6 @@ module _3gpp-common-trace { } } - grouping AreaScopeGrp { - description "This <> defines an area scope."; - - choice AreaScopeChoice { - - case eutran-only { - leaf-list eutraCellIdList { - type types3gpp:EutraCellId; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } - } - case tac { - leaf-list tacList { - type types3gpp:Tac; - min-elements 1; - max-elements 8; - description "Tracking Area Code list"; - } - leaf-list cAGIdList { - type types3gpp:CagId; - max-elements 256; - description "It identifies a CAG list containing up to - 256 CAG-identifiers per UE or up to 12 CAG-identifiers - per cell, see TS 38.331 [38]. CAG ID is used to combine - with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal - range with size 32 bit."; - } - } - - case else { - list nPNIdentityList { - description "list of NPN IDs of in NR. It is either - a list of PNI-NPNs identified by CAG ID with - associated plmn-Identity or a list of SNPN - identified by Network ID with associated plmn-Identity"; - key idx; - min-elements 1; - uses types3gpp:NpnIdGrp; - leaf idx { type string; } - } - leaf-list nrCellIdList { - must 'not(../taiList)'; - type types3gpp:NrCellId; - max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; - } - list taiList { - must 'not(../nrCellIdList)'; - description "Tracking Area Identity list"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; - } - list ntnGeoAreaList { - must 'not(../nrCellIdList)'; - description "geographical areas for NTN MDT"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:GeoAreaGrp; - } - } - } - - list sliceIdList { - description "Network Slice Id list"; - key idx; - uses types5g3gpp:PLMNInfo; - min-elements 1; - max-elements 16384; - leaf idx { type string; } - } - } - grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. This <> defines a excess packet delay threshold information @@ -1681,7 +1604,7 @@ module _3gpp-common-trace { leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; max-elements 1; - uses AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf-list sensorInformation { diff --git a/yang-models/_3gpp-nr-nrm-aiotreader.yang b/yang-models/_3gpp-nr-nrm-aiotreader.yang new file mode 100644 index 0000000000000000000000000000000000000000..435949e48244ed15a96b103d1fc6bf8eb0bbc0f1 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-aiotreader.yang @@ -0,0 +1,98 @@ +module _3gpp-nr-nrm-aiotreader { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-aiotreader"; + prefix "aiotread3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + 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 the AIoT Reader. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-07 { reference CR-1640; } + + grouping AIOTReaderGrp { + description "Attributes of the IOC AIOTReader"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + leaf administrativeState { + type types3gpp:BasicAdministrativeState; + default LOCKED; + description "It indicates the administrative state of the AIOTReader. + It describes the permission to use or prohibition against using the + AIOT reader, imposed through the OAM services."; + } + + leaf-list supportedAIOTServices { + type enumeration { + enum INVENTORY; + enum COMMAND; + } + min-elements 1; + description "It indicates the supported AIOT service type for an + AIOT reader."; + } + + list pLMNId { + description "Defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list servedAIOTAreas { + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + + leaf-list nRSectorCarrierRef { + type types3gpp:DistinguishedName; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; + } + } + + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction { + list AIOTReader { + description "This IOC represents AIoT Reader which supports AIOT + services."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTReaderGrp; + } + } + } +} \ 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 8818cd7db8223329b16d6e1ab59aedff990efa29..d5392a2b7060915926d358bb656569c750293dd5 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -20,7 +20,8 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-10-01 { reference CR-1616 ; } + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for R19, R20 + revision 2025-10-01 { reference "CR-1616 CR-1617" ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } @@ -152,9 +153,17 @@ module _3gpp-nr-nrm-ep { uses EP_F1CSubtree; list EP_NgC { - description "Represents the local end point of the control plane - interface (NG-C) between the gNB and AMF."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; + description "This IOC represents the local end point of the control + plane interface (NG-C) between the gNB and AMF or the gNB and AIOTF. + The transport network layer is built on IP transport. For the reliable + transport of signalling messages, SCTP is added on top of IP. + The application layer signalling protocol is referred to as NG-AP + (NG Application Protocol). + + 3GPP TS 38.470 noted that 'one gNB-CU and a set of gNB-DUs are + visible to other logical nodes as a gNB or an en-gNB where the gNB + terminates the Xn and the NG interfaces, and the en-gNB terminates + the X2 and the S1-U interfaces'."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 40245e23e7bc11ae461ca272de3df0cb9506c44b..a6b8fd775c89e35c0cffa0bc814e1cf206bc7fb6 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for r19, r20 revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } @@ -340,8 +341,8 @@ module _3gpp-nr-nrm-nrcelldu { } leaf-list nRSectorCarrierRef { - description "Reference to corresponding NRSectorCarrier instance."; - min-elements 1; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; type types3gpp:DistinguishedName; } diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index f3f80a3d9ffe8a1384771dd290be72f86da94294..9a80eddf1022678bc158639eda9662cf4133ea64 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -8,6 +8,7 @@ module _3gpp-nr-nrm-nrfreqrelation { import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-redcapaccess { prefix redcap3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,6 +18,7 @@ module _3gpp-nr-nrm-nrfreqrelation { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference CR-1640; } revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } @@ -112,6 +114,15 @@ module _3gpp-nr-nrm-nrfreqrelation { type uint8 { range "2 | 4 | 6 | 8"; } units "0.1"; } + list cellReselectionRedcap { + description "This attribute indicates the configuration parameters + to allow relaxation of RRM measurement requirements for redcap UE + cell reselection"; + key idx; + leaf idx{ type uint32;} + reference "see clause 6.3.1 TS 38.331 "; + uses redcap3gpp:CellReselectionRedcapGrp; + } leaf pMax { description "Used for calculation of the parameter Pcompensation @@ -194,7 +205,7 @@ 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; @@ -213,7 +224,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."; diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 51e91f203ccc0532906c7999450df437b299cde0..ffc0a39a8dcf6d9058a9585dfc8eb9bbf783c9b5 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -15,6 +15,7 @@ module _3gpp-nr-nrm-redcapaccess { reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference CR-1640; } revision 2025-07-07 { reference CR-; } feature redcapaccesscriteriasubnertwork { @@ -43,18 +44,71 @@ module _3gpp-nr-nrm-redcapaccess { will be created providing following information: The performance metrics (KPIs and performance measurements) that are to be considered in the criteria for deciding whether the cell in a - RAN node is barred or allowed for RedCap/eRedCap UEs + RAN node is barred or allowed for (e)RedCap UEs The direction (up and down) that is to be considered for crossing the threshold value of the given performance metrics for taking a decision whether the RAN node is barred or allowed for - RedCap/eRedCap UEs. + (e)RedCap UEs. The threshold level of performance metrics value which when crossed - the RAN node is barred or allowed for RedCap/eRedCap UEs"; + the RAN node is barred or allowed for (e)RedCap UEs"; } } + grouping CellReselectionRedcapGrp { + description "This data type defines configuration parameters + to allow relaxation of RRM measurement requirements for (e)RedCap UE + cell reselection. "; + reference "TS 38.331 , clasue 6.3.1 and TS 38.304 , clause 5.2.4.9"; + leaf sSearchDeltaPStationary { + type uint8 { + range "2 | 3 | 6 | 9 | 12 | 15"; + } + mandatory true; + description "This specifies the threshold (in dB) on Srxlev variation + to evaluate stationary criterion for relaxed measurement. It + corresponds to the SSearchDeltaP-Stationary in TS 38.304 [49]. + Its unit is 1 dB. Where Srxlev is the cell selection received + signal level value. "; + // optional + } + leaf tSearchDeltaPStationary { + type uint16 { + range "5 | 10 | 20 | 30 | 60 | 120 | 180 | 240 | 300"; + } + mandatory true; + description "TThis specifies the time period over which the Srxlev + variation is evaluated for stationary criterion for relaxed measurement. + It corresponds to the TSearchDeltaP-Stationary in TS 38.304 [49]. Its + unit is seconds. Where Srxlev is the cell selection received signal + level value. "; + //optional + } + leaf sSearchThresholdP2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Srxlev threshold (in dB) to evaluate + not at cell edge criterion for relaxed measurement. It corresponds + to the SSearchThresholdP2 in TS 38.304 [49]. Its unit is 1 dB. + Where Srxlev is the cell selection received signal level value. "; + //optional + } + leaf sSearchThresholdQ2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Squal threshold (in dB) to + evaluate not at cell edge criterion for relaxed measurement. It + corresponds to the SSearchThresholdQ2 in TS 38.304 [49]. Its unit + is 1 dB. Where Srxlev is the cell selection quality level value. "; + //optional + } + + } augment "/subnet3gpp:SubNetwork" { if-feature redcapaccesscriteriasubnertwork; list RedCapAccessCriteria {