diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 40af813a2cbd40a1fba2f1b041239388cbc88f01..9060eba0b83f50f5e7cea68861b0b02f5787f617 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -6,17 +6,18 @@ module _3gpp-5g-common-yang-types { import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "The model defines common types for 5G networks and network slicing. - 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-"; } - revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 + revision 2026-01-25 { reference "CR-0060"; } revision 2025-11-07 { reference CR-1640 ; } revision 2025-11-02 { reference CR-1658 ; } revision 2025-07-25 { reference CR-1558 ; } @@ -30,6 +31,92 @@ 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 VflInfoGrp { + description "Represents the data type VflInfo"; + + leaf-list vflAnalyticsIds { + min-elements 1; + type NwdafEvent; + description "This attribute indicates the Analytics Id(s) (identified by z + nwdafEvent defined in TS 29.520) for which VFL is supported. + The included Analytics Id(s) shall have the same attribute values, + e.g. they shall share the same vflCapabilityType."; + } + + leaf vflCapabilityType { + type enumeration { + enum VFL_SERVER; + enum VFL_CLIENT; + enum VFL_SERVER_AND_CLIENT; + } + mandatory true; + description "This attribute indicates the type of the supported VFL + capability as specified in clause 5.2 of 3GPP TS 23.288."; + } + leaf vflClientAggrCap { + type boolean; + yext3gpp:initial-value false; + description "This attribute indicates whether a VFL client supports + aggregating the intermediate results of other VFL clients. + This attribute shall be present if aggregating the intermediate results + of other VFL clients is supported and the vflCapabilityType is set + to 'VFL_CLIENT' or 'VFL_SERVER_AND_CLIENT'."; + } + + list vflTimeInterval { + key idx ; + leaf idx { type uint32; } + description "This attribute indicate the Time interval supporting VFL as + specified in clause 5.2 of 3GPP TS 23.288. + This attribute shall be present if the vflCapabilityType attribute is + present."; + uses types3gpp:TimeWindowGrp; + } + + leaf vflInterInfo { + type string; + description "This attribute indicate the VFL interoperability indicator. + This attribute shall be present if the NWDAF or AF supports the VFL + interoperability for the provided Analytics Id(s). If none are provided + the NWDAF is not allowed to perform the VFL operation."; + } + + leaf-list featureId { + type string; + description "This attribute indicate the different feature information + supported by the NWDAF or AF for the provided Analytics Id(s). Only + the VFL clients and the VFL server sharing the same VFL interoperability + indicator can understand the content of feature ID(s). + This attribute shall be present if the vflCapabilityType attribute is + present."; + } + } + 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..c2350e90245dd4e949cb3bf6433f4b7baece4e27 --- /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-26 { reference CR-1703; } + + grouping AanfInfoGrp { + description "This data type represents the Specific + data for the AAnF."; + reference "See clause 6.1.6.2.73 TS 29.510)."; + + leaf-list routingIndicators { + description "It represents list of Routing Indicator + information that allows to route network + signalling with SUCI (see TS 23.003) to the + AAnF instance. If not provided, the AAnF can + serve any Routing Indicator."; + type string { + pattern '[0-9]{1,4}'; + } + min-elements 1; + } + } + + 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."; + 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..db82f1dcce640f34d518cb5d8986436e01f37fac 100755 --- a/yang-models/_3gpp-5gc-nrm-affunction.yang +++ b/yang-models/_3gpp-5gc-nrm-affunction.yang @@ -6,24 +6,143 @@ 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-20 { reference CR-1703 ; } 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)."; + } + + list taiList { + description "Indicates the list of TAIs the trusted AF can serve."; + key idx; + min-elements 1; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "Indicates the range of TAIs the trusted AF can serve."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + list vflInfo { + description ""; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:VflInfoGrp; + } + } + 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..fb43c5f62a480b71ddb483eeb119764106d818a0 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-1703 ; } 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 @@ -455,6 +456,23 @@ module _3gpp-5gc-nrm-amffunction { NR RedCap UE; - TRUE: AMF supports High Latency communication e.g. for NR RedCap UE;"; } + + leaf-list amfEvents { + type string; + min-elements 1; + description "This attribute indicates AMF event types supported + by the AMF, see TS 29.510. + allowedValues: See clause 6.2.6.3.3 of TS 29.518 for + AmfEventType."; + } + + leaf-list praIdList { + type string; + min-elements 1; + description "This attribute indicates the identifier of the Core + Network predefined PRA(s) supported by the AMF, see + TS 29.510."; + } } grouping AMFFunctionGrp { diff --git a/yang-models/_3gpp-5gc-nrm-bsffunction.yang b/yang-models/_3gpp-5gc-nrm-bsffunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..3d73da9e48e52d214d5e4c3538ec1d0c46e7e923 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-bsffunction.yang @@ -0,0 +1,182 @@ +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-26 { reference CR-1703; } + + 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 "List of ranges of IPv4 addresses + handled by BSF. If not provided, the BSF can + serve any IPv4 address."; + //optional + key "start end"; + 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 "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 "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 [61]. String contains a Diameter + Identity (FQDN)."; + type string; + } + + leaf groupId { + description "It 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 "List of ranges of SUPIs served by + the BSF instance."; + //optional + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "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"; + reference "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..2422537b8f5932db9640f794f6c0f6ba5a19fd0a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-dccffunction.yang @@ -0,0 +1,150 @@ +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-26 { reference CR-1703; } + + grouping DccfInfoGrp { + description "This data type represents the Specific + data for the DCCF."; + reference "See clause 6.1.6.2.46 TS 29.510."; + + leaf-list servingNfTypeList { + 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."; + //optional + } + + leaf-list servingNfSetIdList { + 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."; + //optional + } + + list taiList { + 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."; + //optional + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + 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."; + //optional + 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 { + 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."; + type string; + //optional + } + + 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 dccfInfo { + description "This attribute represents information + of a DCCF NF Instance."; + //optional + 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..8b79b5ab9dc2156e04a7542a1bd8dd7a7f9cf598 --- /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-26 { reference CR-1703; } + + 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..cc7c0c95f9e8a8069c0635aaeeb82efa7122769e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-easdffunction.yang @@ -0,0 +1,194 @@ +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-26 { reference CR-1703; } + + grouping DnnEasdfInfoItemGrp { + description "This data type represents parameters + supported by the EASDF per DNN."; + reference "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 { + type string; + min-elements 1; + description "List of Data network access + identifiers supported for this DNN."; + //optional + } + } + + grouping SnssaiEasdfInfoItemGrp { + description "This data type represents parameters + supported by the EASDF per S-NSSAI. + (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 { + description "This attribute represents a list of + parameters supported by the EASDF per + S-NSSAI."; + //optional + key idx; + leaf idx { type uint32; } + uses SnssaiEasdfInfoItemGrp; + } + + leaf-list easdfN6IpAddressList { + type inet:ip-address; + description "This attribute represents N6 IP + addresses of the EASDF."; + //optional + } + + leaf-list upfN6IpAddressList { + type inet:ip-address; + description "This attribute represents N6 IP + addresses of PSA UPFs."; + //optional + } + } + + grouping EASDFFunctionGrp { + 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."; + reference "5G EASDF, see 3GPP TS 23.548 [78]."; + 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 { + description "This attribute represents EASDF + specific data."; + //optional + max-elements 1; + key idx; + leaf idx { type uint32; } + uses EasdfInfoGrp; + } + + leaf isOnboardSatellite { + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the + function is on board the satellite."; + //optional + } + + leaf onboardSatelliteId { + 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."; + //optional + } + } + + 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 03e8cca67e57c954b3f8011ae95acbada4be0a6c..03097641ef29bbb471338f3f8f3f6a90746645eb 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,29 +19,306 @@ 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-gmlcfunction { prefix gmlc3gpp;} import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } import _3gpp-5gc-nrm-scpfunction {prefix scp3gpp;} - import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + 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"; description "Defines the YANG mapping of the 5GC related endpoint Information Object Classes (IOCs) that are part of the 5G Core Network Resource Model. - 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-04-26 { reference CR-1703; } revision 2025-07-25 { reference CR-1558 ; } revision 2024-08-19 { reference CR-1314 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-11-18 { reference "Ericsson refactoring."; } revision 2018-07-31 { reference "Initial revision"; } + // === Features for EPs under 2+ functions === + + feature EP_N2UnderAMFFunction { + description "EP_N2 contained under AMFFunction"; + } + feature EP_N2UnderN3IWFFunction { + description "EP_N2 contained under N3IWFFunction"; + } + feature EP_N3UnderN3IWFFunction { + description "EP_N3 contained under N3IWFFunction"; + } + feature EP_N3UnderUPFFunction { + description "EP_N3 contained under UPFFunction"; + } + feature EP_N4UnderSMFFunction { + description "EP_N4 contained under SMFFunction"; + } + feature EP_N4UnderUPFFunction { + description "EP_N4 contained under UPFFunction"; + } + feature EP_N5UnderAFFunction { + description "EP_N5 contained under AFFunction"; + } + feature EP_N5UnderPCFFunction { + description "EP_N5 contained under PCFFunction"; + } + 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"; + } + feature EP_N7UnderPCFFunction { + description "EP_N7 contained under PCFFunction"; + } + feature EP_N7UnderSMFFunction { + description "EP_N7 contained under SMFFunction"; + } + feature EP_N8UnderAMFFunction { + description "EP_N8 contained under AMFFunction"; + } + feature EP_N8UnderUDMFunction { + description "EP_N8 contained under UDMFunction"; + } + feature EP_N10UnderSMFFunction { + description "EP_N10 contained under SMFFunction"; + } + feature EP_N10UnderUDMFunction { + description "EP_N10 contained under UDMFunction"; + } + feature EP_N11UnderAMFFunction { + description "EP_N11 contained under AMFFunction"; + } + feature EP_N11UnderSMFFunction { + description "EP_N11 contained under SMFFunction"; + } + feature EP_N12UnderAMFFunction { + description "EP_N12 contained under AMFFunction"; + } + feature EP_N12UnderAUSFFunction { + description "EP_N12 contained under AUSFFunction"; + } + feature EP_N13UnderAUSFFunction { + description "EP_N13 contained under AUSFFunction"; + } + feature EP_N13UnderUDMFunction { + description "EP_N13 contained under UDMFunction"; + } + feature EP_N15UnderAMFFunction { + description "EP_N15 contained under AMFFunction"; + } + feature EP_N15UnderPCFFunction { + description "EP_N15 contained under PCFFunction"; + } + feature EP_N16UnderPCFFunction { + description "EP_N16 contained under PCFFunction"; + } + feature EP_N16UnderSMFFunction { + description "EP_N16 contained under SMFFunction"; + } + feature EP_N17UnderAMFFunction { + description "EP_N17 contained under AMFFunction"; + } + feature EP_N17UnderNGEIRFunction { + description "EP_N17 contained under NGEIRFunction"; + } + feature EP_N20UnderAMFFunction { + description "EP_N20 contained under AMFFunction"; + } + feature EP_N20UnderSMSFFunction { + description "EP_N20 contained under SMSFFunction"; + } + feature EP_N22UnderAMFFunction { + description "EP_N22 contained under AMFFunction"; + } + feature EP_N22UnderNSSFFunction { + description "EP_N22 contained under NSSFFunction"; + } + 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_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"; + } + feature EP_RxUnderPCFFunction { + description "EP_Rx contained under PCFFunction"; + } + feature EP_N40UnderCHFFunction { + description "EP_N40 contained under CHFFunction"; + } + feature EP_N40UnderSMFFunction { + description "EP_N40 contained under SMFFunction"; + } + feature EP_N28UnderCHFFunction { + description "EP_N28 contained under CHFFunction"; + } + feature EP_N28UnderPCFFunction { + description "EP_N28 contained under PCFFunction"; + } + feature EP_N41UnderAMFFunction { + description "EP_N41 contained under AMFFunction"; + } + feature EP_N41UnderCHFFunction { + description "EP_N41 contained under CHFFunction"; + } + feature EP_N60UnderAMFFunction { + description "EP_N60 contained under AMFFunction"; + } + feature EP_N60UnderNSACFFunction { + description "EP_N60 contained under NSACFFunction"; + } + feature EP_N19mbUnderMBUPFFunction { + description "EP_N19mb contained under MBUPFFunction"; + } + feature EP_N19mbUnderUPFFunction { + description "EP_N19mb contained under UPFFunction"; + } + feature EP_N84UnderTSCTSFFunction { + description "EP_N84 contained under TSCTSFFunction"; + } + 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; } @@ -179,7 +455,9 @@ module _3gpp-5gc-nrm-ep { grouping EP_MAP_SMSCGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NL1Grp { + uses eprp3gpp:EP_Common; + } grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } @@ -192,46 +470,46 @@ module _3gpp-5gc-nrm-ep { type string; } } - grouping EP_NL1Grp { + grouping EP_N40Grp { uses eprp3gpp:EP_Common; } - grouping EP_N60Grp { + grouping EP_N28Grp { uses eprp3gpp:EP_Common; } grouping EP_N41Grp { uses eprp3gpp:EP_Common; } - grouping EP_N42Grp { + grouping EP_N60Grp { uses eprp3gpp:EP_Common; } - grouping EP_N89Grp { + grouping EP_N3mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_N11mbGrp { + grouping EP_N19mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_AIOT3Grp { + grouping EP_N4mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_N40Grp { + grouping EP_Nmb9Grp { uses eprp3gpp:EP_Common; } - grouping EP_N88Grp { + grouping EP_Nmb1Grp { uses eprp3gpp:EP_Common; } - grouping EP_N16mbGrp { + grouping EP_N58Grp { uses eprp3gpp:EP_Common; } - grouping EP_N62Grp { + grouping EP_N59Grp { uses eprp3gpp:EP_Common; } - grouping EP_N86Grp { + grouping EP_Npc4Grp { uses eprp3gpp:EP_Common; } - grouping EP_N61Grp { + grouping EP_Npc6Grp { uses eprp3gpp:EP_Common; } - grouping EP_NL8Grp { + grouping EP_Npc7Grp { uses eprp3gpp:EP_Common; } grouping EP_NL7Grp { @@ -249,448 +527,606 @@ module _3gpp-5gc-nrm-ep { grouping EP_N34Grp { uses eprp3gpp:EP_Common; } - grouping EP_N28Grp { + 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_NL87Grp { + grouping EP_NL8Grp { uses eprp3gpp:EP_Common; } - grouping EP_N19mbGrp { + grouping EP_SM13Grp { uses eprp3gpp:EP_Common; } - grouping EP_N33Grp { + grouping EP_N61Grp { uses eprp3gpp:EP_Common; } - grouping EP_N85Grp { + grouping EP_N62Grp { uses eprp3gpp:EP_Common; } - grouping EP_N63Grp { + grouping EP_N42Grp { uses eprp3gpp:EP_Common; } - grouping EP_NL5Grp { + grouping EP_N11mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_NL9Grp { + grouping EP_N88Grp { uses eprp3gpp:EP_Common; } - grouping EP_NL3Grp { + grouping EP_N16mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_SM13Grp { + grouping EP_N86Grp { uses eprp3gpp:EP_Common; } - augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { - list EP_N5 { - description "Represents the EP_N5 IOC."; + grouping EP_N87Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N89Grp { + uses eprp3gpp:EP_Common; + } + // === Subtree groupings for EPs under 2+ functions === + + grouping EP_N2Subtree { + list EP_N2 { + description "Represents the EP_N2 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N5Grp; - } + container attributes { uses EP_N2Grp; } } - - list EP_N62 { - description "Represents the EP_N62 IOC."; + } + grouping EP_N3Subtree { + list EP_N3 { + description "Represents the EP_N3 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N62Grp; - } + container attributes { uses EP_N3Grp; } } - list EP_N86 { - description "Represents the EP_N86 IOC."; + } + grouping EP_N4Subtree { + list EP_N4 { + description "Represents the EP_N4 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N86Grp; - } + container attributes { uses EP_N4Grp; } } } - - augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; + grouping EP_N5Subtree { + list EP_N5 { + description "Represents the EP_N5 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } + container attributes { uses EP_N5Grp; } } - + } + grouping EP_N6Subtree { + list EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N6Grp; } + } + } + grouping EP_N7Subtree { + list EP_N7 { + description "Represents the EP_N7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N7Grp; } + } + } + grouping EP_N8Subtree { list EP_N8 { description "Represents the EP_N8 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } + container attributes { uses EP_N8Grp; } } - + } + grouping EP_N10Subtree { + list EP_N10 { + description "Represents the EP_N10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N10Grp; } + } + } + grouping EP_N11Subtree { list EP_N11 { description "Represents the EP_N11 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } + container attributes { uses EP_N11Grp; } } - + } + grouping EP_N12Subtree { list EP_N12 { description "Represents the EP_N12 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } + container attributes { uses EP_N12Grp; } } - - list EP_N14 { - description "Represents the EP_N14 IOC."; + } + grouping EP_N13Subtree { + list EP_N13 { + description "Represents the EP_N13 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N14Grp; - } + container attributes { uses EP_N13Grp; } } - + } + grouping EP_N15Subtree { list EP_N15 { description "Represents the EP_N15 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } + container attributes { uses EP_N15Grp; } } - + } + grouping EP_N16Subtree { + list EP_N16 { + description "Represents the EP_N16 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N16Grp; } + } + } + grouping EP_N17Subtree { list EP_N17 { description "Represents the EP_N17 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } + container attributes { uses EP_N17Grp; } } - + } + grouping EP_N20Subtree { list EP_N20 { description "Represents the EP_N20 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } + container attributes { uses EP_N20Grp; } } - + } + grouping EP_N22Subtree { list EP_N22 { description "Represents the EP_N22 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } - } - - list EP_N26 { - description "Represents the EP_N26 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } + container attributes { uses EP_N22Grp; } } + } + grouping EP_NL1Subtree { list EP_NL1 { description "Represents the EP_NL1 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL1Grp; - } + container attributes { uses EP_NL1Grp; } } - list EP_NL2 { - description "Represents the EP_NL2 IOC."; + } + grouping EP_NL6Subtree { + list EP_NL6 { + description "Represents the EP_NL6 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL2Grp; - } + container attributes { uses EP_NL6Grp; } } - - list EP_N60 { - description "Represents the EP_N60 IOC."; + } + grouping EP_NL9Subtree { + list EP_NL9 { + description "Represents the EP_NL9 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N60Grp; - } + container attributes { uses EP_NL9Grp; } } - list EP_N41 { - description "Represents the EP_N41 IOC."; + } + grouping EP_NL2Subtree { + list EP_NL2 { + description "Represents the EP_NL2 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N41Grp; - } + container attributes { uses EP_NL2Grp; } } - list EP_N42 { - description "Represents the EP_N42 IOC."; + } + grouping EP_NL3Subtree { + list EP_NL3 { + description "Represents the EP_NL3 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N42Grp; - } + container attributes { uses EP_NL3Grp; } } - list EP_N89 { - description "Represents the EP_N89 IOC."; + } + grouping EP_NL5Subtree { + list EP_NL5 { + description "Represents the EP_NL5 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N89Grp; - } + container attributes { uses EP_NL5Grp; } } - list EP_N11mb { - description "Represents the EP_N11mb IOC."; + } + grouping EP_NL10Subtree { + list EP_NL10 { + description "Represents the EP_NL10 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N11mbGrp; - } + container attributes { uses EP_NL10Grp; } } - list EP_AIOT3 { - description "This IOC represents the AIOT3 interface between AMF and - AIOTF, which is defined in 3GPP TS 23.369."; - key id; + } + grouping EP_NL8Subtree { + list EP_NL8 { + description "Represents the EP_NL8 IOC."; + key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_AIOT3Grp; - } + container attributes { uses EP_NL8Grp; } } } - - augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { - list EP_N12 { - description "Represents the EP_N12 IOC."; + grouping EP_N34Subtree { + list EP_N34 { + description "Represents the EP_N34 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } + container attributes { uses EP_N34Grp; } } - - list EP_N13 { - description "Represents the EP_N13 IOC."; + } + grouping EP_N26Subtree { + list EP_N26 { + description "Represents the EP_N26 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } + 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; - } + container attributes { uses EP_N61Grp; } } } - - augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; + grouping EP_N62Subtree { + list EP_N62 { + description "Represents the EP_N62 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } + container attributes { uses EP_N62Grp; } } } - - augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { - list EP_NL1 { - description "Represents the EP_NL1 IOC."; + grouping EP_N63Subtree { + list EP_N63 { + description "Represents the EP_N63 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL1Grp; - } + container attributes { uses EP_N63Grp; } } - list EP_NL8 { - description "Represents the EP_NL8 IOC."; + } + grouping EP_N88Subtree { + list EP_N88 { + description "Represents the EP_N88 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL8Grp; - } + container attributes { uses EP_N88Grp; } } - list EP_NL7 { - description "Represents the EP_NL7 IOC."; + } + grouping EP_N16mbSubtree { + list EP_N16mb { + description "Represents the EP_N16mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL7Grp; - } + container attributes { uses EP_N16mbGrp; } } - list EP_NL10 { - description "Represents the EP_NL10 IOC."; + } + grouping EP_N4mbSubtree { + list EP_N4mb { + description "Represents the EP_N4mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL10Grp; - } + container attributes { uses EP_N4mbGrp; } } } - - augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; + grouping EP_RxSubtree { + list EP_Rx { + description "Represents the EP_Rx IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } + container attributes { uses EP_RxGrp; } } - - list EP_N3 { - description "Represents the EP_N3 IOC."; + } + grouping EP_N40Subtree { + list EP_N40 { + description "Represents the EP_N40 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } + container attributes { uses EP_N40Grp; } } } - - augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { - list EP_N17 { - description "Represents the EP_N17 IOC."; + grouping EP_N28Subtree { + list EP_N28 { + description "Represents the EP_N28 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } + container attributes { uses EP_N28Grp; } } } - - augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { - list EP_N27 { - description "Represents the EP_N27 IOC."; + grouping EP_N41Subtree { + list EP_N41 { + description "Represents the EP_N41 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } + container attributes { uses EP_N41Grp; } } - list EP_N96 { - description "Represents the EP_N96 IOC."; + } + grouping EP_N60Subtree { + list EP_N60 { + description "Represents the EP_N60 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N96Grp; - } + container attributes { uses EP_N60Grp; } } - list EP_SM14 { - description "Represents the EP_SM14 IOC."; + } + grouping EP_N19mbSubtree { + list EP_N19mb { + description "Represents the EP_N19mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_SM14Grp; - } + container attributes { uses EP_N19mbGrp; } } } - - augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { - list EP_N22 { - description "Represents the EP_N22 IOC."; + grouping EP_N84Subtree { + list EP_N84 { + description "Represents the EP_N84 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } + container attributes { uses EP_N84Grp; } } - - list EP_N31 { - description "Represents the EP_N31 IOC."; + } + grouping EP_N85Subtree { + list EP_N85 { + description "Represents the EP_N85 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N31Grp; - } + container attributes { uses EP_N85Grp; } } - list EP_N34 { - description "Represents the EP_N34 IOC."; + } + grouping EP_N86Subtree { + list EP_N86 { + description "Represents the EP_N86 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N34Grp; - } + container attributes { uses EP_N86Grp; } } } - - augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { - list EP_N5 { - description "Represents the EP_N5 IOC."; + grouping EP_N87Subtree { + list EP_N87 { + description "Represents the EP_N87 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N5Grp; - } + container attributes { uses EP_N87Grp; } } - - list EP_N7 { - description "Represents the EP_N7 IOC."; + } + grouping EP_N96Subtree { + list EP_N96 { + description "Represents the EP_N96 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } + container attributes { uses EP_N96Grp; } } + } - list EP_N15 { - description "Represents the EP_N15 IOC."; + // === Augments === + + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { + uses EP_N5Subtree { + if-feature EP_N5UnderAFFunction; + } + 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" { + uses EP_N2Subtree { + if-feature EP_N2UnderAMFFunction; + } + uses EP_N8Subtree { + if-feature EP_N8UnderAMFFunction; + } + uses EP_N11Subtree { + if-feature EP_N11UnderAMFFunction; + } + uses EP_N12Subtree { + if-feature EP_N12UnderAMFFunction; + } + list EP_N14 { + description "Represents the EP_N14 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N14Grp; } + } + uses EP_N15Subtree { + if-feature EP_N15UnderAMFFunction; + } + uses EP_N17Subtree { + if-feature EP_N17UnderAMFFunction; + } + uses EP_N20Subtree { + if-feature EP_N20UnderAMFFunction; + } + uses EP_N22Subtree { + if-feature EP_N22UnderAMFFunction; + } + uses EP_N26Subtree { + if-feature EP_N26UnderAMFFunction; + } + uses EP_NL1Subtree { + if-feature EP_NL1UnderAMFFunction; + } + uses EP_NL2Subtree { + if-feature EP_NL2UnderAMFFunction; + } + uses EP_N41Subtree { + if-feature EP_N41UnderAMFFunction; + } + uses EP_N60Subtree { + if-feature EP_N60UnderAMFFunction; + } + list EP_N42 { + description "Represents the EP_N42 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } + container attributes { uses EP_N42Grp; } + } + uses EP_N89Subtree { + if-feature EP_N89UnderAMFFunction; + } + uses EP_N11mbSubtree { + if-feature EP_N11mbUnderAMFFunction; } + } - list EP_N16 { - description "Represents the EP_N16 IOC."; + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { + uses EP_N12Subtree { + if-feature EP_N12UnderAUSFFunction; + } + uses EP_N13Subtree { + if-feature EP_N13UnderAUSFFunction; + } + uses EP_N61Subtree { + if-feature EP_N61UnderAUSFFunction; + } + } + + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { + 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_N16Grp; - } + container attributes { uses EP_NL7Grp; } + } + uses EP_NL10Subtree { + if-feature EP_NL10UnderLMFFunction; + } + } + + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { + uses EP_N2Subtree { + if-feature EP_N2UnderN3IWFFunction; } + uses EP_N3Subtree { + if-feature EP_N3UnderN3IWFFunction; + } + } - list EP_Rx { - description "Represents the EP_Rx IOC."; + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { + uses EP_N17Subtree { + if-feature EP_N17UnderNGEIRFunction; + } + } + + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { + list EP_N27 { + description "Represents the EP_N27 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_RxGrp; - } + container attributes { uses EP_N27Grp; } } - list EP_N28 { - description "Represents the EP_N28 IOC."; + 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_N28Grp; - } + container attributes { uses EP_SM14Grp; } } - list EP_N84 { - description "Represents the EP_N84 IOC."; + } + + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { + uses EP_N22Subtree { + if-feature EP_N22UnderNSSFFunction; + } + list EP_N31 { + description "Represents the EP_N31 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N84Grp; - } + container attributes { uses EP_N31Grp; } + } + uses EP_N34Subtree { + if-feature EP_N34UnderNSSFFunction; + } + } + + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { + uses EP_N5Subtree { + if-feature EP_N5UnderPCFFunction; + } + uses EP_N7Subtree { + if-feature EP_N7UnderPCFFunction; + } + uses EP_N15Subtree { + if-feature EP_N15UnderPCFFunction; + } + uses EP_N16Subtree { + if-feature EP_N16UnderPCFFunction; + } + uses EP_RxSubtree { + if-feature EP_RxUnderPCFFunction; + } + uses EP_N28Subtree { + if-feature EP_N28UnderPCFFunction; + } + uses EP_N84Subtree { + if-feature EP_N84UnderPCFFunction; } } @@ -699,331 +1135,314 @@ module _3gpp-5gc-nrm-ep { description "Represents the EP_N32 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N32Grp; - } + container attributes { uses EP_N32Grp; } } + } - } augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { - list EP_N20 { - description "Represents the EP_20 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } + uses EP_N20Subtree { + if-feature EP_N20UnderSMSFFunction; } - list EP_N21 { description "Represents the EP_N21 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N21Grp; - } + container attributes { uses EP_N21Grp; } } - list EP_MAP_SMSC { description "Represents the EP_MAP_SMSC IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_MAP_SMSCGrp; - } + container attributes { uses EP_MAP_SMSCGrp; } } } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N4Grp; - } + uses EP_N4Subtree { + if-feature EP_N4UnderSMFFunction; } - - list EP_N7 { - description "Represents the EP_N7 IOC."; + uses EP_N7Subtree { + if-feature EP_N7UnderSMFFunction; + } + uses EP_N10Subtree { + if-feature EP_N10UnderSMFFunction; + } + uses EP_N11Subtree { + if-feature EP_N11UnderSMFFunction; + } + uses EP_N16Subtree { + if-feature EP_N16UnderSMFFunction; + } + list EP_S5C { + description "Represents the EP_S5C IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } + container attributes { uses EP_S5CGrp; } + } + uses EP_N40Subtree { + if-feature EP_N40UnderSMFFunction; + } + uses EP_N88Subtree { + if-feature EP_N88UnderSMFFunction; } + uses EP_N16mbSubtree { + if-feature EP_N16mbUnderSMFFunction; + } + } - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { + uses EP_N8Subtree { + if-feature EP_N8UnderUDMFunction; + } + uses EP_N10Subtree { + if-feature EP_N10UnderUDMFunction; + } + uses EP_N13Subtree { + if-feature EP_N13UnderUDMFunction; + } + uses EP_NL6Subtree { + if-feature EP_NL6UnderUDMFunction; + } + uses EP_N87Subtree { + if-feature EP_N87UnderUDMFunction; } + } - list EP_N11 { - description "Represents the EP_N11 IOC."; + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { + uses EP_N4Subtree { + if-feature EP_N4UnderUPFFunction; + } + uses EP_N3Subtree { + if-feature EP_N3UnderUPFFunction; + } + list EP_N9 { + description "Represents the EP_N9 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } + container attributes { uses EP_N9Grp; } } - - list EP_N16 { - description "Represents the EP_N16 IOC."; + list EP_S5U { + description "Represents the EP_S5U IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } + container attributes { uses EP_S5UGrp; } + } + uses EP_N6Subtree { + if-feature EP_N6UnderUPFFunction; } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderUPFFunction; + } + } - list EP_S5C { - description "Represents the EP_S5C IOC."; + augment "/me3gpp:ManagedElement/mbupf3gpp:MBUPFFunction" { + list EP_N3mb { + description "Represents the EP_N3mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_S5CGrp; - } + container attributes { uses EP_N3mbGrp; } } - list EP_N40 { - description "Represents the EP_N40 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N40Grp; - } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderMBUPFFunction; } - list EP_N88 { - description "Represents the EP_N88 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N88Grp; - } + uses EP_N4mbSubtree { + if-feature EP_N4mbUnderMBUPFFunction; } - list EP_N16mb { - description "Represents the EP_N16mb IOC."; + list EP_Nmb9 { + description "Represents the EP_Nmb9 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N16mbGrp; - } + container attributes { uses EP_Nmb9Grp; } } } - augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { - list EP_N8 { - description "Represents the EP_N8 IOC."; + 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_N8Grp; - } + 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; + } + } - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } + augment "/me3gpp:ManagedElement/chf3gpp:CHFFunction" { + uses EP_N40Subtree { + if-feature EP_N40UnderCHFFunction; + } + uses EP_N28Subtree { + if-feature EP_N28UnderCHFFunction; } + uses EP_N41Subtree { + if-feature EP_N41UnderCHFFunction; + } + } - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } + augment "/me3gpp:ManagedElement/nsacf3gpp:NSACFFunction" { + uses EP_N60Subtree { + if-feature EP_N60UnderNSACFFunction; } - list EP_NL6 { - description "Represents the EP_NL6 IOC."; + } + + augment "/me3gpp:ManagedElement/nssaaf3gpp:NSSAAFFunction" { + 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_NL6Grp; - } + container attributes { uses EP_N58Grp; } } - list EP_NL87 { - description "Represents the EP_NL87 IOC."; + 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_NL87Grp; - } + container attributes { uses EP_N59Grp; } } - } - augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; + 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_N4Grp; - } + container attributes { uses EP_Npc4Grp; } } - list EP_N3 { - description "Represents the EP_N3 IOC."; + 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_N3Grp; - } + container attributes { uses EP_Npc6Grp; } } - list EP_N9 { - description "Represents the EP_N9 IOC."; + 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_N9Grp; - } + container attributes { uses EP_Npc7Grp; } } - list EP_S5U { - description "Represents the EP_S5U IOC."; + 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_S5UGrp; - } + container attributes { uses EP_Npc8Grp; } } + } - list EP_EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } + augment "/me3gpp:ManagedElement/tsctsf3gpp:TSCTSFFunction" { + uses EP_N84Subtree { + if-feature EP_N84UnderTSCTSFFunction; } - list EP_N19mb { - description "Represents the EP_N19mb IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N19mbGrp; - } + 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; - } + container attributes { uses EP_N33Grp; } } - list EP_N85 { - description "Represents the EP_N85 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N85Grp; - } + uses EP_N85Subtree { + if-feature EP_N85UnderNEFFunction; } - list EP_N63 { - description "Represents the EP_N63 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N63Grp; - } + uses EP_N63Subtree { + if-feature EP_N63UnderNEFFunction; } - list EP_NL5 { - description "Represents the EP_NL5 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL5Grp; - } + uses EP_NL5Subtree { + if-feature EP_NL5UnderNEFFunction; } - } - augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" { - list EP_NL9 { - description "Represents the EP_NL9 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL9Grp; - } + } + + augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderNWDAFFunction; } - list EP_NL2 { - description "Represents the EP_NL2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL2Grp; - } + uses EP_N34Subtree { + if-feature EP_N34UnderNWDAFFunction; } - list EP_NL3 { - description "Represents the EP_NL3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL3Grp; - } + } + + augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderGMLCFunction; } - list EP_NL5 { - description "Represents the EP_NL5 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL5Grp; - } + uses EP_NL2Subtree { + if-feature EP_NL2UnderGMLCFunction; } - list EP_NL6 { - description "Represents the EP_NL6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL6Grp; - } + uses EP_NL3Subtree { + if-feature EP_NL3UnderGMLCFunction; } - list EP_NL10 { - description "Represents the EP_NL10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL10Grp; - } + uses EP_NL5Subtree { + if-feature EP_NL5UnderGMLCFunction; } - } - augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { - list EP_NL9 { - description "Represents the EP_NL9 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL9Grp; - } + uses EP_NL6Subtree { + if-feature EP_NL6UnderGMLCFunction; } - list EP_N34 { - description "Represents the EP_N34 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N34Grp; - } + uses EP_NL10Subtree { + if-feature EP_NL10UnderGMLCFunction; } - } + } + augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" { list EP_SM13 { - description "Represents the EP_SM13 IOC."; + 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; - } + container attributes { uses EP_SM13Grp; } + } + } + + augment "/me3gpp:ManagedElement/aanf3gpp:AANFFunction" { + uses EP_N61Subtree { + if-feature EP_N61UnderAANFFunction; + } + uses EP_N62Subtree { + if-feature EP_N62UnderAANFFunction; } - } -} \ No newline at end of file + 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 4f7e50dec37e0c38bbb21afb2f809d911b2790e1..990fb0ab532af8737ca6aa2507aefbb591f14d42 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -17,6 +17,7 @@ Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-05-25 { reference "CR-1703"; } revision 2026-03-25 { reference "CR-"; } revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-07-25 { reference CR-1558 ; } @@ -166,6 +167,14 @@ grouping ManagedNFProfileGrp { 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, @@ -278,12 +287,11 @@ grouping ManagedNFProfileGrp { in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN of the NF."; } - leaf-list nfProfileChangesSupportInd { + leaf nfProfileChangesSupportInd { description "This parameter indicates if the NF Service Consumer supports or does not support receiving NF Profile Changes. It may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; - max-elements 1; type boolean; } leaf nfProfilePartialUpdateChangesSupportInd { @@ -321,18 +329,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 { @@ -367,7 +373,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."; @@ -377,7 +383,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..2db036dc701c7cb641358ecf786ccdca7fcb61c9 --- /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-26 { reference CR-1703; } + + 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 { + 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."; + //optional + } + + leaf-list servingNfSetIdList { + 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."; + //optional + } + + list taiList { + 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."; + //optional + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + 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."; + //optional + 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 + (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 { + description "This attribute represents information + of an MFAF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses MfafInfoGrp; + //optional + } + } + + 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-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 9c056d89db7da50b05d8ffcb1aed44bc1b9187e8..82642f1c73baeece3938b23d0bf6502a84bd4308 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -1,6 +1,5 @@ module _3gpp-5gc-nrm-neffunction { yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; prefix nef3gpp; @@ -17,10 +16,11 @@ module _3gpp-5gc-nrm-neffunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501. - 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-1703 ; } revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } @@ -149,6 +149,13 @@ module _3gpp-5gc-nrm-neffunction { False: the AF does not support mapping between UE IP address and UE ID."; } + + list vflInfo { + description ""; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:VflInfoGrp; + } } grouping NefInfoGrp { diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 34176d07475eb09bf2bb683703efc0722c7ddebc..36bc90aeff14acda5edf829f348f93853c7306f6 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -16,6 +16,7 @@ module _3gpp-5gc-nrm-nfservice { TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-05-25 { reference "CR-1703"; } revision 2026-01-25 { reference "C"; } // common for R19, R20 revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-01-25 { reference CR-1442; } @@ -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 { config false; } - leaf scheme { + leaf schema { description "URI scheme (e.g. 'http', 'https')."; mandatory true; - type UriScheme; + type UriSchema; } leaf nfServiceStatus { @@ -689,7 +690,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 7893a8a952614e049f3bc26cebb0b78a724c6aaf..7b0a0364f2a2bc547126c292bea9077eeca79056 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -24,15 +24,17 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;} import _3gpp-5gc-nrm-chffunction { prefix chf3gpp;} + import _3gpp-5gc-nrm-bsffunction { prefix bsf3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. For more information about the NRF, see 3GPP TS 23.501 [2]. - 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-04-26 { reference CR-1703; } revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-01-25 { reference CR-1442 ; } @@ -43,36 +45,6 @@ module _3gpp-5gc-nrm-nrffunction { revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } - grouping bsfInfo { - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - min-elements 1; - type string; - } - - leaf-list ipDomainList { - description "List of IPv4 address domains, as described in - subclause 6.2 of 3GPP TS 29.513, handled by the BSF. - If not provided, the BSF can serve any IP domain."; - min-elements 1; - type string; - } - - list ipv6PrefixRanges { - description "List of ranges of IPv6 prefixes handled by the BSF. - If not provided, the BSF can serve any IPv6 prefix."; - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } - } grouping pcscfInfo { description "This data type represents the information of a P-CSCF NF Instance. @@ -146,7 +118,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."; @@ -357,7 +329,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses bsfInfo; + uses bsf3gpp:BsfInfoGrp; } list servedChfInfo { @@ -587,7 +559,8 @@ 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. + 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..f5cc3cb42efd4e6efc6c63738ff1d7ffd5480d3f 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -17,10 +17,12 @@ 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-25 { reference CR-1703 ; } + revision 2026-05-20 { reference CR-1703 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } @@ -32,31 +34,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 +68,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 @@ -165,6 +142,89 @@ module _3gpp-5gc-nrm-nwdaffunction { is present."; uses types3gpp:TimeWindowGrp; } + + leaf vflCapabilityType { + type enumeration { + enum VFL_SERVER; + enum VFL_CLIENT; + enum VFL_SERVER_AND_CLIENT; + } + mandatory true; + description "This attribute indicates the type of the supported VFL + capability as specified in clause 5.2 of 3GPP TS 23.288."; + } + + leaf-list vflAnalyticsIds { + type types5g3gpp:NwdafEvent; + min-elements 1; + description "This attribute indicates the Analytics Id(s) (identified + by nwdafEvent defined in TS 29.520) for which VFL is supported. + The included Analytics Id(s) shall have the same attribute values, + e.g. they shall share the same vflCapabilityType."; + } + + leaf vflClientAggrCap { + type boolean; + default false; + description "This attribute indicates whether a VFL client + supporting aggregating the intermediate results of other VFL + clients. + This attribute shall be present if aggregating the intermediate + results of other VFL clients is supported and the + vflCapabilityType is set to 'VFL_CLIENT' or + 'VFL_SERVER_AND_CLIENT'."; + } + + leaf vflInterInfo { + type string; + description "This attribute indicate the VFL interoperability + indicator. + This attribute shall be present if the NWDAF or AF supports the + VFL interoperability for the provided Analytics Id(s). If none + are provided the NWDAF is not allowed to perform the VFL + operation."; + } + + leaf-list featureId { + type string; + description "This attribute indicate the different feature + information supported by the NWDAF or AF for the provided + Analytics Id(s). Only the VFL clients and the VFL server sharing + the same VFL interoperability indicator can understand the + content of feature ID(s). + This attribute shall be present if the vflCapabilityType + attribute is present."; + } + + list vflTimeInterval { + key idx ; + leaf idx { type uint32; } + description "This attribute indicate the Time interval supporting VFL as + specified in clause 5.2 of 3GPP TS 23.288. + This attribute shall be present if the vflCapabilityType attribute is + present."; + uses types3gpp:TimeWindowGrp; + } + + leaf-list nfTypeList { + type types3gpp:NfType; + min-elements 1; + description "This attribute indicates the NF type of the data source where + data can be collected as input for a L V L ’ training. + This attribute may be present if the flCapabilityType is set to + 'FL_CLIENT' or 'FL_SERVER_AND_CLIENT' or the vflCapabilityType is set + to 'VFL_CLIENT' or 'VFL_SERVER_AND_CLIENT'."; + } + + leaf-list nfSetIdList { + type string; + min-elements 1; + description "This attribute indicates the NF Set ID of the data source + where data can be collected as input for a L V L ’ training. + This attribute may be present if the flCapabilityType is set to + 'FL_CLIENT' or 'FL_SERVER_AND_CLIENT' or the vflCapabilityType is set + to 'VFL_CLIENT' or 'VFL_SERVER_AND_CLIENT'."; + } } grouping NwdafInfoGrp { @@ -172,7 +232,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..ee89d41407c2b5165346242751e223df7151bc9c 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-1703 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -69,6 +70,13 @@ module _3gpp-5gc-nrm-smffunction { description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; type inet:domain-name; } + leaf-list pgwIpAddrList { + type inet:ip-address; + description "The PGW IP addresses of the combined SMF/PGW-C. + It allows the NF Service consumer to find the target combined + SMF/PGW-C by PGW IP Address, e.g., when only PGW IP Address + is available."; + } leaf-list accessType { description "If included, this IE shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. @@ -87,7 +95,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 +104,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 +112,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,10 +121,9 @@ 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 { + leaf smfOnboardingCapability { description "This attribute indicates the SMF supports SNPN Onboarding capability and User Plane Remote Provisioning. This is used for the case of Onboarding of UEs for SNPNs @@ -125,9 +131,8 @@ module _3gpp-5gc-nrm-smffunction { - FALSE: SMF does not support SNPN Onboarding; - TRUE: SMF supports SNPN Onboarding."; 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..b4f7cbc58556272185ea0c1dea478845957ac229 --- /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-26 { reference CR-1703; } + + 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 f23140e7d21916937d2e622ac40553be0b1a4d0b..1a9adc2de58cefbfde88631fdf1e8cfe726bebf4 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -19,6 +19,7 @@ module _3gpp-5gc-nrm-upffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-05-25 { reference CR-1703 ; } revision 2026-03-20 { reference CR-1695 ; } 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 5db3ef639e5f35f0073854969f941c7e86e69bd1..e5bdc90a8716505f77bf52dc71b325c443692a20 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2026-05-20 { reference "CR-xxxx"; } revision 2026-03-25 { reference "CR-xxxx"; } revision 2026-03-20 { reference "CR-0619"; } revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } @@ -783,6 +784,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; } } @@ -800,6 +841,7 @@ module _3gpp-common-yang-types { range 0..100; } } + typedef SupportedFeatures { type string { pattern '[A-Fa-f0-9]*'; 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-femtogw.yang b/yang-models/_3gpp-nr-nrm-femtogw.yang new file mode 100644 index 0000000000000000000000000000000000000000..e7ca47a385df474789309c5943d802b7d54866c8 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-femtogw.yang @@ -0,0 +1,75 @@ +module _3gpp-nr-nrm-femtogw { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-femtogw"; + prefix "femtogw3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + 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 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-26 { reference CR-1703; } + + grouping NRFemtoGWGrp { + description "Represents the NRFemtoGW IOC."; + + leaf operationalState { + description "The operational state of the resouce. + It describes whether or not the resource is installed + and working."; + mandatory true; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + type types3gpp:AdministrativeState; + default LOCKED; + description "It indicates the administrative state of the NR Femto GW. + It describes the permission to use or prohibition against using the + cell, imposed through the OAM services."; + } + + leaf nRFemtoGWId { + type string; + mandatory true; + description "Specifies a unique identity of the NRFemtoGW."; + } + + list nRFemtoPLMNInfoList { + description "This is a list of PLMN identifiers that can be served by the + NR Femto and which S-NSSAIs can be supported by the NR Femto for + corresponding PLMN in case of network slicing feature is supported."; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; + } + + leaf-list nRFemtoTACList { + type types5g3gpp:NRTAC; + description "It is the list of Tracking Area Codes (either legacy TAC or + extended TAC) for NR Femto. + Legacy TAC and Extended TAC are defined in clause 9.3.3.10 of TS 38.413"; + } + } + + augment "/me3gpp:ManagedElement" { + list NRFemtoGW { + description "Represents a NR Femto GW which acts as a gNB towards the 5GC. + The NRFemtoGW serves as a concentrator for N2 interface and connects + NRFemtoNode to 5GC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFemtoGWGrp; + } + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 56c1802b3ebb5eb698e64b8d994920ea6c5b8c82..371cee3fb52b7a6913701e38326688d307f58246 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -20,6 +20,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-04-26 { reference CR-1703; } revision 2026-04-02 { reference "CR-1698" ; } revision 2025-05-25 { reference "CR-1527" ; } revision 2025-05-07 { reference "CR-1548"; } @@ -257,6 +258,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 @@ -294,12 +302,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; @@ -307,6 +309,13 @@ module _3gpp-nr-nrm-gnbcucpfunction { on board the satellite."; } + leaf isNRFemtoNode { + type boolean; + default false; + description "This attribute indicates whether the function represents an + NR Femto Node"; + } + leaf onboardSatelliteId { type string; config false; @@ -322,6 +331,11 @@ module _3gpp-nr-nrm-gnbcucpfunction { configured to accept Xn connection requests from WAB-gNBs."; } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUCPFunction + supports (is associated to)."; + } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; @@ -347,6 +361,12 @@ module _3gpp-nr-nrm-gnbcucpfunction { (See sub clause 5.49 [11]). This attribute contains the DN of the referenced MWAB."; } + + leaf nRFemtoGWRef { + type types3gpp:DistinguishedName; + mandatory true; + description "The DN of a NRFemtoGW"; + } } grouping QceIdMappingInfoGrp { @@ -396,7 +416,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..00e895f1a82768f951c837db7e05b1808e58ce4b 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-26 { 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,30 @@ 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 isNRFemtoNode { + type boolean; + default false; + description "This attribute indicates whether the function represents an + NR Femto Node"; + } + leaf configurable5QISetRef { type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index b26cfadd1a94dfd68397513d722de3f516cbb76e..5e1a7819d8cdbc3874315fcf669487ac78a27cb3 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-gnbdufunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBDUFunction 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-26 { reference CR-1703; } revision 2025-08-15 { reference "CR-1598 CR-1558"; } revision 2025-05-07 { reference "CR-1527 CR-1548"; } revision 2025-02-05 { reference CR-1441; } @@ -200,6 +201,12 @@ module _3gpp-nr-nrm-gnbdufunction { It shall be formatted as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length."; } + leaf isNRFemtoNode { + type boolean; + default false; + description "This attribute indicates whether the function represents an + NR Femto Node"; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the GNBDUFunction supports diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index a6b8fd775c89e35c0cffa0bc814e1cf206bc7fb6..8a1118318762f954efafe25605095d402d4c4da1 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -15,11 +15,12 @@ module _3gpp-nr-nrm-nrcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU 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-11-07 { reference "CR-1640 CR-1643"; } // common for r19, r20 + revision 2026-05-20 { reference CR-1703 ; } + 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..b4dfe9f7dbe1bcfbe04562a6adc36eedd53a4ed9 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-20 { reference CR-1703 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2021-01-25 { reference CR-0454 ; } @@ -127,6 +128,37 @@ 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."; + } + + leaf dCLTMControl { + type boolean; + mandatory true; + description "Determines whether the conditional LTM cell switch function + is enabled or disabled."; + } } 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 8f30e2f81c1cb94d6085d97ce8959d15a420dfff..e09b45045d6f544f68d476557eaf1b14a3c28970 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-20 { reference CR-1703; } revision 2025-11-02 { reference CR-1643; } revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } @@ -206,7 +207,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; @@ -236,6 +237,47 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } + leaf sNonIntraSearchP { + type uint8 { + range 0..31; + } + mandatory true; + description "This specifies the Srxlev threshold (in dB) for NR + inter-frequency and inter-RAT measurements. It corresponds to + S-nonIntraSearchP in TS 38.304"; + units "1 dB"; + } + + leaf sNonIntraSearchQ { + type uint8 { + range 0..31; + } + description "This specifies the Squal threshold (in dB) for NR + inter-frequency and inter-RAT measurements. It corresponds to + S-nonIntraSearchQ in TS 38.304"; + units "1 dB"; + } + + leaf sIntraSearchP { + type uint8 { + range 0..31; + } + description "This specifies the Srxlev threshold (in dB) for NR + intra-frequency measurements. It corresponds to S-IntraSearchP in + TS 38.304"; + units "1 dB"; + } + + leaf sIntraSearchQ { + type uint8 { + range 0..31; + } + description "This specifies the Squal threshold (in dB) for NR + intra-frequency measurements. It corresponds to S-IntraSearchQ in + TS 38.304"; + units "1 dB"; + } + leaf nRFrequencyRef { description "Reference to a corresponding NRFrequency instance."; 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; }