diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index e9207d4c4969178d16e65d60faf02050895d4160..1a89b6cade11ecca5acddaa3a411648d5d057059 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -11,10 +11,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 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-03-25 { reference CR-1694 ; } revision 2025-11-07 { reference CR-1640 ; } revision 2025-11-01 { reference CR-1657 ; } @@ -29,6 +30,31 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + typedef NwdafEvent { + description "The detailed ENUM value for NwdafEvent see the + Table 5.1.6.3.4-1 in TS 29.520"; + type union { + type enumeration { + enum SLICE_LOAD_LEVEL; + enum NETWORK_PERFORMANCE; + enum NF_LOAD; + enum SERVICE_EXPERIENCE; + enum UE_MOBILITY; + enum UE_COMMUNICATION; + enum QOS_SUSTAINABILITY; + enum ABNORMAL_BEHAVIOUR; + enum USER_DATA_CONGESTION; + enum NSI_LOAD_LEVEL; + enum DN_PERFORMANCE; + enum DISPERSION; + enum RED_TRANS_EXP; + enum WLAN_PERFORMANCE; + enum SM_CONGESTION; + } + type string; + } + } + grouping AreaScopeGrp { description "This <> defines an area scope."; diff --git a/yang-models/_3gpp-5gc-nrm-aanffunction.yang b/yang-models/_3gpp-5gc-nrm-aanffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..c440c94474e68d7bb5b5a1ee3c54c03dd43ac57f --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aanffunction.yang @@ -0,0 +1,102 @@ +module _3gpp-5gc-nrm-aanffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-aanffunction; + prefix aanf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the AAnF function in 5GC. + For more information about the AANF, see TS 33.535. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, + CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping AanfInfoGrp { + description "This data type represents the Specific + data for the AAnF. + (See clause 6.1.6.2.73 TS 29.510)."; + + leaf-list routingIndicators { + description "This attribute represents the List of + Routing Indicators supported by the AAnf + instance. If not provided, the AAnf can serve + any Routing Indicator."; + //optional + type string { + pattern '[0-9]{1,4}'; + } + } + } + + grouping AANFFunctionGrp { + description "Represents the AANFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network + Function."; + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF + (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list aanfInfo { + description "This attribute represents information + of an AAnF NF Instance."; + //optional + max-elements 1; + key idx; + leaf idx { type uint32; } + uses AanfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list AANFFunction { + description "5G Core AAnF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AANFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang index f3ec7376253a5a241d6288455f7adb6cbb2bbd42..e193ba8cca12cf0d7f8bc3177ccbffa1b45d915d 100755 --- a/yang-models/_3gpp-5gc-nrm-affunction.yang +++ b/yang-models/_3gpp-5gc-nrm-affunction.yang @@ -6,24 +6,120 @@ module _3gpp-5gc-nrm-affunction { 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-5gc-nrm-neffunction { prefix nef3gpp; } import _3gpp-common-top { prefix top3gpp; } + 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 "This IOC is defined only to describe the IOCs representing its interaction interface with 5GC (i.e. EP_Rx and EP_N5). It has no attributes defined. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-19 { reference CR-1702 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 {reference "initial revision"; } + grouping TrustAfInfoGrp { + description "Represent the data type TrustAfInfo."; + + list sNssaiInfoList { + description "It represents S-NSSAIs and DNNs supported by the trust AF."; + min-elements 1; + key idx; + leaf idx { type uint32 ; } + uses nef3gpp:SnssaiInfoItemGrp; + } + + leaf-list afEvents { + type enumeration { + enum SVC_EXPERIENCE; + enum UE_MOBILITY; + enum UE_COMM; + enum EXCEPTIONS; + enum USER_DATA_CONGESTION; + enum PERF_DATA; + enum COLLECTIVE_BEHAVIOUR; + enum DISPERSION; + enum MS_QOE_METRICS; + enum MS_CONSUMPTION; + enum MS_NET_ASSIST_INVOCATION; + enum MS_DYN_POLICY_INVOCATION; + enum MS_ACCESS_ACTIVITY; + } + description "This attribute represents list of AF Event(s) supported + by the trusted AF."; + reference "Clause 5.6.3.3 TS 29.517"; + } + + leaf-list appIds { + type string; + description "This attribute represents a list of Application ID(s) + supported by the trusted AF. The absence of this attribute indicate + that the AF can be selected for any Application."; + } + + leaf-list internalGroupId { + type string { + pattern + '[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}'; + } + description "This attribute represents a list of Internal Group + Identifiers supported by the trusted AF. + If not provided, it does not imply that the AF supports all internal + groups."; + } + + leaf mappingInd { + type boolean; + default false; + description "This attribute indicates whether the trusted AF supports + mapping between UE IP address (IPv4 address or IPv6 prefix) and UE ID + (i.e. SUPI)."; + } + } + grouping AFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of PLMN IDs."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32;} + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF (See TS 23.501)"; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list trustAfInfo { + description "Represents information of a trusted AF Instance."; + key idx; + leaf idx { type uint32;} + max-elements 1; + uses TrustAfInfoGrp; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 89ecbe3f33dc4a209e3971c11d6cf8ab1ea5216e..24b487a672dd3a3957a02b9b250b5d7fcdec400e 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -17,10 +17,11 @@ module _3gpp-5gc-nrm-amffunction { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "AMFFunction derived from basic ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-25 { reference CR-1702 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference "CR-1489 CR-1512" ; } revision 2024-11-01 { reference CR-1405; } @@ -368,14 +369,14 @@ module _3gpp-5gc-nrm-amffunction { grouping AmfInfoGrp { description "Represents the data type AmfInfo."; - leaf amfRegionId { + leaf aMFRegionId { type int64; mandatory true; description "It represents the AMF Region ID, which identifies the region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 "; } - leaf amfSetId { + leaf aMFSetId { type int64; mandatory true; description "It represents the AMF Set ID, which is uniquely identifies diff --git a/yang-models/_3gpp-5gc-nrm-bsffunction.yang b/yang-models/_3gpp-5gc-nrm-bsffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..51551d83e39cb8ffbe9cf5e8348ef0153218a6f4 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-bsffunction.yang @@ -0,0 +1,188 @@ +module _3gpp-5gc-nrm-bsffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-bsffunction; + prefix bsf3gpp; + + 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; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the BSF function in 5GC. + For more information about the BSF, see TS 23.503. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, + CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping BsfInfoGrp { + description "This data type represents the Specific + data for the BSF. + (See clause 6.1.6.2.21 TS 29.510)."; + + list ipv4AddressRanges { + description "This attribute represents the list of + ranges of IPv4 addresses handled by BSF. If not + provided, the BSF can serve any IPv4 address."; + key "start end"; + //optional + uses types3gpp:Ipv4AddressRange; + } + + leaf-list dnnList { + description "This attribute represents the list of + DNNs handled by the BSF. The DNN shall contain + the Network Identifier and it may additionally + contain an Operator Identifier. 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 BSF can serve + any DNN."; + //optional + type string; + } + + leaf-list ipDomainList { + description "This attribute represents the list of + IPv4 address domains, as described in clause 6.2 + of 3GPP TS 29.513, handled by the BSF. If not + provided, the BSF can serve any IP domain."; + //optional + type string; + } + + list ipv6PrefixRanges { + description "This attribute represents the list of + ranges of IPv6 prefixes handled by the BSF. If + not provided, the BSF can serve any IPv6 + prefix."; + //optional + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + + leaf rxDiamHost { + description "This attribute represents the Diameter + host of the Rx interface for the BSF."; + type string; + } + + leaf rxDiamRealm { + description "This attribute represents the Diameter + realm of the Rx interface for the BSF. See + TS 29.571. String contains a Diameter Identity + (FQDN)."; + type string; + } + + leaf groupId { + description "This attribute represents the identity + of the BSF group that is served by the BSF + instance. If not provided, the BSF instance does + not pertain to any BSF group."; + //optional + type string; + } + + list supiRanges { + description "This attribute represents list of + ranges of SUPIs served by the BSF instance."; + //optional + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "This attribute represents list of + ranges of GPSIs served by the BSF instance."; + //optional + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + } + + grouping BSFFunctionGrp { + description "Represents the BSFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network + Function."; + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + leaf-list cNSIIdList { + description "NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network + Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, + and there is a need to differentiate between them + in the 5GC, see clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of 3GPP TS 29.531."; + //optional + type string; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF + (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list bsfInfo { + description "This attribute represents information + of a BSF NF Instance. Multiple bsfInfo may be + allowed when BSF provides binding service for + various combinations of IPv4 addresses and + ipDomains."; + //optional + key idx; + leaf idx { type uint32; } + uses BsfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list BSFFunction { + description "5G Core BSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-dccffunction.yang b/yang-models/_3gpp-5gc-nrm-dccffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..476954220e960aa1fa5b35f3a19557916b5a4b65 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-dccffunction.yang @@ -0,0 +1,151 @@ +module _3gpp-5gc-nrm-dccffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dccffunction; + prefix dccf3gpp; + + 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; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the DCCF function in 5GC. + For more information about the DCCF, see TS 23.501. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, + CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping DccfInfoGrp { + description "This data type represents the Specific + data for the DCCF. + (See clause 6.1.6.2.46 TS 29.510)."; + + leaf-list servingNfTypeList { + //optional support + type types3gpp:NfType; + description "This attribute represents the list of + NF type(s) from which the DCCF NF can collect + data. The absence of this attribute indicates + that the DCCF can collect data from any NF + type."; + } + + leaf-list servingNfSetIdList { + //optional support + type string; + description "This attribute represents the list of + NF Set Id(s) from which the DCCF NF can collect + data. The absence of this attribute indicates + that the DCCF can collect data from any NF + Set."; + } + + list taiList { + //optional support + description "This attribute represents the list of + TAIs the DCCF can serve. It may contain one or + more non-3GPP access TAIs. The absence of both + this attribute and the taiRangeList attribute + indicates that the DCCF can be selected for any + TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + //optional support + description "This attribute represents the range + of TAIs the DCCF can serve. It may contain one + or more non-3GPP access TAI ranges. The absence + of both this attribute and the taiList attribute + indicates that the DCCF can be selected for any + TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + } + + grouping DCCFFunctionGrp { + description "Represents the DCCFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network + Function."; + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + leaf-list cNSIIdList { + //optional support + description "NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network + Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, + and there is a need to differentiate between them + in the 5GC"; + reference " see clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of 3GPP TS 29.531."; + type string; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF"; + reference "(See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list dccfInfo { + //optional support + description "This attribute represents information + of a DCCF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses DccfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list DCCFFunction { + description "5G Core DCCF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DCCFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang b/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..990b3a9c778e9eafbbd468468bd28e9e95ddcaa8 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang @@ -0,0 +1,78 @@ +module _3gpp-5gc-nrm-ddnmffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ddnmffunction; + prefix ddnmf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the 5G DDNMF function in + 5GC. For more information about the 5G DDNMF, see + TS 23.501. + Copyright 2026, 3GPP Organizational Partners (ARIB, + ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping DDNMFFunctionGrp { + description "Represents the DDNMFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "The PLMN identifier."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF + (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list DDNMFFunction { + description "5G Core DDNMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DDNMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-easdffunction.yang b/yang-models/_3gpp-5gc-nrm-easdffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..0c86824e1fafbc2d368a70b53a9ba1c692872787 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-easdffunction.yang @@ -0,0 +1,191 @@ +module _3gpp-5gc-nrm-easdffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-easdffunction; + prefix easdf3gpp; + + 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-yang-extensions { prefix yext3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the Edge Application + Server Discovery Function (EASDF) in 5GC which can + handle the DNS messages according to the instruction + from the SMF. For more information about the 5G + EASDF, see 3GPP TS 23.548. + Copyright 2026, 3GPP Organizational Partners (ARIB, + ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping DnnEasdfInfoItemGrp { + description "This data type represents parameters + supported by the EASDF per DNN. + (See clause 6.1.6.2.79 TS 29.510)."; + + leaf dnn { + type string; + mandatory true; + description "This attribute represents a supported + DNN or Wildcard DNN if the EASDF supports all + DNNs for the related S-NSSAI. The DNN shall + contain the Network Identifier and it may + additionally contain an Operator Identifier. + If the Operator Identifier is not included, the + DNN is supported for all the PLMNs in the + plmnList of the NF Profile."; + } + + leaf-list dnaiList { + //optional support + type string; + min-elements 1; + description "List of Data network access + identifiers supported for this DNN."; + } + } + + grouping SnssaiEasdfInfoItemGrp { + description "This data type represents parameters + supported by the EASDF per S-NSSAI."; + reference "(See clause 6.1.6.2.78 TS 29.510)."; + + list sNssai { + description "This attribute represents a S-NSSAI."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SnssaiExtensionGrp; + } + + list dnnEasdfInfoList { + description "This attribute represents a list of + parameters supported by the EASDF per DNN."; + min-elements 1; + key dnn; + uses DnnEasdfInfoItemGrp; + } + } + + grouping EasdfInfoGrp { + description "This data type represents EASDF specific + data. (See clause 5.4.5.1 of TS 29.571)."; + + list sNssaiEasdfInfoList { + //optional support + description "This attribute represents a list of + parameters supported by the EASDF per + S-NSSAI."; + key idx; + leaf idx { type uint32; } + uses SnssaiEasdfInfoItemGrp; + } + + leaf-list easdfN6IpAddressList { + //optional support + type inet:ip-address; + description "This attribute represents N6 IP + addresses of the EASDF."; + } + + leaf-list upfN6IpAddressList { + //optional support + type inet:ip-address; + description "This attribute represents N6 IP + addresses of PSA UPFs."; + } + } + + grouping EASDFFunctionGrp { + description "Represents the EASDFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "It defines the PLMN of the EASDF."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF + (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + leaf serverAddr { + type string; + mandatory true; + description "This attribute indicates the DNS + server address for the PDU Session + (see clause 6.2.2.2 in TS 23.548)."; + } + + list easdfInfo { + //optional support + description "This attribute represents EASDF + specific data."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses EasdfInfoGrp; + } + + leaf isOnboardSatellite { + //optional support + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the + function is on board the satellite."; + } + + leaf onboardSatelliteId { + //optional support + type string { + pattern "[0-9]{5}"; + } + config false; + yext3gpp:inVariant; + description "This attribute indicates the onboard + satellite Id. It shall be formatted as a fixed + 5-digit string, padding with leading digits '0' + to complete a 5-digit length."; + } + } + + augment "/me3gpp:ManagedElement" { + list EASDFFunction { + description "5G Core EASDF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EASDFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index f3e585609344684aef4bfc49ff3b22c997dd13f2..d9c137b591287f746b4af12ff1e926d01d8e2b66 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -8,7 +8,6 @@ module _3gpp-5gc-nrm-ep { import _3gpp-5gc-nrm-affunction { prefix af3gpp; } import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } - import _3gpp-5gc-nrm-dnfunction { prefix dn3gpp; } import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp; } import _3gpp-5gc-nrm-n3iwffunction { prefix n3iwf3gpp; } import _3gpp-5gc-nrm-ngeirfunction { prefix ngeir3gpp; } @@ -20,12 +19,24 @@ module _3gpp-5gc-nrm-ep { import _3gpp-5gc-nrm-smsffunction { prefix smsf3gpp; } import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } + import _3gpp-5gc-nrm-mbupffunction { prefix mbupf3gpp; } + import _3gpp-5gc-nrm-mbsmffunction { prefix mbsmf3gpp; } import _3gpp-5gc-nrm-chffunction { prefix chf3gpp; } import _3gpp-5gc-nrm-nsacffunction { prefix nsacf3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } import _3gpp-5gc-nrm-nssaaffunction { prefix nssaaf3gpp; } + import _3gpp-5gc-nrm-ddnmffunction { prefix ddnmf3gpp; } + import _3gpp-5gc-nrm-tsctsffunction { prefix tsctsf3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import ietf-inet-types { prefix inet; } + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } + import _3gpp-5gc-nrm-scpfunction {prefix scp3gpp;} + import _3gpp-5gc-nrm-aanffunction {prefix aanf3gpp;} + import _3gpp-5gc-nrm-easdffunction {prefix easdf3gpp;} + import _3gpp-5gc-nrm-gmlcfunction {prefix gmlc3gpp;} + + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -36,6 +47,7 @@ module _3gpp-5gc-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-04-25 { reference CR-1702; } revision 2025-07-25 { reference CR-1558 ; } revision 2024-08-19 { reference CR-1314 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -68,8 +80,23 @@ module _3gpp-5gc-nrm-ep { feature EP_N5UnderPCFFunction { description "EP_N5 contained under PCFFunction"; } - feature EP_N6UnderDNFunction { - description "EP_N6 contained under DNFunction"; + feature EP_N61UnderAUSFFunction { + description "EP_N61 contained under AUSFFunction"; + } + feature EP_N61UnderAANFFunction { + description "EP_N61 contained under AANFFunction"; + } + feature EP_N62UnderAFFunction { + description "EP_N62 contained under AFFunction"; + } + feature EP_N62UnderAANFFunction { + description "EP_N62 contained under AANFFunction"; + } + feature EP_N63UnderNEFFunction { + description "EP_N63 contained under NEFFunction"; + } + feature EP_N63UnderAANFFunction { + description "EP_N63 contained under AANFFunction"; } feature EP_N6UnderUPFFunction { description "EP_N6 contained under UPFFunction"; @@ -126,8 +153,7 @@ module _3gpp-5gc-nrm-ep { description "EP_N17 contained under AMFFunction"; } feature EP_N17UnderNGEIRFunction { - description - "EP_N17 contained under NGEIRFunction"; + description "EP_N17 contained under NGEIRFunction"; } feature EP_N20UnderAMFFunction { description "EP_N20 contained under AMFFunction"; @@ -141,11 +167,89 @@ module _3gpp-5gc-nrm-ep { feature EP_N22UnderNSSFFunction { description "EP_N22 contained under NSSFFunction"; } - feature EP_NLSUnderAMFFunction { - description "EP_NLS contained under AMFFunction"; + feature EP_NL1UnderAMFFunction { + description "EP_NL1 contained under AMFFunction"; + } + feature EP_NL1UnderLMFFunction { + description "EP_NL1 contained under LMFFunction"; + } + feature EP_NL6UnderGMLCFunction { + description "EP_NL6 contained under GMLCFunction"; + } + feature EP_NL6UnderUDMFunction { + description "EP_NL6 contained under UDMFunction"; + } + feature EP_NL9UnderGMLCFunction { + description "EP_NL9 contained under GMLCFunction"; + } + feature EP_NL9UnderNWDAFFunction { + description "EP_NL9 contained under NWDAFFunction"; + } + feature EP_N34UnderNSSFFunction { + description "EP_N34 contained under NSSFFunction"; + } + feature EP_N34UnderNWDAFFunction { + description "EP_N34 contained under NWDAFFunction"; + } + feature EP_NL2UnderGMLCFunction { + description "EP_NL2 contained under GMLCFunction"; + } + feature EP_NL2UnderAMFFunction { + description "EP_NL2 contained under AMFFunction"; + } + feature EP_N26UnderAMFFunction { + description "EP_N26 contained under AMFFunction"; + } + feature EP_N26UnderMMEFunction { + description "EP_N26 contained under MMEFunction"; + } + feature EP_N89UnderAMFFunction { + description "EP_N89 contained under AMFFunction"; + } + feature EP_N89UnderTSCTSFFunction { + description "EP_N89 contained under TSCTSFFunction"; + } + feature EP_N11mbUnderAMFFunction { + description "EP_N11mb contained under AMFFunction"; + } + feature EP_N11mbUnderMBSMFFunction { + description "EP_N11mb contained under MBSMFFunction"; + } + feature EP_N88UnderSMFFunction { + description "EP_N88 contained under SMFFunction"; } - feature EP_NLSUnderLMFFunction { - description "EP_NLS contained under LMFFunction"; + feature EP_N88UnderEASDFFunction { + description "EP_N88 contained under EASDFFunction"; + } + feature EP_N16mbUnderSMFFunction { + description "EP_N16mb contained under SMFFunction"; + } + feature EP_N16mbUnderMBSMFFunction { + description "EP_N16mb contained under MBSMFFunction"; + } + feature EP_N4mbUnderMBUPFFunction { + description "EP_N4mb contained under MBUPFFunction"; + } + feature EP_N4mbUnderMBSMFFunction { + description "EP_N4mb contained under MBSMFFunction"; + } + feature EP_NL3UnderGMLCFunction { + description "EP_NL3 contained under GMLCFunction"; + } + feature EP_NL5UnderGMLCFunction { + description "EP_NL5 contained under GMLCFunction"; + } + feature EP_NL5UnderNEFFunction { + description "EP_NL5 contained under NEFFunction"; + } + feature EP_NL10UnderGMLCFunction { + description "EP_NL10 contained under GMLCFunction"; + } + feature EP_NL10UnderLMFFunction { + description "EP_NL10 contained under LMFFunction"; + } + feature EP_NL8UnderLMFFunction { + description "EP_NL8 contained under LMFFunction"; } feature EP_RxUnderAFFunction { description "EP_Rx contained under AFFunction"; @@ -175,137 +279,189 @@ module _3gpp-5gc-nrm-ep { description "EP_N60 contained under AMFFunction"; } feature EP_N60UnderNSACFFunction { - description - "EP_N60 contained under NSACFFunction"; + description "EP_N60 contained under NSACFFunction"; } - feature EP_N58UnderNSSAAFFunction { - description - "EP_N58 contained under NSSAAFFunction"; + feature EP_N19mbUnderMBUPFFunction { + description "EP_N19mb contained under MBUPFFunction"; } - feature EP_N58UnderAMFFunction { - description "EP_N58 contained under AMFFunction"; + feature EP_N19mbUnderUPFFunction { + description "EP_N19mb contained under UPFFunction"; } - feature EP_N59UnderNSSAAFFunction { - description - "EP_N59 contained under NSSAAFFunction"; + feature EP_N84UnderTSCTSFFunction { + description "EP_N84 contained under TSCTSFFunction"; } - feature EP_N59UnderUDMFunction { - description "EP_N59 contained under UDMFunction"; + feature EP_N84UnderPCFFunction { + description "EP_N84 contained under PCFFunction"; + } + feature EP_N85UnderTSCTSFFunction { + description "EP_N85 contained under TSCTSFFunction"; + } + feature EP_N85UnderNEFFunction { + description "EP_N85 contained under NEFFunction"; + } + feature EP_N86UnderTSCTSFFunction { + description "EP_N86 contained under TSCTSFFunction"; + } + feature EP_N86UnderAFFunction { + description "EP_N86 contained under AFFunction"; + } + feature EP_N87UnderTSCTSFFunction { + description "EP_N87 contained under TSCTSFFunction"; + } + feature EP_N87UnderUDMFunction { + description "EP_N87 contained under UDMFunction"; + } + feature EP_N96UnderTSCTSFFunction { + description "EP_N96 contained under TSCTSFFunction"; + } + feature EP_N96UnderNRFFunction { + description "EP_N96 contained under NRFFunction"; } - // === EP Groupings === grouping EP_N2Grp { uses eprp3gpp:EP_Common; } + grouping EP_N3Grp { uses eprp3gpp:EP_Common; } + grouping EP_N4Grp { uses eprp3gpp:EP_Common; } + grouping EP_N5Grp { uses eprp3gpp:EP_Common; } + grouping EP_N6Grp { uses eprp3gpp:EP_Common; } + grouping EP_N7Grp { uses eprp3gpp:EP_Common; } + grouping EP_N8Grp { uses eprp3gpp:EP_Common; } + grouping EP_N9Grp { uses eprp3gpp:EP_Common; } + grouping EP_N10Grp { uses eprp3gpp:EP_Common; } + grouping EP_N11Grp { uses eprp3gpp:EP_Common; } + grouping EP_N12Grp { uses eprp3gpp:EP_Common; } + grouping EP_N13Grp { uses eprp3gpp:EP_Common; } + grouping EP_N14Grp { uses eprp3gpp:EP_Common; } + grouping EP_N15Grp { uses eprp3gpp:EP_Common; } + grouping EP_N16Grp { uses eprp3gpp:EP_Common; } + grouping EP_N17Grp { uses eprp3gpp:EP_Common; } + grouping EP_N20Grp { uses eprp3gpp:EP_Common; } + grouping EP_N21Grp { uses eprp3gpp:EP_Common; } + grouping EP_N22Grp { uses eprp3gpp:EP_Common; } + grouping EP_N26Grp { uses eprp3gpp:EP_Common; } + grouping EP_N27Grp { uses eprp3gpp:EP_Common; } + grouping EP_N31Grp { uses eprp3gpp:EP_Common; } + grouping EP_N32Grp { uses eprp3gpp:EP_Common; - list remotePlmnId { + list remotePlmnId { key idx; leaf idx { type uint32;} description "PLMN Identifiers of the remote sepp. - The PLMN Identifier is composed of a Mobile Country Code - (MCC) and a Mobile Network Code (MNC)."; + The PLMN Identifier is composed of a Mobile Country Code + (MCC) and a Mobile Network Code (MNC)."; uses types3gpp:PLMNId; } - leaf remoteSeppAddress { + + leaf remoteSeppAddress { description "The host address of the SEPP."; type inet:host; } - leaf remoteSeppId { + + leaf remoteSeppId { type uint16; } + leaf n32cParas { type string; } + leaf n32fPolicy { type string; } + leaf withIPX { type boolean; } } + grouping EP_S5CGrp { uses eprp3gpp:EP_Common; } + grouping EP_S5UGrp { uses eprp3gpp:EP_Common; } + grouping EP_RxGrp { uses eprp3gpp:EP_Common; } + grouping EP_MAP_SMSCGrp { uses eprp3gpp:EP_Common; } - grouping EP_NLSGrp { + grouping EP_NL1Grp { uses eprp3gpp:EP_Common; } grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } + grouping EP_SBI_IPXGrp { uses eprp3gpp:EP_Common; leaf-list sBIService { @@ -326,13 +482,112 @@ module _3gpp-5gc-nrm-ep { grouping EP_N60Grp { uses eprp3gpp:EP_Common; } + grouping EP_N3mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N19mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N4mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_Nmb9Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Nmb1Grp { + uses eprp3gpp:EP_Common; + } grouping EP_N58Grp { uses eprp3gpp:EP_Common; } grouping EP_N59Grp { uses eprp3gpp:EP_Common; } - + grouping EP_Npc4Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc6Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc7Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL7Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL10Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N96Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_SM14Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N34Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N33Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc8Grp { + uses eprp3gpp:EP_Common; + } + + grouping EP_N84Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N85Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N63Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL5Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL9Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL3Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL6Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL8Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_SM13Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N61Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N62Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N42Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N11mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N88Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N16mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N86Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N87Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N89Grp { + uses eprp3gpp:EP_Common; + } // === Subtree groupings for EPs under 2+ functions === grouping EP_N2Subtree { @@ -463,12 +718,148 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N22Grp; } } } - grouping EP_NLSSubtree { - list EP_NLS { - description "Represents the EP_NLS IOC."; + grouping EP_NL1Subtree { + list EP_NL1 { + description "Represents the EP_NL1 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL1Grp; } + } + } + grouping EP_NL6Subtree { + list EP_NL6 { + description "Represents the EP_NL6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL6Grp; } + } + } + grouping EP_NL9Subtree { + list EP_NL9 { + description "Represents the EP_NL9 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL9Grp; } + } + } + grouping EP_NL2Subtree { + list EP_NL2 { + description "Represents the EP_NL2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL2Grp; } + } + } + grouping EP_NL3Subtree { + list EP_NL3 { + description "Represents the EP_NL3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL3Grp; } + } + } + grouping EP_NL5Subtree { + list EP_NL5 { + description "Represents the EP_NL5 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL5Grp; } + } + } + grouping EP_NL10Subtree { + list EP_NL10 { + description "Represents the EP_NL10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL10Grp; } + } + } + grouping EP_NL8Subtree { + list EP_NL8 { + description "Represents the EP_NL8 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { uses EP_NLSGrp; } + container attributes { uses EP_NL8Grp; } + } + } + grouping EP_N34Subtree { + list EP_N34 { + description "Represents the EP_N34 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N34Grp; } + } + } + grouping EP_N26Subtree { + list EP_N26 { + description "Represents the EP_N26 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N26Grp; } + } + } + grouping EP_N89Subtree { + list EP_N89 { + description "Represents the EP_N89 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N89Grp; } + } + } + grouping EP_N11mbSubtree { + list EP_N11mb { + description "Represents the EP_N11mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N11mbGrp; } + } + } + grouping EP_N61Subtree { + list EP_N61 { + description "Represents the EP_N61 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N61Grp; } + } + } + grouping EP_N62Subtree { + list EP_N62 { + description "Represents the EP_N62 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N62Grp; } + } + } + grouping EP_N63Subtree { + list EP_N63 { + description "Represents the EP_N63 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N63Grp; } + } + } + grouping EP_N88Subtree { + list EP_N88 { + description "Represents the EP_N88 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N88Grp; } + } + } + grouping EP_N16mbSubtree { + list EP_N16mb { + description "Represents the EP_N16mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N16mbGrp; } + } + } + grouping EP_N4mbSubtree { + list EP_N4mb { + description "Represents the EP_N4mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N4mbGrp; } } } grouping EP_RxSubtree { @@ -511,20 +902,52 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N60Grp; } } } - grouping EP_N58Subtree { - list EP_N58 { - description "Represents the EP_N58 IOC."; + grouping EP_N19mbSubtree { + list EP_N19mb { + description "Represents the EP_N19mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { uses EP_N58Grp; } + container attributes { uses EP_N19mbGrp; } } } - grouping EP_N59Subtree { - list EP_N59 { - description "Represents the EP_N59 IOC."; + grouping EP_N84Subtree { + list EP_N84 { + description "Represents the EP_N84 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { uses EP_N59Grp; } + container attributes { uses EP_N84Grp; } + } + } + grouping EP_N85Subtree { + list EP_N85 { + description "Represents the EP_N85 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N85Grp; } + } + } + grouping EP_N86Subtree { + list EP_N86 { + description "Represents the EP_N86 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N86Grp; } + } + } + grouping EP_N87Subtree { + list EP_N87 { + description "Represents the EP_N87 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N87Grp; } + } + } + grouping EP_N96Subtree { + list EP_N96 { + description "Represents the EP_N96 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N96Grp; } } } @@ -537,6 +960,12 @@ module _3gpp-5gc-nrm-ep { uses EP_RxSubtree { if-feature EP_RxUnderAFFunction; } + uses EP_N62Subtree { + if-feature EP_N62UnderAFFunction; + } + uses EP_N86Subtree { + if-feature EP_N86UnderAFFunction; + } } augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { @@ -570,20 +999,14 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Subtree { if-feature EP_N22UnderAMFFunction; } - list EP_N26 { - description "Represents the EP_N26 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N26Grp; } + uses EP_N26Subtree { + if-feature EP_N26UnderAMFFunction; } - uses EP_NLSSubtree { - if-feature EP_NLSUnderAMFFunction; + uses EP_NL1Subtree { + if-feature EP_NL1UnderAMFFunction; } - list EP_NL2 { - description "Represents the EP_NL2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_NL2Grp; } + uses EP_NL2Subtree { + if-feature EP_NL2UnderAMFFunction; } uses EP_N41Subtree { if-feature EP_N41UnderAMFFunction; @@ -591,8 +1014,17 @@ module _3gpp-5gc-nrm-ep { uses EP_N60Subtree { if-feature EP_N60UnderAMFFunction; } - uses EP_N58Subtree { - if-feature EP_N58UnderAMFFunction; + list EP_N42 { + description "Represents the EP_N42 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N42Grp; } + } + uses EP_N89Subtree { + if-feature EP_N89UnderAMFFunction; + } + uses EP_N11mbSubtree { + if-feature EP_N11mbUnderAMFFunction; } } @@ -603,17 +1035,26 @@ module _3gpp-5gc-nrm-ep { uses EP_N13Subtree { if-feature EP_N13UnderAUSFFunction; } - } - - augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { - uses EP_N6Subtree { - if-feature EP_N6UnderDNFunction; + uses EP_N61Subtree { + if-feature EP_N61UnderAUSFFunction; } } augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { - uses EP_NLSSubtree { - if-feature EP_NLSUnderLMFFunction; + uses EP_NL1Subtree { + if-feature EP_NL1UnderLMFFunction; + } + uses EP_NL8Subtree { + if-feature EP_NL8UnderLMFFunction; + } + list EP_NL7 { + description "Represents the EP_NL7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL7Grp; } + } + uses EP_NL10Subtree { + if-feature EP_NL10UnderLMFFunction; } } @@ -639,6 +1080,15 @@ module _3gpp-5gc-nrm-ep { uses top3gpp:Top_Grp; container attributes { uses EP_N27Grp; } } + uses EP_N96Subtree { + if-feature EP_N96UnderNRFFunction; + } + list EP_SM14 { + description "Represents the EP_SM14 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_SM14Grp; } + } } augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { @@ -651,6 +1101,9 @@ module _3gpp-5gc-nrm-ep { uses top3gpp:Top_Grp; container attributes { uses EP_N31Grp; } } + uses EP_N34Subtree { + if-feature EP_N34UnderNSSFFunction; + } } augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { @@ -672,6 +1125,9 @@ module _3gpp-5gc-nrm-ep { uses EP_N28Subtree { if-feature EP_N28UnderPCFFunction; } + uses EP_N84Subtree { + if-feature EP_N84UnderPCFFunction; + } } augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { @@ -726,6 +1182,12 @@ module _3gpp-5gc-nrm-ep { uses EP_N40Subtree { if-feature EP_N40UnderSMFFunction; } + uses EP_N88Subtree { + if-feature EP_N88UnderSMFFunction; + } + uses EP_N16mbSubtree { + if-feature EP_N16mbUnderSMFFunction; + } } augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { @@ -738,8 +1200,11 @@ module _3gpp-5gc-nrm-ep { uses EP_N13Subtree { if-feature EP_N13UnderUDMFunction; } - uses EP_N59Subtree { - if-feature EP_N59UnderUDMFunction; + uses EP_NL6Subtree { + if-feature EP_NL6UnderUDMFunction; + } + uses EP_N87Subtree { + if-feature EP_N87UnderUDMFunction; } } @@ -765,6 +1230,50 @@ module _3gpp-5gc-nrm-ep { uses EP_N6Subtree { if-feature EP_N6UnderUPFFunction; } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderUPFFunction; + } + } + + augment "/me3gpp:ManagedElement/mbupf3gpp:MBUPFFunction" { + list EP_N3mb { + description "Represents the EP_N3mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N3mbGrp; } + } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderMBUPFFunction; + } + uses EP_N4mbSubtree { + if-feature EP_N4mbUnderMBUPFFunction; + } + list EP_Nmb9 { + description "Represents the EP_Nmb9 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Nmb9Grp; } + } + } + + augment "/me3gpp:ManagedElement/mbsmf3gpp:MBSMFFunction" { + list EP_Nmb1 { + description "This IOC represents the Nmb1 interface + between MB-SMF and MBSF, which is defined in + TS 23.247."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Nmb1Grp; } + } + uses EP_N11mbSubtree { + if-feature EP_N11mbUnderMBSMFFunction; + } + uses EP_N16mbSubtree { + if-feature EP_N16mbUnderMBSMFFunction; + } + uses EP_N4mbSubtree { + if-feature EP_N4mbUnderMBSMFFunction; + } } augment "/me3gpp:ManagedElement/chf3gpp:CHFFunction" { @@ -786,11 +1295,154 @@ module _3gpp-5gc-nrm-ep { } augment "/me3gpp:ManagedElement/nssaaf3gpp:NSSAAFFunction" { - uses EP_N58Subtree { - if-feature EP_N58UnderNSSAAFFunction; + list EP_N58 { + description "This IOC represents an end point of N58 interface + between NSSAAF and AMF, which is defined in TS 23.501 [2] and + 33.501 [52]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N58Grp; } + } + list EP_N59 { + description "This IOC represents an end point of N59 interface + between NSSAAF and UDM, which is defined in TS 23.501 [2] and + 33.501 [52]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N59Grp; } + } + } + + augment "/me3gpp:ManagedElement/ddnmf3gpp:DDNMFFunction" { + list EP_Npc4 { + description "This IOC represents the Npc4 interface between the UDM + and 5G DDNMF, which is defined in 3GPP TS 23.304 [73]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc4Grp; } + } + + list EP_Npc6 { + description "This IOC represents the Npc6 interface between the 5G DDNMF + in the HPLMN and the 5G DDNMF in a Local PLMN (5G ProSe Direct Discovery) + , which is defined in TS 23.304 [73]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc6Grp; } + } + + list EP_Npc7 { + description "This IOC represents the Npc7 interface between the 5G DDNMF + in the HPLMN and the 5G DDNMF in the VPLMN, which is defined in + TS 23.304 [73]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc7Grp; } } - uses EP_N59Subtree { - if-feature EP_N59UnderNSSAAFFunction; + + list EP_Npc8 { + description "This IOC represents the Npc8 interface between the PCF and 5 + G DDNMF, which is defined in 3GPP TS 23.304 [73]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc8Grp; } + } + } + + augment "/me3gpp:ManagedElement/tsctsf3gpp:TSCTSFFunction" { + uses EP_N84Subtree { + if-feature EP_N84UnderTSCTSFFunction; + } + uses EP_N85Subtree { + if-feature EP_N85UnderTSCTSFFunction; + } + uses EP_N86Subtree { + if-feature EP_N86UnderTSCTSFFunction; + } + uses EP_N87Subtree { + if-feature EP_N87UnderTSCTSFFunction; + } + uses EP_N89Subtree { + if-feature EP_N89UnderTSCTSFFunction; + } + uses EP_N96Subtree { + if-feature EP_N96UnderTSCTSFFunction; + } + } + + augment "/me3gpp:ManagedElement/nef3gpp:NEFFunction" { + list EP_N33 { + description "Represents the EP_N33 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N33Grp; } + } + uses EP_N85Subtree { + if-feature EP_N85UnderNEFFunction; + } + uses EP_N63Subtree { + if-feature EP_N63UnderNEFFunction; + } + uses EP_NL5Subtree { + if-feature EP_NL5UnderNEFFunction; + } + } + + augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderNWDAFFunction; + } + uses EP_N34Subtree { + if-feature EP_N34UnderNWDAFFunction; + } + } + + augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderGMLCFunction; + } + uses EP_NL2Subtree { + if-feature EP_NL2UnderGMLCFunction; + } + uses EP_NL3Subtree { + if-feature EP_NL3UnderGMLCFunction; + } + uses EP_NL5Subtree { + if-feature EP_NL5UnderGMLCFunction; + } + uses EP_NL6Subtree { + if-feature EP_NL6UnderGMLCFunction; + } + uses EP_NL10Subtree { + if-feature EP_NL10UnderGMLCFunction; + } + } + + augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" { + list EP_SM13 { + description "This IOC represents the SM13 interface between MNPF + and SCP, and it is defined in TS 23.540 [100]."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_SM13Grp; } + } + } + + augment "/me3gpp:ManagedElement/aanf3gpp:AANFFunction" { + uses EP_N61Subtree { + if-feature EP_N61UnderAANFFunction; + } + uses EP_N62Subtree { + if-feature EP_N62UnderAANFFunction; + } + uses EP_N63Subtree { + if-feature EP_N63UnderAANFFunction; + } + } + + augment "/me3gpp:ManagedElement/easdf3gpp:EASDFFunction" { + uses EP_N88Subtree { + if-feature EP_N88UnderEASDFFunction; } } } diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang index b44dd2119874ace88e19e1e485c92999f43625ed..59c3738640826a12aa878e1f9cbc4f3f247ff5f0 100644 --- a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -13,109 +13,111 @@ module _3gpp-5gc-nrm-gmlcfunction { 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, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2025-07-25 { reference CR-1558 ; } - revision 2025-03-25 { reference CR-1489 ; } - revision 2025-03-25 { + revision 2026-05-19 { reference "CR-1702 CR-1703" ; } // rel-19, 20 common + revision 2025-07-25 { reference CR-1558 ; } + 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)."; + 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 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."; + } + 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 { + grouping GMLCFunctionGrp { description "GMLC Function IOC grouping."; uses mf3gpp:ManagedFunctionGrp; - list pLMNInfoList { - description "It defines the PLMN(s) of a Network Function. "; - key "idx"; - leaf idx { type uint32; } - min-elements 1; - uses types3gpp:PLMNId; - } - 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; + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function. "; + key "idx"; leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:ManagedNFProfileGrp; - } - list commModelList { - description "The attribute specifies a list of commModel which is - defined as a datatype (see clause 5.3.69). It can be used by NF - and NF services to interact with each other in 5G Core network "; - reference "see TS 23.501."; - key "groupId"; - min-elements 1; - uses types5g3gpp:CommModel; - } - list gmlcInfo { - description "This attribute represents information of an GMLC NF - Instance."; - key "idx"; - leaf idx { type uint32; } - max-elements 1; - uses GmlcInfoGrp; - } - } + uses types3gpp:PLMNId; + } + 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; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + } + list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; + key "groupId"; + min-elements 1; + uses types5g3gpp:CommModel; + } + list gmlcInfo { + description "This attribute represents information of an GMLC NF + Instance."; + 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"; diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index d950cb9c9a9e7ec221f7f2b46dab79ed9155b20e..2d6d6caed02d3880994603f3317258f8e8217f24 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -17,6 +17,7 @@ module _3gpp-5gc-nrm-managed-nfprofile { TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-05-25 { reference CR-1702 ; } revision 2026-03-25 { reference CR-1694 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-07-25 { reference "initial revision"; } @@ -164,7 +165,13 @@ grouping ManagedNFProfileGrp { leaf idx { type uint32; } uses nfs3gpp:PlmnSnssai; } - + leaf priority { + description "Priority (relative weight) of the NF instance, in the + range of 0-65535, compared to other NF instances of the same type, + to be used for NF selection; if capacity is also present in the + nfServiceList parameters, those will have precedence over this value."; + type uint16; + } list allowedSNPNs { description "SNPNs allowed to access the NF instance. The absence of this attribute in the NF profile indicates that no SNPN, @@ -318,18 +325,16 @@ grouping ManagedNFProfileGrp { of a NF instance."; type string; } - leaf-list lcHSupportInd { + leaf lcHSupportInd { description "This parameter indicates whether the NF supports or does not support Load Control based on LCI Header."; reference "clause 6.3 of 3gpp TS 29.500"; - max-elements 1; type boolean; } - leaf-list olcHSupportInd { + leaf olcHSupportInd { description "This parameter indicates whether the NF supports or does not support Overload Control based on OCI Header ."; reference "clause 6.4 of 3gpp TS 29.500"; - max-elements 1; type boolean; } leaf-list nfSetRecoveryTimeList { @@ -364,7 +369,7 @@ grouping ManagedNFProfileGrp { Server. It is an array of FQDN."; type string; } - leaf-list interPlmnFqdn { + leaf interPlmnFqdn { description "If the NF needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter-PLMN routing is specified."; @@ -374,7 +379,7 @@ grouping ManagedNFProfileGrp { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; - key serviceInstanceID; + key serviceInstanceId; min-elements 1; uses nfs3gpp:NFServiceGrp; } diff --git a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..b4f51507e202d84ccccd2f128934ff5537666baa --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang @@ -0,0 +1,167 @@ +module _3gpp-5gc-nrm-mbupffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-mbupffunction; + prefix mbupf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the UDR function in 5GC. For more information + about the UDR, see 3GPP TS 23.501. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-26 { reference "CR-1702 CR-1703" ; } // common in r19, r20 + + grouping MbUpfInfoGrp { + description "represents the data type MnpfInfoGrp."; + + list sNssaiMbUpfInfoList { + description "This attribute represents the list of parameters supported + by the MB-UPF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses upf3gpp:SnssaiUpfInfoItemGrp; + } + + leaf-list mbSmfServingArea { + type string; + description "This attribute represents the MB-SMF service area(s) the + MB-UPF can serve. + If not provided, the MB-UPF can serve any MB-SMF service area."; + } + + list interfaceMbUpfInfoList { + description "This attribute represents the list of User Plane interfaces + configured on the MB-UPF. When this IE is provided in the NF Discovery + response, the NF Service Consumer (e.g. MB-SMF) may use this information + for MB-UPF selection."; + key idx; + leaf idx { type uint32; } + uses upf3gpp:InterfaceUpfInfoItemGrp; + } + + list taiList { + description "This attribute represents the list of TAIs the MB-UPF can + serve. + + The absence of this attribute and the taiRangeList attribute indicates + that the MB-UPF can serve the whole MB-SMF service area defined by the + MbSmfServingArea attribute."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "This attribute represents the range of TAIs the MB-UPF can + serve. + + The absence of this attribute and the taiList attribute indicates that + the MB-UPF can serve the whole MB-SMF service area defined by the + MbSmfServingArea attribute."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + leaf priority { + type uint16; + description "This attribute represents priority (relative to other NFs + of the same type) in the range of 0-65535, to be used for NF selection + for a service request matching the attributes of the MbUpfInfo; lower + values indicate a higher priority. + + See the precedence rules in the description of the priority attribute + in NFProfile, if Priority is also present in NFProfile. + + The NRF may overwrite the received priority value when exposing an + NFProfile with the Nnrf_NFDiscovery service."; + } + + leaf supportedPfcpFeatures { + type string; + description "Supported Packet Forwarding Control Protocol (PFCP) Features. + A string used to indicate the PFCP features supported by the UPF, + which encodes the 'UP Function Features' as specified in + Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal + representation. + + Each character in the string shall take a value of '0' to '9', 'a' + to 'f' or 'A' to 'F' and each two characters shall represent one octet + of 'UP Function Features' (starting from Octet 5, to higher octets). + For each two characters representing one octet, the first character + representing the 4 most significant bits of the octet and the second + character the 4 least significant bits of the octet. + + The supported PFCP features shall be provisioned in addition and be + consistent with the existing UPF features (atsssCapability, ueIpAddrInd, + redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', + then the UEIP flag shall also be set to '1' in the supported PFCP + features."; + } + } + + grouping MBUPFFunctionGrp { + description "Representse the MBUPFFunction IOC"; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "List of PLMN Identifiers. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + Mobile Network Code (MNC)."; + + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF (See TS 23.501)"; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can be used by NF and + NF services to interact with each other in 5G Core network "; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list mbUpfInfo { + description "Represents information of an MNPF NF Instance"; + key idx; + leaf idx { type uint32; } + max-elements 1; + uses MbUpfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list MBUPFFunction { + description "This IOC represents the MB-UPF function defined in + TS 23.501 and TS 23.247"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MBUPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-mfaffunction.yang b/yang-models/_3gpp-5gc-nrm-mfaffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..39291ca4a3869394055293abc3babc36f6f74a41 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-mfaffunction.yang @@ -0,0 +1,136 @@ +module _3gpp-5gc-nrm-mfaffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-mfaffunction; + prefix mfaf3gpp; + + 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; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the MFAF function in 5GC. + For more information about the MFAF, see TS 23.501. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, + CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping MfafInfoGrp { + description "This data type represents the Specific + data for the MFAF. + (See clause 6.1.6.2.75 TS 29.510)."; + + leaf-list servingNfTypeList { + //optional support + type types3gpp:NfType; + description "This attribute represents a List of + NF type(s) served by MFAF NF. The absence of + this attribute indicates that the MFAF can be + selected for any NF type."; + } + + leaf-list servingNfSetIdList { + //optional support + type string; + description "This attribute represents a List of + NF Set Id(s) served by MFAF NF. The absence of + this attribute indicates that the MFAF can be + selected for any NF Set Id."; + } + + list taiList { + //optional support + description "This attribute represents a List of + TAIs the MFAF can serve. It may contain one or + more non-3GPP access TAIs. The absence of both + this attribute and the taiRangeList attribute + indicates that the MFAF can be selected for any + TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + //optional support + description "This attribute represents the range + of TAIs the MFAF can serve. It may contain one + or more non-3GPP access TAI ranges. The absence + of both this attribute and the taiList attribute + indicates that the MFAF can be selected for any + TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + } + + grouping MFAFFunctionGrp { + description "Represents the MFAFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network + Function."; + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF"; + reference " (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list mfafInfo { + //optional support + description "This attribute represents information + of an MFAF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses MfafInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list MFAFFunction { + description "5G Core MFAF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MFAFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index d9ad6a5b74092b07a82053edc37ec545ad718838..22fcf1d8fc44ed7f19dd8f3f77ce4d088d33e11e 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -17,6 +17,7 @@ module _3gpp-5gc-nrm-nfservice { TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-05-25 { reference CR-1702 ; } revision 2026-03-25 { reference CR-1694 ; } revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } @@ -27,7 +28,7 @@ module _3gpp-5gc-nrm-nfservice { grouping NFServiceGrp { description "This data type represents the NF Service defined in TS 29.510 [23]."; - leaf serviceInstanceID { + leaf serviceInstanceId { description "Unique ID of the service instance within a given NF Instance."; mandatory true; @@ -50,10 +51,10 @@ module _3gpp-5gc-nrm-nfservice { uses NFServiceVersion; } - leaf scheme { + leaf schema { description "URI scheme (e.g. 'http', 'https')."; mandatory true; - type UriScheme; + type UriSchema; } leaf nfServiceStatus { @@ -667,7 +668,7 @@ module _3gpp-5gc-nrm-nfservice { } } - typedef UriScheme { + typedef UriSchema { type enumeration { enum HTTP; enum HTTPS; diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 5aa4ccb46f95c79cd12dcf7a48652e64ef6eac72..145066d44b50aba2fe16eb831d31a0d10069b922 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -33,6 +33,7 @@ module _3gpp-5gc-nrm-nrffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-25 { reference CR-1702 ; } revision 2026-03-25 { reference CR-1694 ; } revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } @@ -147,7 +148,7 @@ module _3gpp-5gc-nrm-nrffunction { } grouping HssInfoGrp { description " Information of an HSS NF Instance"; - leaf groupID{ + 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."; @@ -587,8 +588,9 @@ module _3gpp-5gc-nrm-nrffunction { } 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. + 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; } diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index c9500400d331502f18368068d32334994e9c0f13..920cb188bc240de738ce81d94c0901a5b1cca8d7 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -17,10 +17,11 @@ module _3gpp-5gc-nrm-nwdaffunction { 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 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-20 { reference CR-1702 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } @@ -32,31 +33,6 @@ module _3gpp-5gc-nrm-nwdaffunction { revision 2019-05-15 {reference "initial revision"; } - typedef NwdafEvent { - description "The detailed ENUM value for NwdafEvent see the - Table 5.1.6.3.4-1 in TS 29.520"; - type union { - type enumeration { - enum SLICE_LOAD_LEVEL; - enum NETWORK_PERFORMANCE; - enum NF_LOAD; - enum SERVICE_EXPERIENCE; - enum UE_MOBILITY; - enum UE_COMMUNICATION; - enum QOS_SUSTAINABILITY; - enum ABNORMAL_BEHAVIOUR; - enum USER_DATA_CONGESTION; - enum NSI_LOAD_LEVEL; - enum DN_PERFORMANCE; - enum DISPERSION; - enum RED_TRANS_EXP; - enum WLAN_PERFORMANCE; - enum SM_CONGESTION; - } - type string; - } - } - grouping NwdafCapabilityGrp { description "This data type represents the capability supported by the NWDAF."; @@ -91,7 +67,7 @@ module _3gpp-5gc-nrm-nwdaffunction { reference "TS 29.510"; leaf-list mlAnalyticsIds { - type NwdafEvent; + type types5g3gpp:NwdafEvent; ordered-by user; description "This attribute represents the Analytic functionalities (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF @@ -172,7 +148,7 @@ module _3gpp-5gc-nrm-nwdaffunction { reference "TS 29.510"; leaf-list nwdafEvents { - type NwdafEvent; + type types5g3gpp:NwdafEvent; ordered-by user; description "This attribute represents the Analytic functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index d62b1cfacb2b7cbe9c5e95da773ab144628af55f..5ef47273853cd64178c2c46816082c2f98988811 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -14,10 +14,11 @@ module _3gpp-5gc-nrm-smffunction { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "SMFFunction derived from basic ManagedFunction. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-25 { reference CR-1702 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -87,7 +88,7 @@ module _3gpp-5gc-nrm-smffunction { those will have precedence over this value "; type uint16; } - leaf-list vsmfSupportInd { + leaf vsmfSupportInd { description "Used by an SMF to explicitly indicate the support of V-SMF capability and its preference to be selected as V-SMF. When present it indicate whether the V-SMF capability is supported @@ -96,7 +97,6 @@ module _3gpp-5gc-nrm-smffunction { - false: V-SMF capability not supported by the SMF. When absent the V-SMF capability support of the SMF is not specified."; type boolean; - } leaf pgwFqdnList { description "When present, this attribute provides additional FQDNs @@ -105,7 +105,7 @@ module _3gpp-5gc-nrm-smffunction { is present."; type string; } - leaf-list ismfSupportInd { + leaf ismfSupportInd { description "This attribute may be used by an SMF to explicitly indicate the support of I-SMF capability and its preference to be selected as I-SMF. When present, this attribute shall indicate @@ -114,7 +114,6 @@ module _3gpp-5gc-nrm-smffunction { - FALSE: I-SMF capability not supported by the SMF. Absence of this attribute indicates the I-SMF capability support of the SMF is not specified."; - max-elements 1; type boolean; } leaf-list smfOnboardingCapability { @@ -127,7 +126,7 @@ module _3gpp-5gc-nrm-smffunction { type boolean; max-elements 1; } - leaf-list smfUPRPCapability { + leaf smfUPRPCapability { description "This attribute IE indicates the SMF supports User Plane Remote Provisioning (UPRP) capability. This is used for the case of Onboarding of UEs for SNPNs , diff --git a/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang b/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..14831cbc46bd49fa3a67792cd7d3efdeb1e4c59e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang @@ -0,0 +1,190 @@ +module _3gpp-5gc-nrm-tsctsffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-tsctsffunction; + prefix tsctsf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the TSCTSF function in + 5GC. For more information about the TSCTSF, see + TS 23.501. + Copyright 2026, 3GPP Organizational Partners (ARIB, + ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference CR-1702; } + + grouping DnnTsctsfInfoItemGrp { + description "This data type represents set of + parameters supported by TSCTSF for a given DNN. + (See clause 6.1.6.2.93 TS 29.510)."; + + leaf dnn { + type string; + mandatory true; + description "It represents supported DNN or + Wildcard DNN if the TSCTSF supports all DNNs + for the related S-NSSAI. The DNN shall contain + the Network Identifier and it may additionally + contain an Operator Identifier. If the Operator + Identifier is not included, the DNN is supported + for all the PLMNs in the plmnList of the NF + Profile."; + } + } + + grouping SnssaiTsctsfInfoItemGrp { + description "This data type represents set of + parameters supported by TSCTSF for a given + S-NSSAI."; + + list sNssai { + description "This attribute represents a S-NSSAI."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:ExtSnssaiGrp; + } + + list dnnInfoList { + description "It represents list of parameters + supported by the TSCTSF per DNN."; + min-elements 1; + key dnn; + uses DnnTsctsfInfoItemGrp; + } + } + + grouping TsctsfInfoGrp { + description "This data type represents the Specific + data for the TSCTSF. + (See clause 6.1.6.2.91 TS 29.510)."; + + list sNssaiInfoList { + //optional support + description "This attribute represents the + S-NSSAIs and DNNs supported by the TSCTSF."; + key idx; + leaf idx { type uint32; } + uses SnssaiTsctsfInfoItemGrp; + } + + list externalGroupIdentifiersRanges { + //optional support + description "This attribute represents the ranges + of External Group Identifiers that can be served + by the TSCTSF. The absence of this IE indicates + that the TSCTSF can serve any external group + managed by the PLMN (or SNPN) of the TSCTSF + instance."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + + list supiRanges { + //optional support + description "This attribute represents the ranges + of SUPIs that can be served by the TSCTSF + instance."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SupiRangeGrp; + } + + list gpsiRanges { + //optional support + description "This attribute represents the ranges + of GPSIs that can be served by the TSCTSF + instance."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + + list internalGroupIdentifiersRanges { + //optional support + description "This attribute represents the ranges + of Internal Group Identifiers that can be served + by the TSCTSF instance. The absence of this IE + indicates that the TSCTSF can serve any internal + group managed by the PLMN (or SNPN) of the + TSCTSF instance."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:InternalGroupIdRangeGrp; + } + } + + grouping TSCTSFFunctionGrp { + description "Represents the TSCTSFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network + Function."; + key "mcc mnc sd sst"; + min-elements 1; + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + description "Profile definition of a Managed NF + (See TS 23.501)."; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list commModelList { + min-elements 1; + key "groupId"; + description "Specifies a list of commModel. It can + be used by NF and NF services to interact with + each other in 5G Core network."; + reference "3GPP TS 23.501"; + uses types5g3gpp:CommModel; + } + + list tsctsfInfo { + //optional support + description "This attribute represents information + of a TSCTSF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses TsctsfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list TSCTSFFunction { + description "5G Core TSCTSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses TSCTSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index ce54974048ec977d9628a8083b630653ed925a60..37b38e512bcd5caa677b026ebf195ca26a703530 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -15,10 +15,11 @@ module _3gpp-5gc-nrm-upffunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "UPFFunction derived from basic ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-25 { reference CR-1702 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2024-05-24 { reference CR-1273 ; } @@ -163,6 +164,11 @@ module _3gpp-5gc-nrm-upffunction { true: supported false: not supported"; } + + leaf dnnUpfInfoListId { + type uint32; + description "Identifier of the DNN UPF Info List."; + } } typedef UPInterfaceType { diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index c7f015edad2f513ac86da131e667e372e6d401e9..8574bf4f3dfeb1dea4b3da3fcfdaf567fa0fdec4 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -768,6 +768,46 @@ module _3gpp-common-yang-types { enum UDSF; enum BSF; enum CHF; + enum NWDAF; + enum PCSCF; + enum CBCF; + enum HSS; + enum UCMF; + enum SOR_AF; + enum SPAF; + enum MME; + enum SCSAS; + enum SCEF; + enum SCP; + enum NSSAAF; + enum ICSCF; + enum SCSCF; + enum DRA; + enum IMS_AS; + enum AANF; + enum 5G_DDNMF; + enum NSACF; + enum MFAF; + enum EASDF; + enum DCCF; + enum MB_SMF; + enum TSCTSF; + enum ADRF; + enum GBA_BSF; + enum CEF; + enum MB_UPF; + enum NSWOF; + enum PKMF; + enum MNPF; + enum SMS_GMSC; + enum SMS_IWMSC; + enum MBSF; + enum MBSTF; + enum PANF; + enum TNGF; + enum W_AGF; + enum TWIF; + enum TSN_AF; } } diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index 629b5dee59e84cc154718358e36c1b37cb41a486..0dc2704029cf079f9e0a6da00fbd27d8b71dab5f 100644 --- a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -9,31 +9,35 @@ module _3gpp-nr-nrm-ecmappingrule { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the unified mapping rule input to support Energy Cost Index Mapping when Energy Cost Reporting. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 + revision 2026-05-19 { reference "CR-1702 CR-1703" ; } // common for R19, R20 + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } revision 2024-08-12 { reference "CR-1336 CR-1337"; } grouping NRECMappingRuleGrp { description "Represents the unified mapping rule to support Energy Cost Mapping when Energy Cost Reporting is supported. Can be name-contained by SubNetwork or ManagedElement. It applies to all ManagedEntity contained by the parent."; - leaf eCMRInputMinValue { - type uint8; + leaf ecMRInputMinimumValue { + type uint32; + mandatory true; description "The minimum value of to be applied for mapping from this attribute to the energy cost."; } - leaf eCMRInputMaxValue { - type uint8; + leaf ecMRInputMaximumValue { + type uint32; + mandatory true; description "The maximum value of to be applied for mapping from this attribute to the energy cost."; } - leaf eCTimeInterval { - type uint8; + leaf ecTimeInterval { + type uint32; + mandatory true; description "Time interval (in seconds) that should be applied for collecting values of mapping rule attribute to be used for computing the energy cost."; diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index e2940624d4f11b192580384aeb0aee56b4edde12..0a029c4b7ba88b1c9d8785678c960cbd063971fd 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -16,10 +16,11 @@ module _3gpp-nr-nrm-gnbcucpfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-04-25 { reference "CR-1702" ; } revision 2025-05-25 { reference "CR-1527" ; } revision 2025-05-07 { reference "CR-1548"; } revision 2025-03-25 { reference "CR-1509"; } @@ -255,6 +256,13 @@ module _3gpp-nr-nrm-gnbcucpfunction { enabled or disabled."; } + leaf dLTMControl { + type boolean; + default false; + description "Determines whether the LTM cell switch function is enabled + or disabled."; + } + list qceIdMappingInfoList { description "List of the mapping relationship between QoE collection entity identity, PLMN where QoE collection entity resides, and the IP address of @@ -292,12 +300,6 @@ module _3gpp-nr-nrm-gnbcucpfunction { uses types5g3gpp:MappedCellIdInfoGrp; } - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction - supports (is associated to)."; - } - leaf isOnboardSatellite { type boolean; default false; @@ -313,6 +315,12 @@ module _3gpp-nr-nrm-gnbcucpfunction { leading digits '0' to complete a 5-digit length."; } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUCPFunction + supports (is associated to)."; + } + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; description "DN of the Dynamic5QISet that the GNBCUCPFunction supports @@ -386,7 +394,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { grouping GeNBIdGrp { description "Represents the properties of a global eNB ID (GeNBId)."; - uses types3gpp:PLMNId; + uses types3gpp:PLMNId; // missing list wrapper, omitted due to BC leaf enbId { description "It identifies an eNB within a PLMN. The eNB ID is part of diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 4238ccf3b8f8e0ec632bdd74797bccfbeb87e224..531c338b40fd0e1c4294521ac7a386168c85cd20 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -15,10 +15,11 @@ module _3gpp-nr-nrm-gnbcuupfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBCUUPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-04-25 { reference CR-1703; } revision 2024-11-01 { reference CR-1405 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -79,6 +80,23 @@ module _3gpp-nr-nrm-gnbcuupfunction { key "mcc mnc sd sst"; uses types5g3gpp:PLMNInfo; } + + leaf isOnboardSatellite { + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the function is + on board the satellite."; + } + leaf onboardSatelliteId { + type string; + config false; + yext3gpp:inVariant; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index a6b8fd775c89e35c0cffa0bc814e1cf206bc7fb6..8b2c751edb2bd9c24853db51cb52d4e68ea9437e 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,7 +19,8 @@ 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 2026-05-19 { reference CR-1702 ; } + revision 2025-11-07 { reference "CR-1640 CR-1643"; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } @@ -340,6 +341,23 @@ module _3gpp-nr-nrm-nrcelldu { units MHz; } + leaf-list uECellBarredAccess { + type enumeration { + enum REDCAP_1RX; + enum REDCAP_2RX; + enum EREDCAP_1RX; + enum EREDCAP_2RX; + } + description "Represents whether the NR Cell bars access to a UE type + (e.g. RedCap UE). + If present, a value indicates the UE type is not allowed access to + the cell. + allowedValues: + - REDCAP_1RX and REDCAP_2RX for RedCap UE(s), + - EREDCAP_1RX and EREDCAP_2RX for eRedCap UE(s)."; + reference "TS 38.331"; + } + leaf-list nRSectorCarrierRef { description "This attribute contains the DN of the referenced NRSectorCarrier."; @@ -356,7 +374,7 @@ module _3gpp-nr-nrm-nrcelldu { type types3gpp:DistinguishedName; } - leaf-list nRFrequencyRef { + leaf nRFrequencyRef { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; } diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang index 67d7643268f4e03b2019c98ed20d0373fed160f3..b89915d77bd19b0aa0797c7df5766e1d0fc64c16 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -12,10 +12,11 @@ module _3gpp-nr-nrm-nrcellrelation { organization "3GPP SA5"; description "Defines the YANG mapping of the NRCellRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-19 { reference CR-1702 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2021-01-25 { reference CR-0454 ; } @@ -127,6 +128,30 @@ module _3gpp-nr-nrm-nrcellrelation { changed to energy saving state."; type EnergySavingCoverage; } + + leaf isENDCAllowed { + type boolean; + mandatory true; + description "This indicates if EN-DC is allowed or prohibited. + If TRUE, the target cell is allowed to be used for EN-DC. The target + cell is referenced by the NRCellRelation that contains this isENDCAllowed. + If FALSE, EN-DC shall not be allowed."; + } + + leaf isMLBAllowed { + type boolean; + mandatory true; + description "This indicates if mobility load balancing is allowed or + prohibited from source cell to target cell. + If TRUE, load balancing is allowed from source cell to target cell. + The source cell is identified by the name-containing NRCellCU of the + NRCellRelation that contains the isMLBAllowed. The target cell is + referenced by the NRCellRelation that contains this isLBAllowed. In + case of isHOAllowed is FALSE, mobility load balancing is prohibited by + handover from source cell to target cell. + If FALSE, load balancing shall be prohibited from source cell to target + cell."; + } } augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 9a80eddf1022678bc158639eda9662cf4133ea64..b7b634a2566c7a8af0b534fde6f1c3520f4325b1 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-nrfreqrelation { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-19 { reference CR-1702; } revision 2025-11-07 { reference CR-1640; } revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } @@ -205,7 +206,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; diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 39f3795a7ad1f056651ca1ed06f81859e4488505..8a13796cc0491de2379e97a38cc714203de0a21e 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -13,11 +13,12 @@ module _3gpp-nr-nrm-nrfrequency { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 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-04-25 { reference "CR-1526 CR-1527"; } // common for r18, r19 + revision 2026-05-19 { reference "CR-1702 CR-1703"; } // common for r19, r20 + revision 2025-04-25 { reference "CR-1526 CR-1527"; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial version"; } @@ -32,7 +33,7 @@ module _3gpp-nr-nrm-nrfrequency { type uint32 { range "0.. 3279165"; } } - leaf ssBSubCarrierSpacing { + leaf ssbSubCarrierSpacing { description "Sub-carrier spacing of the SSB. Note that the allowed values of SSB used for representing data, by e.g. a BWP, are: 15, 30, 60 and 120 in units of kHz."; diff --git a/yang-models/_3gpp-nr-nrm-rimrsset.yang b/yang-models/_3gpp-nr-nrm-rimrsset.yang index 69caf25eaaa639fd3a8d3571450cbe2b17d05eb8..b04141ccd81a35f03f5ff3374750a21bd2d2e2e7 100755 --- a/yang-models/_3gpp-nr-nrm-rimrsset.yang +++ b/yang-models/_3gpp-nr-nrm-rimrsset.yang @@ -11,10 +11,11 @@ module _3gpp-nr-nrm-rimrsset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the RimRSSet Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-19 { reference "CR-1702 CR-1703"; } // rel-19, 20 common revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-28 { reference CR-0607 ; } @@ -59,11 +60,15 @@ module _3gpp-nr-nrm-rimrsset { network (N_f^RIM ) (see 38.211 subclause 7.4.1.6)."; } - leaf-list rimRSCommonCarrierReferencePoint { - type int32 ; + leaf rimRSCommonCarrierReferencePoint { + type int32 { range 0..3279165 ; } + mandatory true; + description "This attribute is used to configure the common reference + point for RIM RS. Where represents the frequency-location of point A + expressed as in ARFCN. See 3GPP TS 38.211 subclause 4.4.4.2"; } - leaf rimRSStartingFrequencyOffsetIdList { + leaf-list rimRSStartingFrequencyOffsetIdList { type uint32 { range 0..550; } @@ -152,7 +157,7 @@ module _3gpp-nr-nrm-rimrsset { (see 38.211 subclause 7.4.1.6)"; } - leaf RIMRSScrambleTimerMultiplier { + leaf rIMRSScrambleTimerMultiplier { type uint32 { range 0..2147483647; } @@ -163,7 +168,7 @@ module _3gpp-nr-nrm-rimrsset { allowedValues: 0,1...2^31-1"; } - leaf RIMRSScrambleTimerOffset { + leaf rIMRSScrambleTimerOffset { type uint32 { range 0..2147483647; }