diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 4219405411fe8477bbdeb9580cdc82b835cf40e7..0fd31f95629056a04b0dc702fd68a253553a1756 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -10,10 +10,11 @@ module _3gpp-5g-common-yang-types { 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. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-05-24 { reference CR-1273 ; } @@ -192,6 +193,50 @@ module _3gpp-5g-common-yang-types { type string; } } + grouping TaiRangeGrp { + list plmnId { + description "PLMN ID related to the TacRange."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list tacRangeList { + description "The range of the TACs."; + min-elements 1; + key "start end"; + uses TacRange; + } + } + + grouping TacRange { + leaf start { + description "First value identifying the start of a TAC range, + to be used when the range of TAC's can be represented + as a hexadecimal range (e.g., TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; + } + } + + leaf end { + description "Last value identifying the end of a TAC range, + to be used when the range of TAC's can be represented as + a hexadecimal range (e.g. TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; + } + } + + leaf nRTACpattern { + description "Pattern (regular expression according to the ECMA-262) + representing the set of TAC's belonging to this range. + A TAC value is considered part of the range if and only if the + TAC string fully matches the regular expression."; + type string; + } + } grouping SupportedFunc { leaf function { diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index cf6b290f25dbf59c50ca436afc9c49a1e51a2ea3..c810e811d6c3e5a06b36b10c29480a606ddd591b 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -10,7 +10,7 @@ module _3gpp-5gc-nrm-amffunction { import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -18,7 +18,8 @@ module _3gpp-5gc-nrm-amffunction { Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-04-04 { reference CR-1139; } @@ -392,7 +393,7 @@ module _3gpp-5gc-nrm-amffunction { description "The range of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list gUAMIdList { diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 12ef3c65c0b5df765fc99f83a62d6c1ab9f2cc3f..9e3a4a1c03f2a4c3ab2c2d111ec151f35d40d6ce 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -6,16 +6,20 @@ module _3gpp-5gc-nrm-dynamic5qiset { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the dynamic 5QIs including their QoS characteristics. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-01-07 { reference CR-0643; } @@ -52,11 +56,43 @@ module _3gpp-5gc-nrm-dynamic5qiset { } } - augment "/subnet3gpp:SubNetwork" { + feature Dynamic5QISetUnderSubNetwork { + description "Dynamic5QISet shall be contained under SubNetwork."; + } + augment "/subnet3gpp:SubNetwork" { + if-feature Dynamic5QISetUnderSubNetwork; uses Dynamic5QISetSubtree; } + feature Dynamic5QISetUnderManagedElement { + description "Dynamic5QISet shall be contained under ManagedElement."; + } augment "/me3gpp:ManagedElement" { + if-feature Dynamic5QISetUnderManagedElement; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBDUFunction { + description "Dynamic5QISet shall be contained under GNBDUFunction."; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature Dynamic5QISetUnderGNBDUFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUCPFunction { + description "Dynamic5QISet shall be contained under GNBCUCPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature Dynamic5QISetUnderGNBCUCPFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUUPFunction { + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..f516d33f7bbfbb61bbfcfee2418aea33b1d3ac1d --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -0,0 +1,114 @@ +module _3gpp-5gc-nrm-gmlcfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-gmlcfunction"; + prefix gmlc3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This module defines the GMLC Function IOC per 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-03-25 { reference CR-1489 ; } + revision 2025-03-25 { + description "Initial revision."; + reference "3GPP TS 28.541"; + } + + grouping GmlcInfoGrp { + description "Information of a GMLC NF Instance (see TS 29.510, clause 6.1.6.2.41)."; + + leaf servingClientTypes { + description "Identity of the GMLC group that is served by the GMLC instance."; + type enumeration { + enum EMERGENCY_SERVICES { + description "External client for emergency services"; + } + enum VALUE_ADDED_SERVICES { + description "External client for value added services"; + } + enum PLMN_OPERATOR_SERVICES { + description "External client for PLMN operator services"; + } + enum LAWFUL_INTERCEPT_SERVICES { + description "External client for Lawful Intercept services"; + } + enum EXTERNAL_CLIENT_FOR_LAWFUL_INTERCEPT_SERVICES { + description "External client for PLMN Operator Broadcast services"; + } + enum PLMN_OPERATOR_OM { + description "External client for PLMN Operator O&M"; + } + enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { + description "External client for PLMN Operator anonymous statistics"; + } + enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { + description "External client for PLMN Operator target MS service support"; + } + } + + } + leaf gmlcNumbers{ + type string{ + pattern "^[0-9]{5,15}$"; + } + description "This attribute represents each item of the array + shall carry an OctetString indicating the ISDN number of the GMLC in + international number format as described in ITU-T Rec. E.164 [94] and + shall be encoded as a TBCD-string."; + + } + } + + grouping GMLCFunctionGrp { + description "GMLC Function IOC grouping."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + key "idx"; + leaf idx { type uint32; } + min-elements 1; + uses types3gpp:PLMNId; + uses types5g3gpp:SNssai; + } + leaf sBIFqdn { + type string; + description "FQDN of the registered NF instance in the service-based interface."; + } + list managedNFProfile { + description "This parameter defines profile for managed NF. See TS 23.501"; + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + list commModelList { + key "groupId"; + min-elements 1; + uses types5g3gpp:CommModel; + } + list gmlcInfo { + key "idx"; + leaf idx { type uint32; } + max-elements 1; + uses GmlcInfoGrp; + } + } + augment "/me3gpp:ManagedElement" { + list GMLCFunction { + description "5G Core LMF Function defined in TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GMLCFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang index 2a612372fc964b0ec67c36564e2d2f23c0eb0dcd..b7b954153e3baf28ad00fd21c72937ec497e3122 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -9,16 +9,16 @@ module _3gpp-5gc-nrm-lmffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the LMF function defined in 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5193518"; } @@ -125,7 +125,7 @@ module _3gpp-5gc-nrm-lmffunction { min-elements 1; key idx; leaf idx { type uint32; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf-list supportedGADShapes { diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 1c48c30c8a4519fac0ca2a011a2a778140273640..8b65a12760f4143e184ea3e038a91195d487dd2c 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -20,13 +20,14 @@ module _3gpp-5gc-nrm-neffunction { Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2024-05-18 { reference CR-1273 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-09-18 { reference CR-1103 ; } revision 2023-09-18 { reference CR-1043 ; } - revision 2023-04-26 { reference CR-0916; } + revision 2023-04-26 { reference CR-0916 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-20 { reference "initial revision"; } @@ -164,7 +165,7 @@ module _3gpp-5gc-nrm-neffunction { yext3gpp:notNotifyable; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf nefId { diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 35ed626ff4c21fa72149fe784e498ff1e9631cea..354d8b8ac4ea75c89ee5a5b5743c22db6a92f7e1 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -8,14 +8,19 @@ module _3gpp-5gc-nrm-nfprofile { import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } - + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } + import _3gpp-5gc-nrm-lmffunction {prefix lmf3gpp; } + import _3gpp-5gc-nrm-gmlcfunction {prefix gmlc3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-11-18 { reference CR-1103 ; } @@ -267,7 +272,7 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } - + grouping ausfInfo { leaf groupId { @@ -340,7 +345,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; key idx; leaf idx { type uint32; } - uses TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list backupInfoAmfFailure { @@ -411,7 +416,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; key idx; leaf idx { type uint32; } - uses TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf pgwFqdn { @@ -481,7 +486,76 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } - + grouping ProSeCapability { + leaf proseDirectDiscovery { + type boolean; + description "Indicates support for ProSe Direct Discovery."; + } + leaf proseDirectCommunication { + type boolean; + description "Indicates support for ProSe Direct Communication."; + } + leaf proseL2UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-Network Relay.."; + } + leaf proseL3UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-Network Relay."; + } + leaf proseL2RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-2 + Remote UE."; + } + leaf proseL3RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-3 + Remote UE."; + } + leaf proseL2UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-UE Relay."; + } + leaf proseL3UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-UE Relay."; + } + leaf proseL2EndUe { + type boolean; + description "Indicates support for ProSe Layer-2 End UE."; + } + leaf proseL3EndUe { + type boolean; + description "Indicates support for ProSe Layer-3 End UE."; + } + leaf proseL3IntermRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + Intermediate Relay."; + } + leaf proseL3MultihopRemote { + type boolean; + description "Indicates support for ProSe Layer-3 Multihop Remote."; + } + leaf proseL3NetMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 Network Multihop + Relay."; + } + leaf proseL3UeMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE Multihop Relay."; + } + leaf proseL3EndUeMultihop { + type boolean; + description "Indicates support for ProSe Layer-3 End UE Multihop."; + } + } grouping pcfInfo { leaf-list dnnList { @@ -517,6 +591,11 @@ module _3gpp-5gc-nrm-nfprofile { type string; } + list proseCapability { + description "It indicates the supported ProSe Capability by the PCF."; + uses ProSeCapability; + config false; + } } grouping bsfInfo { @@ -580,7 +659,181 @@ module _3gpp-5gc-nrm-nfprofile { uses types3gpp:PLMNId; } } - + 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; + } + 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{ + description "This attribute defines the identity of the HSS group + that is served by the HSS instance.If not provided, the HSS instance + does not pertain to any HSS group."; + type string; + } + list imsiRanges { + description "This attribute defines the list of ranges of IMSIs whose + profile data is available in the HSS instance."; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses ImsiRange; + } + list imsPrivateIdentityRanges{ + description "This attribute defines the list of ranges of IMS Private + Identities whose profile data is available in the HSS instance."; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses IdentityRange; + } + list imsPublicIdentityRanges{ + description "This attribute defines the list of ranges of MSISDNs whose + profile data is available in the HSS instance. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses IdentityRange; + } + list msisdnRanges{ + description "This attribute defines the list of ranges of IMS Public + Identities whose profile data is available in the HSS instance "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses IdentityRange; + } + list externalGroupIdentifiersRanges{ + description "This attribute defines the list of ranges of external + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses IdentityRange; + } + list hssDiameterAddress{ + description "This attribute defines the Diameter Address of the HSS "; + max-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses NetworkNodeDiameterAddress; + } + list additionalDiamAddresses{ + description "This attribute defines the Additional Diameter Addresses + of the HSS;may be present if hssDiameterAddress is present "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses NetworkNodeDiameterAddress; + } + + list dnnUpfInfoList { + description "List of parameters supported by the UPF per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItem; + } + } + grouping FiveGDdnmfInfo { + description "This data type represents the specific data for the 5G DDMF NF. + See clause 6.1.6.2.74 of TS 29.510."; + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } grouping nrfInfoGrp { list servedUdrInfo { @@ -726,8 +979,108 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses chfInfo; } + + 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."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + 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 ; + } } - list nrfInfo { description "nrfinfo"; key idx; @@ -735,6 +1088,21 @@ module _3gpp-5gc-nrm-nfprofile { max-elements 1; uses nrfInfoGrp; } + list nfInfo { + description "nrfinfo"; + key idx; + leaf idx { type uint32; } + max-elements 1; + uses nfInfoGrp; + } + grouping nfInfoGrp { + description "This data type represents the information of a + generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23])."; + leaf nfType { + description "This parameter defines type of Network Function"; + type uint16; + } + } leaf customInfo { description "Specific data for custom Network Functions."; @@ -887,34 +1255,6 @@ module _3gpp-5gc-nrm-nfprofile { } } - grouping TacRange { - leaf start { - description "First value identifying the start of a TAC range, - to be used when the range of TAC's can be represented - as a hexadecimal range (e.g., TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; - } - } - - leaf end { - description "Last value identifying the end of a TAC range, - to be used when the range of TAC's can be represented as - a hexadecimal range (e.g. TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; - } - } - - leaf nRTACpattern { - description "Pattern (regular expression according to the ECMA-262) - representing the set of TAC's belonging to this range. - A TAC value is considered part of the range if and only if the - TAC string fully matches the regular expression."; - type string; - } - } - grouping SnssaiUpfInfoItem { list sNssai { description "Supported S-NSSAI."; @@ -923,15 +1263,8 @@ module _3gpp-5gc-nrm-nfprofile { key "sst sd"; uses Snssai; } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } } - + grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; @@ -1056,24 +1389,7 @@ module _3gpp-5gc-nrm-nfprofile { enum N9; } } - - grouping TaiRangeGrp { - list plmnId { - description "PLMN ID related to the TacRange."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list tacRangeList { - description "The range of the TACs."; - min-elements 1; - key "start end"; - uses TacRange; - } - } - + typedef AccessType { type enumeration { enum 3GPP_ACCESS; @@ -1158,4 +1474,48 @@ module _3gpp-5gc-nrm-nfprofile { uses Snssai; } } + grouping ImsiRange{ + leaf start{ + description "This attribute indicates the first value identifying + the start of a IMSI range. "; + type string{ + pattern "^[0-9]+$"; + } + } + leaf end{ + description "This attribute indicates the last value identifying + the end of a IMSI range."; + type string{ + pattern "^[0-9]+$"; + } + } + leaf pattern{ + description "This attribute indicates pattern (regular expression + according to the ECMA-262 dialect [75]) representing the set of + IMSIs belonging to this range. An IMSI value is considered part + of the range if and only if the IMSI string fully matches the + regular expression.Either the start and end attributes, or the + pattern attribute, shall be present."; + type string; + } + } + grouping NetworkNodeDiameterAddress { + leaf-list name{ + description "This attribute indicates the Diameter + name of the network node diameter address."; + reference " See TS 29.571 [61]. String contains a Diameter Identity + (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + leaf-list realm{ + description "This attribute indicates the Diameter realm of the + network node diameter addres. See TS 29.571 [61]. String contains + a Diameter Identity (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + } } diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index be566c2b307c1d9ef7ec94c7667200ad27ab9c1f..3ed04046e924b7ccc12466dd59167491cd4b201d 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -11,16 +11,16 @@ module _3gpp-5gc-nrm-nwdaffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } 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. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } revision 2024-04-12 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } @@ -203,7 +203,7 @@ module _3gpp-5gc-nrm-nwdaffunction { key idx ; leaf idx { type uint32; } description "The range of TAIs."; - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list nwdafCapability { diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index ca2dc8cbc4b2fdf1a140cf7a55f82d257ef3a115..22346b7604c531d4560e3750feabb3063a5b06fe 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-10-04 { reference "CR-0393"; } diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index 726292a70f38a5df337c789802c4ac3a423f4c90..fb22a847a514bc47c361eede7d891172da304b0e 100644 --- a/yang-models/_3gpp-common-files.yang +++ b/yang-models/_3gpp-common-files.yang @@ -25,7 +25,7 @@ module _3gpp-common-files { Integration Reference Point (IRP); Information Service (IS)"; - revision 2024-05-11 { reference CR-0362 ; } + revision 2024-05-25 { reference CR-0362 ; } revision 2023-09-18 { reference CR-0271 ; } revision 2022-09-28 { reference CR-0191; } diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index da5d3eaee4405014fd1e39c077c71af3267e7a0c..308f0dfd629c2346cb7d46e815fec18401eb4346 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -7,7 +7,6 @@ module _3gpp-common-fm { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,10 +16,9 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; - revision 2025-02-07 { reference CR-0022 ; } + revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { - description "The definition of the module was moved from TS 28.623 to - TS 28.111"; + description "The definition of the module was from TS 28.623 to TS 28.111"; reference CR-0008 ; } revision 2024-03-06 { reference CR-0333 ; } @@ -106,12 +104,14 @@ module _3gpp-common-fm { type yang:date-and-time; config false; mandatory true; + yext3gpp:inVariant; description "Date and Time the comment was created."; } leaf commentUserId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the user who made the comment."; } @@ -119,6 +119,7 @@ module _3gpp-common-fm { leaf commentSystemId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the system ( Management System) from which the comment is made. That system supports the user that made the comment."; @@ -127,10 +128,146 @@ module _3gpp-common-fm { leaf commentText { type string; mandatory true; + yext3gpp:inVariant; description "It carries the textual comment."; } } + grouping ThresholdHysteresisGrp { + description "The ThresholdHysteresis defines the threshold boundaries to + control the hysteresis mechanism. + + The high attribute of ThresholdHysteresis identifies the higher value of + a threshold with hysteris, the integer type is used for counter + thresholds and the float type for gauge thresholds. The low attribute + of ThresholdHysteresis identifies the lower value of a threshold with + hysteresis, applicable only to gauge thresholds."; + + leaf high { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "Higher value of a threshold with hysteris, the integer type + is used for counter thresholds and the float type for gauge + thresholds."; + } + + leaf low { + type decimal64 { + fraction-digits 7; + } + description "Lower value of a threshold with hysteresis, applicable + only to gauge thresholds."; + } + } + + grouping ThresholdLevelIndGrp { + description "The up attribute indicates for counter and gauge thresholds + that the threshold crossing occurred when going up. The down attribute + only indicates for gauge thresholds that the threshold crossing occurred + when going down, applicable only to gauge thresholds."; + + list up { + description "Indicates for counter and gauge thresholds that the + threshold crossing occurred when going up."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + + list down { + description "Indicates for gauge thresholds that the threshold crossing + occurred when going down, applicable only to gauge thresholds."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + } + + grouping ThresholdCrossingGrp { + description "The datatype indicates the crossed threshold + information regardless of the gauge threshold, which represents an + instantaneous value that changes over time, or the counter threshold, + which represents monotonically increasing cumulative quantity. + + The observedMeasurement attribute of TheresholdInfo specifies the name + of the monitored measurement that crossed the threshold and that + caused the notification (Rec. ITU-T X. 733[8]). The observedValue + attribute indicates the value of the gauge or counter which crossed + the threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. Integer values + are used for counters and float values for gauges (Rec. ITU-T X. 733). + Note that a 'number' type property can contain both integers and + floating point numbers. + + For the thresholdLevel attribute, in the case of a gauge, it specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case of + a counter, it specifies only the threshold value (Rec. ITU-T X. 733). + + For the armTime attribute, for a gauge threshold, it specifies the + time at which the threshold was last re-armed, namely the time after + the previous threshold crossing at which the hysteresis value of the + threshold was exceeded thus again permitting generation of + notifications when the threshold is crossed; for a counter threshold, + the later of the time at which the threshold offset was last applied, + or the time at which the counter was last initialized (for resettable + counters) (Rec. ITU-T X. 733)."; + + leaf observedMeasurement { + type string; + mandatory true; + description "The name of the monitored measurement that crossed the + threshold and that caused the notification (Rec. ITU-T X. 733 "; + } + + leaf observedValue { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "The value of the gauge or counter which crossed the + threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. + Integer values are used for counters and float values for gauges + (Rec. ITU-T X. 733). Note that a 'number' type property can contain + both integers and floating point numbers."; + } + + list thresholdLevel { + description "In the case of a gauge the threshold level specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case + of a counter the threshold level specifies only the threshold value + (Rec. ITU-T X. 733)."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdLevelIndGrp; + } + + leaf armTime { + type yang:date-and-time; + description "For a gauge threshold, the time at which the threshold + was last re-armed, namely the time after the previous threshold + crossing at which the hysteresis value of the threshold was + exceeded thus again permitting generation of notifications when the + threshold is crossed. For a counter threshold, the later of the time + at which the threshold offset was last applied, or the time at + which the counter was last initialized (for resettable counters) + (Rec. ITU-T X. 733)"; + } + } + grouping AlarmRecordGrp { description "Contains alarm information of an alarmed object instance. A new record is created in the alarm list when an alarmed object @@ -262,7 +399,9 @@ module _3gpp-common-fm { config false ; yext3gpp:notNotifyable; description "Indicates the crossed threshold"; - uses meas3gpp:ThresholdInfoGrp; + key idx; + leaf idx { type int32; } + uses ThresholdCrossingGrp; } list stateChangeDefinition { @@ -344,7 +483,6 @@ module _3gpp-common-fm { } list comments { - yext3gpp:inVariant; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index d8ab19d689ff5645c2dd7342f8eb687ed2f528bc..40fb722754313e7fc3c3867222ad7c63cfb4b750 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -4,6 +4,7 @@ module _3gpp-common-managed-element { prefix "me3gpp"; import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -20,7 +21,7 @@ module _3gpp-common-managed-element { description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -35,7 +36,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2024-11-19 { reference "Add STM"; } + revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } @@ -147,6 +148,7 @@ module _3gpp-common-managed-element { A Distingushed Name(DN) is defined by 3GPP TS 32.300, which splits the DN into a DN Prefix and Local DN"; type types3gpp:DistinguishedName; + yext3gpp:inVariant; } leaf userLabel { diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index ed183f1a72c8e880e788732bdd3edac15487e6f5..9f5dceae0e9f9ab55c5e25be1db003ab5ce1d1ef 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -4,6 +4,7 @@ module _3gpp-common-mecontext { prefix "mectx3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import ietf-yang-schema-mount { prefix yangmnt; } @@ -12,7 +13,7 @@ module _3gpp-common-mecontext { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic MeContext which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -24,6 +25,8 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-03-25 { reference "CR-00525"; } + revision 2025-03-24 { reference "CR-0517 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } grouping MeContextGrp { @@ -31,6 +34,7 @@ module _3gpp-common-mecontext { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; description "It carries the DN Prefix information or no information. The instance of MeContext is the local root instance of the MIB. Otherwise the attribute shall be absent or carry no information."; @@ -39,7 +43,7 @@ module _3gpp-common-mecontext { } augment "/subnet3gpp:SubNetwork" { - list Mecontext { + list MeContext { description "This IOC is introduced for naming purposes. It may support creation of unique DNs in scenarios when some MEs have the same RDNs due to the fact that they have been manufacturer pre-configured. diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 59868e1c63d5702a691e9a06ce65f4a149cf88c2..8f0b9787e99be7384dd2a69b53f9c44d4df2ed76 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -4,6 +4,7 @@ module _3gpp-common-subnetwork { prefix "subnet3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -20,7 +21,7 @@ module _3gpp-common-subnetwork { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic SubNetwork which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 20254, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -35,6 +36,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-03-25 { reference "CR-0516"; } revision 2024-11-19 { reference "Add STM"; } revision 2024-01-30 { reference CR-1337 ; } revision 2024-01-30 { reference CR-0328 ; } @@ -158,6 +160,7 @@ module _3gpp-common-subnetwork { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index b637e1ff53c5de712befab920a09e955a26b5ed7..48aa7bb05e8422a135ed0baae917ad620d8ebef7 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -5,12 +5,13 @@ module _3gpp-common-subscription-control { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - + import ietf-yang-types { prefix yang; } + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines IOCs for subscription and heartbeat control. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -18,6 +19,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-03-24 { reference CR-0516 ; } revision 2024-05-18 { reference CR-0359 ; } revision 2024-01-18 { reference "CR-0309 CR-0329" ; } revision 2023-09-18 { reference CR-0271 ; } @@ -84,11 +86,26 @@ module _3gpp-common-subscription-control { } } case dataNodeSelector { - leaf dataNodeSelector { - type string; + container dataNodeSelector { description "The value shall follow the rules of RFC 8641 filter-spec"; - reference "RFC 8641 section 5."; + reference "RFC 8641 section 5. and ietf-yang-push.yang"; + choice dataNodeSelector { + anydata datastore-subtree-filter { + description "Subtree filter"; + reference + "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; + } + leaf datastore-xpath-filter { + type yang:xpath1.0; + description "XPath-filter"; + reference + "XML Path Language (XPath) Version 1.0 + (https://www.w3.org/TR/1999/REC-xpath-19991116) + RFC 7950: The YANG 1.1 Data Modeling Language, + Section 10"; + } + } } } } @@ -114,7 +131,7 @@ module _3gpp-common-subscription-control { list scope { description "Scopes (selects) data nodes in an object tree."; key idx; - max-elements 8; + max-elements 1; leaf idx { type string; } uses ScopeGrp; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index a989450d97e8358ca7945dfc93420cfafa7e4ff1..2ec6b33ea17a3ce993e723a7b83e2e08d575024c 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -20,15 +20,14 @@ module _3gpp-common-trace { Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions - 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)" ; - revision 2025-02-07 { reference "CR-0504"; } + revision 2025-02-07 { reference "CR-0504" ; } revision 2025-02-05 { reference "CR-0461" ; } - revision 2024-11-25 { reference CR-0492; } + revision 2024-11-25 { reference "CR-0492" ; } revision 2024-11-07 { reference "CR-0480"; } revision 2024-10-01 { reference "CR-0457"; } revision 2024-08-13 { reference "CR-0387 CR-0377"; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 7590af02d2fc844a36e366dad673b449757535ae..e060a12031a2f59f0b903105242864cb9c95bbfb 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } revision 2024-11-25 { reference CR-1442; }