From 7593e14d06af24f4f0d5ff1dfcf6e0fdf6eaf44b Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 18 Mar 2026 20:05:36 +0100 Subject: [PATCH 01/56] removed geocircle list, it is just a type not a real data node --- yang-models/_3gpp-common-yang-types.yang | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 4f5e0db9..d395f36e 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -12,11 +12,12 @@ module _3gpp-common-yang-types { description "The model defines a YANG mapping of the top level information classes used for management of 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.623"; // common for rel-19, rel-20 + revision 2026-03-19 { reference "CR-xxxx"; } revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } @@ -698,14 +699,6 @@ module _3gpp-common-yang-types { reference "clause 2.10.1 of 3GPP TS 23.003"; } - list geoCircle { - description "a geographical circle identified by reference location and - associated distance radius"; - key idx; - leaf idx { type uint16; } - uses GeoCircleGrp; - } - typedef AmfSetId { type union { type uint16 { -- GitLab From f302d8f8dac43995ba0ee24091362318a9ec8549 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 18 Mar 2026 20:23:01 +0100 Subject: [PATCH 02/56] CR1668 --- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 81 ++++++++++++++++++- yang-models/_3gpp-5gc-nrm-upffunction.yang | 4 +- 2 files changed, 79 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index c54cbddb..e9e73871 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -6,18 +6,21 @@ module _3gpp-5gc-nrm-predefinedpccruleset { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } import ietf-yang-types { prefix yang; } + 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 predefined PCC rules, which are configured to SMF and referenced by PCF. - 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-20 { reference CR-xxxx ; } revision 2025-05-01 { reference CR-xxxx ; } revision 2025-04-25 { reference CR-1520 ; } revision 2025-03-25 { reference CR-1489 ; } @@ -237,7 +240,23 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } } - grouping TrafficControlDataInformation { + grouping OnPathN6SigInfoGrp { + description "Represents the data type OnPathN6SigInfo"; + leaf onPathN6Method { + type enumeration { + enum CONNECT_UDP; + } + default CONNECT_UDP; + description "It indicates the supported on-path N6 signaling method."; + } + leaf asProxyAddr { + type inet:ip-address; + mandatory true; + description "It represents the AF Server proxy address."; + } + } + + grouping TrafficControlDataGrp { description "It specifies the traffic control data for a service flow of a PCC rule."; leaf tcId { @@ -290,7 +309,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type string; description "It references to a pre-configured traffic steering policy for uplink traffic at the SMF, see TS 29.512"; - } + } container routeToLocs { description "It provides a list of location which the traffic shall be routed to for the AF request."; @@ -301,6 +320,11 @@ module _3gpp-5gc-nrm-predefinedpccruleset { uses RouteToLocation; } } + leaf traffCorreInd { + type boolean; + default false; + description "It indicates the traffic correlation."; + } uses UpPathChgEvent; leaf steerFun { type enumeration { @@ -326,6 +350,55 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; } + list sNSSAIList { + description "It represents the list of S-NSSAI the managed object is + supporting. The S-NSSAI is defined in 3GPP TS 23.003."; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:SNssai; + } + leaf l4sInd { + type enumeration { + enum UL; + enum DL; + enum UL_DL; + } + description "It represents an explicit indication of whether ECN marking + for L4S enabled for the UL, the DL or both UL and DL. + + When SMF receives it in the PCC rule, SMF may decide to enable for the + QoS flow the ECN marking for L4S in either the 5G-AN or in the PSA UPF + see clause 4.2.6.2.21 in TS 29.512)."; + } + list onPathN6SigInfo { + max-elements 1; + key idx; + leaf idx { type uint32; } + description "On-path N6 signalling methods are used to transfer media + related information over N6 where media related information is sent + together with the encrypted payload allowing media related information + to be received synchronously with the media packet, see the + clause 4.2.6.10.8 in TS 29.512. + + This attribute represents the on-path N6 signaling information for + delivering media related information."; + uses OnPathN6SigInfoGrp; + + } + leaf dataBurstSizeInd { + type boolean; + default false; + description "It indicates the Data Burst Size marking for the DL service + data flow is supported, when it is included and set to 'true'. The + default value is 'false' if omitted."; + } + leaf timetoNextBurstInd { + type boolean; + default false; + description "It indicates the Time to Next Burst for the DL service data + flow is supported, when it is included and set to 'true'. The default + value is 'false' if omitted."; + } } grouping ARP { @@ -598,7 +671,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { list trafficControlDataInfo { description "The list of traffic control policy data."; key "tcId"; - uses TrafficControlDataInformation; + uses TrafficControlDataGrp; } } uses ConditionData; diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index ce549740..0a87c464 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -15,11 +15,11 @@ module _3gpp-5gc-nrm-upffunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "UPFFunction derived from basic ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-07-25 { reference CR-1558 ; } + revision 2026-03-20 { reference CR-xxxx ; } revision 2025-07-25 { reference CR-1558 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } -- GitLab From dc0f6fd8839423123c63023ca8bb57b30bf72608 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 20 Mar 2026 17:31:17 +0100 Subject: [PATCH 03/56] mapping of SP-260251 Rel-20 CR TS 28.541 Addition of AdmInfo to ADMFunction --- yang-models/_3gpp-5gc-nrm-aiot.yang | 37 ++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-aiot.yang b/yang-models/_3gpp-5gc-nrm-aiot.yang index be123060..9d3dfc19 100644 --- a/yang-models/_3gpp-5gc-nrm-aiot.yang +++ b/yang-models/_3gpp-5gc-nrm-aiot.yang @@ -14,11 +14,12 @@ module _3gpp-5gc-nrm-aiot { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping AIOT (Ambient power-enabled Internet of Things). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 3GPP TS 23.369"; + revision 2026-03-19 { reference CR-xxxx; } //common r19-20 revision 2025-11-01 { reference CR-1640; } grouping ServedAIOTAreaIDGrp { @@ -169,6 +170,30 @@ module _3gpp-5gc-nrm-aiot { ////////////////////////////////////////////////////////////////////// + grouping AdmInfoGrp { + description "Represents the datatype AdmInfo"; + + leaf-list deviceIdList { + type string; + description "This attribute represents a list of device IDs served by + ADM as defined in TS 29.510 [23]. The format of String is specified + in TS 29.510."; + } + + leaf devIdRegEx { + type string; + description "This attribute represents a regular expression (according to + the ECMA-262 dialect) identifying the set of device IDs served by + the ADM as defined in TS 29.510."; + } + + leaf-list afIdList { + type string; + description "This attribute represents a list of AF IDs served by ADM as + defined in TS 29.510."; + } + } + grouping ADMFunctionGrp { description "Attributes of the IOC ADMFunction"; @@ -200,6 +225,16 @@ module _3gpp-5gc-nrm-aiot { description "This parameter defines profile for managed NF"; reference "3gpp TS 23.501"; } + + list admInfo { + description "This attribute represents ADM-specific information for + management purposes. The information carried by this attribute is + aligned with the ADM-related information defined in TS 29.510."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses AdmInfoGrp; + } } feature ADMFunctionUnderManagedElement { -- GitLab From fb8b236b3333b23d1ddfdc90dcd30c2cb0fdca4c Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 20 Mar 2026 18:07:27 +0100 Subject: [PATCH 04/56] mapping of S5-260122 --- yang-models/_3gpp-common-externaldata.yang | 7 ++++--- yang-models/_3gpp-common-mnsregistry.yang | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang index 0854e9f8..77d215a5 100644 --- a/yang-models/_3gpp-common-externaldata.yang +++ b/yang-models/_3gpp-common-externaldata.yang @@ -11,10 +11,11 @@ module _3gpp-common-externaldata { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the external data. - 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.623 Generic Network Resource Model (NRM)"; + revision 2026-03-20 { reference CR-xxxx; } revision 2025-07-19 { reference CR-0551; } grouping ExternalDataScopeGrp { @@ -48,8 +49,8 @@ module _3gpp-common-externaldata { description "Type of external management data as defined by the implementation. - Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', - 'Event Schedule”"; + Examples of allowed value: 'ELECTRONIC_MAP','CAMARA_DATA', 'UE_PATH', + 'CAMERA_PHOTO', 'EVENT_SCHEDULE', 'WEATHER_FORECASTS'"; } leaf-list mediaLocation { diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 4521f208..0ad6a3bb 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -13,10 +13,11 @@ module _3gpp-common-mnsregistry { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the MNSRegistry IOC and its contained classes that ares part of the Generic 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.623 Generic Network Resource Model (NRM)"; + revision 2026-03-20 { reference CR-xxxx; } revision 2025-11-02 { reference CR-; } revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } @@ -259,12 +260,12 @@ module _3gpp-common-mnsregistry { augment "/subnet3gpp:SubNetwork" { list MnsRegistry { - description "This IOC is a container for MnsInfo IOC-s. It can be - contained only by SubNetwork IOC. A SubNetwork IOC can contain - only one instance of MnsRegistry. + description "TThis IOC is a container for MnsInfo IOC and MgmtDataInfo + IOC. It can be contained only by SubNetwork IOC. The IOC is instantiated by the system."; key id; max-elements 1; + yext3gpp:only-system-created; uses top3gpp:Top_Grp; container attributes { uses MnsRegistryGrp; -- GitLab From 4a91f32a942612483189501b2909d537cc0cfa8a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 23 Mar 2026 13:04:37 +0100 Subject: [PATCH 05/56] added 2 attributes for trace immediateconfig + update common types --- yang-models/_3gpp-common-trace.yang | 92 ++++++++++++++++++++++++ yang-models/_3gpp-common-yang-types.yang | 32 +++++---- 2 files changed, 111 insertions(+), 13 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 8eeee60b..41587858 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2026-03-20 { reference "CR-xxxx" ; } revision 2026-02-08 { reference "CR-1683" ; } revision 2025-11-07 { reference "CR-0553" ; } revision 2025-10-07 { reference "CR-0573" ; } @@ -746,6 +747,77 @@ module _3gpp-common-trace { } } + grouping EventTriggerConfigGrp { + description "Represent the EventTriggerConfig data type. Defines the + configuration parameters of trigger event used for M10 measurement in NR. + For details, please refer to TS 32.422 [30] subclause 5.10.X."; + + leaf eventType { + type enumeration { + enum eventA1 { value 0; } + enum eventA2 { value 1; } + } + mandatory true; + description "It indicates the event type. Either Event A1 or Event A2 + can be configured. See also clause 5.10.45 of TS 32.422."; + } + + leaf thresholdRAN { + type uint8 { + range 0..127; + } + mandatory true; + description "Threshold parameter for an event. It is used to define the + entering and leaving condition of the event. For further details see + RSRP-Range in TS 38.331. See also clause 5.10.45 of TS 32.422"; + } + + leaf measurementQuantityRAN { + type enumeration { + enum RSRP; + } + default RSRP; + description "It indicates the measurement quantity. For further details + see MeasTriggerQuantity in TS 38.331. See also clause 5.10.45 of + TS 32.422"; + } + + leaf hysteresisRAN { + type uint8 { + range 0..30; + } + mandatory true; + description "Hysteresis parameter for an event. It is used to define the + entering and leaving condition of the event. For further details see + Hysteresis in TS 38.331. See also clause 5.10.45 of TS 32.422"; + } + + leaf timeToTriggerRAN { + type enumeration { + enum 0ms { value 0; } + enum 40ms { value 1; } + enum 64ms { value 2; } + enum 80ms { value 3; } + enum 100ms { value 4; } + enum 128ms { value 5; } + enum 160ms { value 6; } + enum 256ms { value 7; } + enum 320ms { value 8; } + enum 480ms { value 9; } + enum 512ms { value 10; } + enum 640ms { value 11; } + enum 1024ms { value 12; } + enum 1280ms { value 13; } + enum 2560ms { value 14; } + enum 5120ms { value 15; } + } + mandatory true; + description "It defines the time during which specific criteria for the + event needs to be met in order to trigger an action. + For further details see TimeToTrigger in TS 38.331 and clause 5.10.45 of TS 32.422."; + } + } + grouping ImmediateMdtConfigGrp { description "Represents the ImmediateMdtConfig dataType. This <> defines the configuration parameters of @@ -1396,6 +1468,26 @@ module _3gpp-common-trace { measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } + + leaf layerOneRsrpPeriodicity { + type enumeration { + enum 2 {value 0; } + enum 3 {value 1; } + enum 4 {value 2; } + enum 5 {value 3; } + } + description "It defines the periodicity that the UE shall use for the + M10 measurements."; + } + + list eventTriggerConfig { + description "It specifies the event-triggered configuration used for M10 + measurements."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses EventTriggerConfigGrp; + } } grouping LoggedMdtConfigGrp { diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index d395f36e..fe40efcf 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -658,11 +658,13 @@ module _3gpp-common-yang-types { description "a geographical circle identified by reference location and associated distance radius"; - leaf referenceLocation { - description "Reference location of the serving cell provided via NTN - (quasi)-Earth fixed cell. This field is only present in an NTN cell. - It is defined as ReferenceLocation-r17 in TS 38.331"; - type string; + list referenceLocation { + description "Specifies a fixed geographic coordinate point, + see TS 38.331."; + min-elements 1; + max-elements 1; + key "latitude longitude altitude"; + uses GeoCoordinateGrp; } leaf distanceRadius { @@ -677,14 +679,18 @@ module _3gpp-common-yang-types { grouping GeoAreaGrp { description "This data type defines a geographical area. The geo-area is either a 'geoPolygon' or a 'geoCircle'."; - - list geoPolygon { - description "Specifies the geographical area with a convex polygon. - The convex polygon is specified by its corners."; - key "latitude longitude"; - min-elements 3; - ordered-by user; - uses GeoCoordinateGrp; + + choice circleOrPolygon { + mandatory true; + list geoPolygon { + description "Specifies the geographical area with a convex polygon. + The convex polygon is specified by its corners."; + key "latitude longitude"; + min-elements 3; + ordered-by user; + uses GeoCoordinateGrp; + } + } } -- GitLab From 70bbc07eebc4587345c683ccb0a73f4f183ab3bb Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 23 Mar 2026 14:26:47 +0100 Subject: [PATCH 06/56] updated geoarea --- yang-models/_3gpp-common-yang-types.yang | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index fe40efcf..b38eb50a 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -672,6 +672,7 @@ module _3gpp-common-yang-types { coordinates reference point, defined by referenceLocation. Each value represents 50m distance. This field is only present in an NTN cell."; type uint16; + mandatory true; units "50 meters"; } } @@ -680,7 +681,7 @@ module _3gpp-common-yang-types { description "This data type defines a geographical area. The geo-area is either a 'geoPolygon' or a 'geoCircle'."; - choice circleOrPolygon { + choice selectShape { mandatory true; list geoPolygon { description "Specifies the geographical area with a convex polygon. @@ -690,7 +691,17 @@ module _3gpp-common-yang-types { ordered-by user; uses GeoCoordinateGrp; } - + + list geoCircle { + description "It specifies the geographical area with a circle. A + geographical circle is identified by reference location and associated + distance radius."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses GeoCircleGrp; + } } } -- GitLab From a4fb209e88c7d21303dc5fe5962cc4222029b967 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 23 Mar 2026 18:11:04 +0100 Subject: [PATCH 07/56] trace, subscription, type update --- yang-models/_3gpp-common-subscription-control.yang | 6 ++++-- yang-models/_3gpp-common-trace.yang | 9 ++++----- yang-models/_3gpp-common-yang-types.yang | 3 +-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 8fbbbdf9..09760f77 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -13,7 +13,7 @@ module _3gpp-common-subscription-control { description "Defines IOCs for subscription, notification list and heartbeat control. - 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.623 Generic Network Resource Model (NRM) @@ -21,7 +21,8 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2025-11-07 { reference "CR-0551 CR-0586"; } //common for r19, r20 + revision 2026-03-19 { reference "CR-xxxx CR-xxxx"; } //common for r19, r20 + revision 2025-11-07 { reference "CR-0551 CR-0586"; } revision 2025-08-13 { reference "CR-0551 CR-0561"; } revision 2025-05-13 { reference "CR-0548"; } revision 2025-03-24 { reference "CR-0516 0518"; } @@ -331,6 +332,7 @@ module _3gpp-common-subscription-control { type uint64; config false; mandatory true; + yext3gpp:notNotifyable; description "The sequence number of the last notification that was sent by a 'NtfSubscriptionControl' instance."; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 41587858..086f834f 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -750,7 +750,7 @@ module _3gpp-common-trace { grouping EventTriggerConfigGrp { description "Represent the EventTriggerConfig data type. Defines the configuration parameters of trigger event used for M10 measurement in NR. - For details, please refer to TS 32.422 [30] subclause 5.10.X."; + For details, please refer to TS 32.422 subclause 5.10.45."; leaf eventType { type enumeration { @@ -773,10 +773,8 @@ module _3gpp-common-trace { } leaf measurementQuantityRAN { - type enumeration { - enum RSRP; - } - default RSRP; + type int32; + mandatory true; description "It indicates the measurement quantity. For further details see MeasTriggerQuantity in TS 38.331. See also clause 5.10.45 of TS 32.422"; @@ -937,6 +935,7 @@ module _3gpp-common-trace { enum M7; enum M8; enum M9; + enum M10; } description "It specifies the UE measurements that shall be collected in an Immediate MDT job. The attribute is diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index b38eb50a..16a229fd 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,8 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - // common for rel-19, rel-20 - revision 2026-03-19 { reference "CR-xxxx"; } + revision 2026-03-20 { reference "CR-xxxx"; } revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } -- GitLab From 72e19931ba3e91587b012685e0b1aea61ed467bc Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 24 Mar 2026 22:19:07 +0100 Subject: [PATCH 08/56] Updated Tracejob description --- yang-models/_3gpp-common-trace.yang | 34 +++++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 086f834f..180aba96 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -854,6 +854,8 @@ module _3gpp-common-trace { -measurementQuantity (conditional for 1F event reporting), -beamLevelMeasurement (conditional for M1 in NR), -excessPacketDelayThresholds (conditional for M6 UL measurement in NR). + -layerOneRsrpPeriodicity (conditional for M10 measurements in NR), + -eventTriggerConfig (conditional for event reporting for M10 measuremen For immediate MDT, the measurement reporting is dependent on the configured measurements: @@ -911,6 +913,13 @@ module _3gpp-common-trace { - Measurements M8 and M9 in NR or LTE are reported according to configured M1 and/or M6 related UE measurement reporting. + - For management based Immediate MDT M10 measurements + layerOneRsrpPeriodicity in NR, the + measurement is optionally triggered with periodically or event based . + The parameter layerOneRsrpPeriodicity determines the interval between + two successive UE measurements. If parameter eventTriggerConfig is + configured, the logging is performed only at the condition indicated + by eventTriggerConfigis met. "; leaf listOfMeasurements { @@ -2178,7 +2187,8 @@ module _3gpp-common-trace { description "A TraceJob instance represents the Trace Control and Configuration parameters of a particular Trace Job (see TS 32.421 and TS 32.422 for details). It can be name-contained by SubNetwork, - ManagedElement, ManagedFunction. + ManagedElement, ManagedFunction. In case of signalling based trace + activation, it shall be name-contained by the UDMFunction, see TS 28.541. To activate Trace Jobs, a MnS consumer has to create TraceJob object instances on the MnS producer. A MnS consumer can activate a Trace Job @@ -2190,15 +2200,14 @@ module _3gpp-common-trace { 4.1.2.1.2 of TS 32.422. When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - - For details of management Trace Job activation/deactivation see clause - 4.1.1.1.2 of TS 32.422. + shall delete the corresponding TraceJob instance. For details of + management Trace Job deactivation see clauses 4.1.3.8 to 4.1.3.11 a + nd 4.1.4.10 to 4.1.4.13 of TS 32.422 The attribute traceReference specifies a globally unique ID and identifies a Trace session. One Trace Session may be activated to multiple Network Elements. The traceReference is populated by the - consumer that makes the request for a Trace Session. + consumer that makes the request for a Trace Session, TS 32.422. The jobId attribute presents the job identifier of a TraceJob instance. The jobId can be used to associate multiple TraceJob instances. @@ -2214,14 +2223,15 @@ module _3gpp-common-trace { stream-based reporting the attribute traceReportingConsumerUri specifies the streaming target. - The mandatory attribute traceTarget determines the target object of - the TraceJob. Dependent on the network element to which the Trace - Session is activated different types of the target object are possible. + The attribute traceTarget determines the target object of the + TraceJob. Dependent on the network element to which the Trace Session + is activated different types of the target object are possible. + The attribute pLMNTarget defines the PLMN for which sessions shall be selected in the Trace Session in case of management based activation - when several PLMNs are supported in the RAN.The MDT configuration may - include area scope defined by network slice, in which case - the attribute pLMNTarget is not applicable. + when several PLMNs are supported in the RAN. The MDT configuration + may include area scope defined by network slice, in which case the + attribute pLMNTarget is not applicable. The attribute listOfTraceMetrics allows configuraton of which metrics shall be recorded. -- GitLab From 3badacc054472052762b5630a32ff47135f1fe6f Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 1 Apr 2026 15:01:38 +0200 Subject: [PATCH 09/56] CR 1695 ATSS issues --- yang-models/_3gpp-5gc-nrm-upffunction.yang | 33 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 0a87c464..f23140e7 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -19,7 +19,7 @@ module _3gpp-5gc-nrm-upffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2026-03-20 { reference CR-xxxx ; } + revision 2026-03-20 { reference CR-1695 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -232,7 +232,7 @@ module _3gpp-5gc-nrm-upffunction { leaf atsssLL { description "Indicates the ATSSS-LL capability to support procedures related to Access Traffic Steering, Switching, Splitting - (see clauses 4.2.10, 5.32 of TS 23.501). + (see clauses 4.2.10, 5.32 of TS 23.501, clauses 5.6.3.18 of TS 28.512)). true: Supported false: Not Supported"; type boolean; @@ -242,13 +242,40 @@ module _3gpp-5gc-nrm-upffunction { leaf mptcp { description "Indicates the MPTCP capability to support procedures related to Access Traffic Steering, Switching, Splitting - (see clauses 4.2.10, 5.32 of TS 23.501). + (see clauses 4.2.10, 5.32 of TS 23.501, clauses 5.6.3.18 of TS 28.512). true: Supported false: Not Supported"; type boolean; default false; } + leaf mpQuicUdp { + type boolean; + default false; + description "Indicates the support of Access Traffic Steering, Switching + and Splitting procedures using the MPQUIC-UDP steering functionality + (see clauses 4.2.10, 5.32 of 3GPP TS 23.501, + clauses 5.6.3.18 of TS 28.512)."; + } + + leaf mpQuicIp { + type boolean; + default false; + description "Indicates the support of Access Traffic Steering, Switching + and Splitting procedures using the MPQUIC-IP steering functionality + (see clauses 4.2.10, 5.32 of 3GPP TS 23.501, + clauses 5.6.3.18 of TS 28.512)."; + } + + leaf mpQuicE { + type boolean; + default false; + description "Indicates the support of Access Traffic Steering, Switching + and Splitting procedures using the MPQUIC-E steering functionality + (see clauses 4.2.10, 5.32 of 3GPP TS 23.501, + clauses 5.6.3.18 of TS 28.512)."; + } + leaf rttWithoutPmf { description "Indicates whether the UPF supports RTT measurement without PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). -- GitLab From ba9a433c55f1ccb7bcc7343daa512519bc09bd09 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 1 Apr 2026 15:26:07 +0200 Subject: [PATCH 10/56] CR 1695 --- yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index e9e73871..e5da73f1 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-03-20 { reference CR-xxxx ; } + revision 2026-03-20 { reference CR-1695 ; } revision 2025-05-01 { reference CR-xxxx ; } revision 2025-04-25 { reference CR-1520 ; } revision 2025-03-25 { reference CR-1489 ; } @@ -107,6 +107,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum LOAD_BALANCING; enum SMALLEST_DELAY; enum PRIORITY_BASED; + enum REDUNDANT; } mandatory true; description "It indicates the value of the steering mode, see TS 29.512."; @@ -330,6 +331,9 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type enumeration { enum MPTCP; enum ATSSS_LL; + enum MPQUIC_UDP; + enum MPQUIC_IP; + enum MPQUIC_E; } description "It indicates the applicable traffic steering functionality."; reference "3GPPTS 29.512"; -- GitLab From 3b78a27a1b14d759fe5da1fd1dfac3a0257e51b2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 1 Apr 2026 17:10:14 +0200 Subject: [PATCH 11/56] updated CR numbers --- yang-models/_3gpp-5gc-nrm-aiot.yang | 2 +- yang-models/_3gpp-common-externaldata.yang | 2 +- yang-models/_3gpp-common-mnsregistry.yang | 2 +- yang-models/_3gpp-common-subscription-control.yang | 2 +- yang-models/_3gpp-common-trace.yang | 2 +- yang-models/_3gpp-common-yang-types.yang | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-aiot.yang b/yang-models/_3gpp-5gc-nrm-aiot.yang index 9d3dfc19..74fed3b7 100644 --- a/yang-models/_3gpp-5gc-nrm-aiot.yang +++ b/yang-models/_3gpp-5gc-nrm-aiot.yang @@ -19,7 +19,7 @@ module _3gpp-5gc-nrm-aiot { reference "3GPP TS 28.541 3GPP TS 23.369"; - revision 2026-03-19 { reference CR-xxxx; } //common r19-20 + revision 2026-03-19 { reference "CR-1695 CR-1694"; } //common r19-20 revision 2025-11-01 { reference CR-1640; } grouping ServedAIOTAreaIDGrp { diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang index 77d215a5..6ed95bf8 100644 --- a/yang-models/_3gpp-common-externaldata.yang +++ b/yang-models/_3gpp-common-externaldata.yang @@ -15,7 +15,7 @@ module _3gpp-common-externaldata { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; - revision 2026-03-20 { reference CR-xxxx; } + revision 2026-03-20 { reference CR-0619; } revision 2025-07-19 { reference CR-0551; } grouping ExternalDataScopeGrp { diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 0ad6a3bb..f606c3ac 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -17,7 +17,7 @@ module _3gpp-common-mnsregistry { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; - revision 2026-03-20 { reference CR-xxxx; } + revision 2026-03-20 { reference CR-0619; } revision 2025-11-02 { reference CR-; } revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 09760f77..833e46ad 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -21,7 +21,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2026-03-19 { reference "CR-xxxx CR-xxxx"; } //common for r19, r20 + revision 2026-03-19 { reference "CR-0618 CR-0619"; } //common for r19, r20 revision 2025-11-07 { reference "CR-0551 CR-0586"; } revision 2025-08-13 { reference "CR-0551 CR-0561"; } revision 2025-05-13 { reference "CR-0548"; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 180aba96..2a5c9e86 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,7 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2026-03-20 { reference "CR-xxxx" ; } + revision 2026-03-20 { reference "CR-0619" ; } revision 2026-02-08 { reference "CR-1683" ; } revision 2025-11-07 { reference "CR-0553" ; } revision 2025-10-07 { reference "CR-0573" ; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 16a229fd..9e3ffb30 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - revision 2026-03-20 { reference "CR-xxxx"; } + revision 2026-03-20 { reference "CR-0619"; } revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } -- GitLab From 7ca130244d1b66fb76858ff694681e690f50c9d7 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Wed, 1 Apr 2026 17:43:22 +0200 Subject: [PATCH 12/56] aligne stage 2 nd 3 nfservice --- yang-models/_3gpp-5g-common-yang-types.yang | 153 ++++++++ yang-models/_3gpp-5gc-nrm-nfservice.yang | 379 +++++++++++++++++++- yang-models/_3gpp-common-yang-types.yang | 19 +- 3 files changed, 540 insertions(+), 11 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 0b96e49c..3f6d7b10 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-03-25 { reference "CR-"; } revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-11-07 { reference CR-1640 ; } revision 2025-11-02 { reference CR-1658 ; } @@ -179,6 +180,77 @@ module _3gpp-5g-common-yang-types { } } + grouping SupiRangeGrp { + description "This <> represents a range of SUPIs."; + leaf start { + description "First value identifying the start of a SUPI range."; + type string { + pattern '^[0-9]+$'; + } + } + leaf end { + description "Last value identifying the end of a SUPI range."; + type string { + pattern '^[0-9]+$'; + } + } + leaf pattern { + description "Pattern representing the set of SUPIs belonging to + this range."; + type string; + } + } + + grouping IdentityRangeGrp { + description "This <> represents a range of identities."; + leaf start { + description "First value identifying the start of an identity range."; + type string { + pattern '^[0-9]+$'; + } + } + leaf end { + description "Last value identifying the end of an identity range."; + type string; + } + leaf pattern { + description "Pattern representing the set of identities belonging to + this range."; + type string; + } + } + + grouping SupportedVendorSpecificFeaturesGrp { + description "This <> represents a map of Vendor-Specific features, + where the key of the map is the IANA-assigned SMI Network Management + Private Enterprise Codes and the value of each entry of the map shall be + a list (array) of VendorSpecificFeature objects as defined in clause 5.3.247."; + reference "3GPP TS 29.510 clause 5.3.247"; + + list supportedVendorSpecificFeatures { + description "It indicates a map of Vendor-Specific features, where the + key of the map is the IANA-assigned SMI Network Management Private + Enterprise Codes and the value of each entry of the map shall be + a list (array) of VendorSpecificFeature objects as defined + in the clause 5.3.247."; + key "enterpriseCode"; + + leaf enterpriseCode { + type uint32; + description "IANA-assigned SMI Network Management Private + Enterprise Code"; + } + + list vendorSpecificFeature { + key "featureName"; + config false; + description "VendorSpecificFeature objects as defined + in the clause 5.3.247."; + uses VendorSpecificFeatureGrp; + } + } + } + grouping SnssaiExtensionGrp { list sdRanges { min-elements 1; @@ -596,6 +668,87 @@ module _3gpp-5g-common-yang-types { type inet:host; } } + grouping RuleSetGrp { + description "This data type represents list of rules specifying whether + access/scopes are allowed/denied for NF-Consumers."; + reference "3GPP TS 29.510 clause 6.2.6.2.121"; + + leaf priority { + description "It indicates the unique Priority of the rule. Lower value + means higher priority."; + mandatory true; + type uint32; + } + + list plmns { + description "It indicates PLMNs allowed/dis-allowed to access the + service instance. When absent, NF-Consumers of all PLMNs are + assumed to match this criteria."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list snpns { + description "It indicates SNPNs allowed/dis-allowed to access the + service instance. When absent, NF-Consumers of all SNPNs are + assumed to match this criteria."; + key "mcc mnc"; + uses PlmnIdNid; + } + + leaf-list nfTypes { + description "It indicates type of the NFs allowed/dis-allowed to + access the service instance. When absent, NF-Consumers of all + nfTypes are assumed to match this criteria."; + type types3gpp:NfType; + } + + leaf-list nfDomains { + description "It represents pattern (regular expression according to + the ECMA-262 dialect) representing the NF domain names within the + PLMN of the NRF allowed/dis-allowed to access the service instance. + When absent, NF-Consumers of all nfDomains are assumed to match + this criteria."; + type string; + } + + list nssais { + description "It represents S-NSSAIs of the NF-Consumers + allowed/dis-allowed to access the service instance. When absent, + NF-Consumers of all slices are assumed to match this criteria."; + key idx; + leaf idx { type uint32; } + uses ExtSnssaiGrp; + } + + leaf-list nfInstances { + description "It represents NF-Instance IDs of the NF-Consumers + allowed/dis-allowed to access the NF/NF-Service instance. When + absent, all the NF-Consumers are assumed to match this criteria."; + type string; + } + + leaf-list scopes { + description "It represents list of scopes allowed or denied to the + NF-Consumers matching the rule. The scopes shall be any of those + defined in the API that defines the current service. When absent, + the NF-Consumer is allowed or denied full access to all the + resources/operations of service instance."; + type string; + } + + leaf action { + description "It specifies whether the scopes/access mentioned are + allowed or denied for a specific NF-Consumer. + ALLOW: The NF consumer is allowed to access NF producer. + DENY: The NF consumer is not allowed to access NF Producer."; + mandatory true; + type enumeration { + enum ALLOW; + enum DENY; + } + } + } grouping LocationInfoGrp { description "This data type contains location information diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 8ca29a70..34176d07 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -11,11 +11,12 @@ module _3gpp-5gc-nrm-nfservice { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "NF service class. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + description "NF service dataType. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + 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; } revision 2023-09-18 { reference CR-1043 ; } @@ -24,7 +25,8 @@ module _3gpp-5gc-nrm-nfservice { revision 2019-06-17 { reference "initial revision"; } grouping NFServiceGrp { - description "Represents the NFService IOC"; + description "This data type represents the NF Service + defined in TS 29.510 [23]"; leaf serviceInstanceID { description "Unique ID of the service instance within a given NF Instance."; @@ -36,14 +38,16 @@ module _3gpp-5gc-nrm-nfservice { description "Name of the service instance (e.g. 'nudm-sdm')."; mandatory true; type ServiceName; + config false; } - list versions { //check in review if key is ok (unique) + list versions { description "API versions supported by the NF Service and if available, the corresponding retirement date of the NF Service."; min-elements 1; key "apiVersionInUri apiFullVersion"; uses NFServiceVersion; + config false; } leaf scheme { @@ -135,7 +139,7 @@ module _3gpp-5gc-nrm-nfservice { type string; } - list allowedNSSAI { + list allowedNSSAIs { description "S-NSSAI of the allowed slices to access the service instance. The absence of this attribute indicates that any slice is allowed to access the service instance."; @@ -144,6 +148,16 @@ module _3gpp-5gc-nrm-nfservice { key "sd sst"; uses types5g3gpp:SNssai; } + list allowedScopesRuleSet { + description "It represents map of rules specifying scopes allowed or + denied for NF-Consumers. This attribute may be present when the + NF-Producer and the NRF support Allowed-ruleset feature as specified + in clause 6.1.9 in TS 29.510."; + //optional support + key idx; + leaf idx { type uint32; } + uses types5g3gpp:RuleSetGrp; + } leaf-list allowedOperationsPerNfType { description "It indicates the allowed operations on resources for each type of NF; the key of the map is the NF Type, and the value @@ -168,18 +182,28 @@ module _3gpp-5gc-nrm-nfservice { for a given NF Instance ID take precedence over the scopes defined in attribute allowedOperationsPerNfType for the corresponding NF type of the NF Instance associated to such NF Instance ID.."; + //optional support } + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + //optional support + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } - leaf-list oauth2Required { + leaf oauth2Required { type boolean; - max-elements 1; + //optional support description "It indicates whether the NF Service Instance requires Oauth2-based authorization"; } - leaf-list sharedServiceDataId { + leaf sharedServiceDataId { type string; - max-elements 1; description "String uniquely identifying SharedServiceData. The format of the sharedServiceDataId shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [44]. The hexadecimal @@ -214,6 +238,129 @@ module _3gpp-5gc-nrm-nfservice { //optional support type string; } + list callbackUriPrefixList { + description "It indicates the optional path segment(s) used to construct + the prefix of the Callback URIs during the reselection of an NF + service consumer."; + //optional support + reference "3GPP TS 29.501 [23], clause 4.4.3."; + key callbackUriPrefix; + min-elements 1; + uses CallbackUriPrefixItemGrp; + } + leaf supportedFeatures { + description "It is a string, which indicates the features of the service + corresponding to the subscribed default notification, which are supported + by the NF (Service) instance acting as NF service consumer."; + reference "3GPP TS 29.571 table 5.2.2-3"; + //optional + type types3gpp:SupportedFeatures; + } + uses types5g3gpp:SupportedVendorSpecificFeaturesGrp; + leaf load { + description "Latest known load information of the NF, percentage."; + type types3gpp:Load; + config false; + } + leaf loadTimeStamp { + description "Timestamp of the reported load information."; + type yang:date-and-time; + config false; + } + leaf-list nfServiceSetIdList { + description "This attribute represents a list of NF Service Set ID. + At most one NF Service Set ID shall be indicated per PLMN-ID or + SNPN of the NF."; + type string; + min-elements 1; + } + list perPlmnSnssaiList { + description "It includes the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, it + shall override sNssais IE."; + key idx; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + leaf canaryRelease { + description "This attribute indicates whether an NF instance whose + nfStatus is set to REGISTERED is in Canary Release condition, i.e. + it should only be selected by NF Service Consumers under the + conditions indicated by the selectionConditions attribute. + True: the NF is under Canary Release condition, even if the + nfStatus is set to REGISTERED. + False: the NF instance indicates its Canary Release condition + via the nfStatus attribute."; + //optional support + type boolean; + default false; + } + + leaf exclusiveCanaryReleaseSelection { + description "This attribute indicates whether an NF Service Consumer + should only select an NF Service Producer in Canary Release condition. + True: the consumer shall only select producers in Canary Release + condition. + False: the consumer may select producers not in Canary Release + condition."; + //optional support + type boolean; + default false; + } + + leaf shutdownTime { + description "This attribute may be present if the nfStatus is set to + UNDISCOVERABLE due to scheduled shutdown. When present, it shall + indicate the timestamp when the NF Instance is planned to be + shut down."; + //optional support + type yang:date-and-time; + config false; + } + + leaf canaryPrecedenceOverPreferred { + description "This attribute indicates whether the NRF shall prioritize + the NF Service Producer in Canary Release condition over the + preferences (preferred-xxx, ext-preferred-xxx) present in NF + discovery requests. + True: NRF shall prioritize NF Service Producers in Canary Release + condition at NF discovery requests. + False: NRF shall prioritize the NF Service Producers according to + preferred-xxx and/or ext-preferred-xxx."; + //optional support + type boolean; + default false; + } + + list perPlmnOauth2ReqList { + description "This attribute includes the Oauth2-based authorization + requirement supported by the NF Service Instance per PLMN of the + NF Service Consumer. This attribute may be included when the + Oauth2.0 authorization requirement supported by the NF Service + Instance for different PLMN is different. When the requester + PLMN Id is available in perPlmnOauth2ReqList IE, this IE shall + override the oauth2Required IE. If the requester PLMN ID is not + present in perPlmnOauth2ReqList IE, then the value of + oauth2Required IE shall be applicable if available."; + //optional support + key idx; + leaf idx { type uint32; } + max-elements 1; + uses PlmnOauth2Grp; + } + + list selectionConditions { + description "This attribute includes the conditions under which an NF + Instance with an NFStatus value set to CANARY_RELEASE, or with a + canaryRelease attribute set to true, shall be selected by an NF + Service Consumer."; + //optional support + key idx; + leaf idx { type uint32; } + max-elements 1; + uses SelectionConditionsGrp; + } } typedef SupportedFeatures { @@ -242,7 +389,219 @@ module _3gpp-5gc-nrm-nfservice { in the clause 5.3.247."; uses types5g3gpp:VendorSpecificFeatureGrp; } - } + } + + grouping CallbackUriPrefixItemGrp { + description "This <> represents Callback URI prefix value to + be used for specific notification types."; + reference "3GPP TS 29.510 clause 6.1.6.2.127"; + + leaf callbackUriPrefix { + description "It indicates the optional path segment(s) used to + construct the prefix of the Callback URIs during the reselection + of an NF service consumer."; + mandatory true; + type inet:uri; + reference "3GPP TS 29.501 clause 4.4.3"; + } + + leaf-list notificationTypes { + description "List of notification type values using the callback + URI prefix of the callbackUriPrefix."; + type string; + } + } + + grouping PlmnOauth2Grp { + description "This <> represents the per PLMN Oauth2.0 + indication."; + reference "3GPP TS 29.510 clause 6.1.6.2.102"; + + list oauth2RequiredPlmnIdList { + description "List of PLMN IDs for which Oauth2.0 authorization is + required."; + //optional support + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list oauth2NotRequiredPlmnIdList { + description "List of PLMN IDs for which Oauth2.0 authorization is + not required."; + //optional support + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + grouping PlmnSnssai { + description "This data type represents the list of S-NSSAIs supported + per PLMN."; + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + leaf nid { + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN."; + reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, + and 6.3.8 in 3GPP TS 23.501"; + type string; + } + } + + grouping ConditionItemGrp { + description "This <> represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) + Instance shall be selected."; + reference "3GPP TS 29.510 clause 6.1.6.2.124"; + + leaf-list consumerNfTypes { + description "It represents the NF types of the consumers for which + the conditions included in this ConditionItem apply. If this + attribute is absent, the conditions are applicable to all NF + consumer types."; + min-elements 1; + type types3gpp:NfType; + } + leaf serviceFeature { + description "It represents a feature number of that NF Service + Instance, under CANARY_RELEASE status."; + type uint32; + } + leaf vsServiceFeature { + description "It represents a Vendor-Specific feature number of that + NF Service Instance, under CANARY_RELEASE status."; + type uint32; + } + list supiRangeList { + description "It represents a set of SUPIs for which the NF (Service) + instance under CANARY_RELEASE status shall be selected."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses types5g3gpp:SupiRangeGrp; + } + list gpsiRangeList { + description "It represents a set of GPSIs for which the NF (Service) + instance under CANARY_RELEASE status shall be selected."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses types5g3gpp:IdentityRangeGrp; + } + list impuRangeList { + description "It represents a set of IMS Public Identities for which + the NF (Service) instance under CANARY_RELEASE status shall be + selected."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses types5g3gpp:IdentityRangeGrp; + } + list impiRangeList { + description "It represents a set of IMS Private Identities for which + the NF (Service) instance under CANARY_RELEASE status shall be + selected."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses types5g3gpp:IdentityRangeGrp; + } + leaf-list peiList { + description "It represents a set of PEIs of the UEs for which the + NF (Service) instance under CANARY_RELEASE status shall be + selected."; + min-elements 1; + type string; + } + list taiRangeList { + description "It represents a set of TAIs where the NF (Service) + instance under CANARY_RELEASE status shall be selected for a + certain UE."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses types5g3gpp:TaiRangeGrp; + } + leaf-list dnnList { + description "It represents a set of DNNs where the NF (Service) + instance under CANARY_RELEASE status shall be selected."; + min-elements 1; + type string; + } + } + + grouping SelectionConditionsGrp { + description "This <> represents the list of conditions that + shall be selected by an NF Service Consumer."; + reference "3GPP TS 29.510 clause 6.1.6.2.123"; + + list conditionItem { + key "id"; + description "It represent a single condition item that shall be + evaluated to determine whether a discovered NF (Service) Instance + shall be selected."; + leaf id { type string; } + uses ConditionItemGrp; + } + + list conditionGroup { + description "It represents a group of conditions that shall be + evaluated."; + key idx; + leaf idx { type uint32; } + max-elements 1; + // Note: ConditionGroup references SelectionConditions creating a + // circular dependency. Inlined one level to avoid it. + choice LogicalOperator { + case and { + list and { + description "It represents a list of conditions where the + overall evaluation is true only if all the conditions in + the list are evaluated as true."; + key idx; + leaf idx { type uint32; } + list conditionItem { + key "id"; + description "Condition item to be evaluated."; + leaf id { type string; } + uses ConditionItemGrp; + } + } + } + case or { + list or { + description "It represents a list of conditions where the + overall evaluation is true if at least one of the conditions + in the list is evaluated as true."; + key idx; + leaf idx { type uint32; } + list conditionItem { + key "id"; + description "Condition item to be evaluated."; + leaf id { type string; } + uses ConditionItemGrp; + } + } + } + } + } + } grouping ipEndPoint { choice address { leaf ipv4Address { diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 9e3ffb30..5db3ef63 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-03-25 { reference "CR-xxxx"; } revision 2026-03-20 { reference "CR-0619"; } revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } revision 2025-10-01 { reference "CR-0578" ; } @@ -799,6 +800,22 @@ module _3gpp-common-yang-types { range 0..100; } } + typedef SupportedFeatures { + type string { + pattern '[A-Fa-f0-9]*'; + } + description "It is a string, which indicates the features of the service + corresponding to the subscribed default notification, which are supported + by the NF (Service) instance acting as NF service consumer, when it is + present of the attribute whose type is DefaultNotificationSubscription + <>. When it is present as the attribute of an NFService + instance, it indicates the supported features of the NF Service + A string containing a bitmask indicating supported features in hexadecimal + representation. Each character in the string shall take + a value of 0 to 9, a to f or A to F and shall represent the support + of 4 features as described in table 5.2.2-3 of TS 29.571."; + reference "3GPP TS 29.571"; + } typedef N1MessageClass { type enumeration { @@ -878,7 +895,7 @@ module _3gpp-common-yang-types { reference "shall represent the support of 4 features as described in table 5.2.2-3 of TS 29.571 [61]."; //optional - type string; + type SupportedFeatures; config false; } leaf serviceInfoList { -- GitLab From 9029946e7d612110cd22489b2e5f9a67b6886fe1 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Wed, 1 Apr 2026 18:18:11 +0200 Subject: [PATCH 13/56] aligne stage 2 of managedNfProfile --- yang-models/_3gpp-5g-common-yang-types.yang | 9 +- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 2 +- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 298 +++--------------- yang-models/_3gpp-5gc-nrm-neffunction.yang | 4 +- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 15 +- yang-models/_3gpp-5gc-nrm-pcffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-udmfunction.yang | 15 +- yang-models/_3gpp-5gc-nrm-udrfunction.yang | 15 +- 8 files changed, 76 insertions(+), 284 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 3f6d7b10..3e126734 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -221,10 +221,11 @@ module _3gpp-5g-common-yang-types { } grouping SupportedVendorSpecificFeaturesGrp { - description "This <> represents a map of Vendor-Specific features, - where the key of the map is the IANA-assigned SMI Network Management - Private Enterprise Codes and the value of each entry of the map shall be - a list (array) of VendorSpecificFeature objects as defined in clause 5.3.247."; + description "This <> represents a map of Vendor-Specific + features, where the key of the map is the IANA-assigned SMI + Network Management Private Enterprise Codes and the value of each + entry of the map shall be a list (array) of VendorSpecificFeature + objects as defined in clause 5.3.247."; reference "3GPP TS 29.510 clause 5.3.247"; list supportedVendorSpecificFeatures { diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index 3f02fd5a..5a9e2190 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -66,7 +66,7 @@ module _3gpp-5gc-nrm-ausffunction { by the PCF instance."; key idx; leaf idx { type uint32 ; } - uses mnfp3gpp:SupiRangeGrp; + uses types5g3gpp:SupiRangeGrp; } leaf-list routingIndicators { diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 0cc65323..4f7e50de 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -12,11 +12,12 @@ module _3gpp-5gc-nrm-managed-nfprofile { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; -description "NF profile class. -Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, +description "NF profile dataType. +Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-03-25 { reference "CR-"; } revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-07-25 { reference CR-1558 ; } revision 2025-07-25 { reference "initial revision"; } @@ -54,220 +55,10 @@ TTA, TTC). All rights reserved."; type types3gpp:NfType; } } - grouping SupiRangeGrp { - leaf start { - description "First value identifying the start ofa SUPI range.To be - used when the range of SUPI's can be represented as a numeric range - (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of a SUPI range.To be - used when the range of SUPI's can be represented as a numeric range - (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging to - this range.A SUPI value is considered part of the range if and - only if the SUPI string fully matches the regular expression."; - type string; - } - } - - grouping ConditionItemGrp { - description "This data type represents a single condition item that - shall be evaluated to determine whether a discovered NF (Service) - Instance shall be selected."; - - leaf consumerNfTypes { - description "It represents the NF types of the consumers for - which the conditions included in this ConditionItem apply. - If this attribute is absent, the conditions are applicable - to all NF consumer types."; - type types3gpp:NfType; - } - leaf serviceFeature { - description "It represents a feature number of that NF Service - Instance,under CANARY_RELEASE status. This attribute only - applies when the selectionConditions, where this - ConditionItem is included, is included in a NF Service Instance - This condition is evaluated to when the service requests - froma consumer of this NF Service Instance require the support - of the indicated feature on the NF Service Instance."; - type uint32; // positive integer, 0 excluded by context - } - leaf vsServiceFeature { - description "It represents a Vendor-Specific feature - number of thatNF Service Instance, under CANARY_RELEASE - status. This attribute only applies when the - selectionConditions, where this ConditionItem is included, - is included in a NF Service Instance.This condition is - evaluated to true when the service requests from a - consumer of this NF Service Instance require the support - of the indicated Vendor-Specific feature on the NF - Service Instance."; - type uint32; - } - list supiRangeList { - description "It represents a set of SUPIs for which - the NF (Service) instance under CANARY_RELEASE status shall - be selected."; - key idx; - leaf idx { type uint32; } - uses SupiRangeGrp; - } - list gpsiRangeList { - description "It represents a set of GPSIs for which the NF - (Service) - instance under CANARY_RELEASE status shall be selected"; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses IdentityRange; - } - list impuRangeList { - description "It represents a set of IMS Public Identities - for which the NF (Service) instance under CANARY_RELEASE - status shall be selected"; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses IdentityRange; - } - list impiRangeList { - description "It represents a set of IMS Private Identities - for which theNF (Service) instance under - CANARY_RELEASE status shall be selected."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses IdentityRange; - } - leaf peiList { - description "It represents a set of PEIs of the UEs for - which the NF(Service) instance under CANARY_RELEASE status - shall be selected"; - type string; - } - list taiRangeList { - description "It represents a set of TAIs where the - NF(Service) instance under CANARY_RELEASE status shall - be selected for a certain UE"; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses types5g3gpp:TaiRangeGrp; - } - leaf dnnList { - description " It represents a set of TAIs where the NF - (Service) instance under CANARY_RELEASE status shall be - selected for a certain UE"; - type string; - } - } - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - list sNssaiList { - description "The specific list of S-NSSAIs supported - by the given PLMN."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses types5g3gpp:SNssai; - } - leaf nid { - description "Network Identity; Shall be present if PlmnIdNid - identifies an SNPN "; - reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, - and 6.3.8 in 3GPP TS 23.501 "; - type string; - } - } - - grouping ConditionGroupGrp { - description "This <> represents a group of conditions that - shall be evaluated to determine whether a discovered NF (Service) - Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; - - choice LogicalOperator{ - case and { - list and { - description "It represents a list of conditions where the - overall evaluation is true only if all the conditions - in the list are evaluated as true."; - key idx; - leaf idx { type uint32; } - uses SelectionConditionsGrp; - } - - } - case or{ - list or { - description "It represents a list of conditions where the - overall evaluation is true if at least one of the conditions - in the list evaluated as true"; - key idx; - leaf idx { type uint32; } - uses SelectionConditionsGrp; - } - } - } - - } - - grouping SelectionConditionsGrp { - description "This data type represents the list of conditions that - shall be selected by an NF Service Consumer."; - reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; - - list conditionItem{ - key "id"; - description "It represent a single condition item that shall be - evaluated Instance shall be selected."; - leaf id{ - type string; - } - uses ConditionItemGrp; - } - - // circular dependency for grouping "ConditionGroupGrp" introduced in - //stage 2 - // container conditionGroup{ - // description "It represents a group of conditions - // that shall be evaluated"; - // uses ConditionGroupGrp; - // } - - } - - grouping IdentityRange { - leaf start { - description "First value identifying the start of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g., MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - leaf end {type string; } // dummy - leaf pattern {type string; } // dummy - } grouping ManagedNFProfileGrp { + description "Represents the ManagedNFProfile <> as defined in + clause 5.3.54 of 3GPP TS 28.541."; leaf nfInstanceId { description "String uniquely identifying a NF instance."; @@ -372,7 +163,7 @@ grouping ManagedNFProfileGrp { of the NFService(s)."; key idx; leaf idx { type uint32; } - uses PlmnSnssai; + uses nfs3gpp:PlmnSnssai; } list allowedSNPNs { @@ -406,12 +197,17 @@ grouping ManagedNFProfileGrp { uses types5g3gpp:SNssai; } - // list allowedRuleSet { - // description "S-NSSAI of the allowed slices to access the NF instance. - // If not provided, any slice is allowed to access the NF."; - // key "sst sd"; - // uses RuleSet;? -// } + list allowedRuleSet { + description "It represents map of rules specifying NF-Consumers + allowed or denied to access the NF-Producer. It may be present + when the NF-Producer and the NRF support Allowed-ruleset feature + as specified in clause 6.1.9."; + reference "3GPP TS 29.510"; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:RuleSetGrp; + } + leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; @@ -438,6 +234,7 @@ grouping ManagedNFProfileGrp { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; + config false; } leaf loadTimeStamp { description "It indicates the point in time in which the latest load @@ -446,13 +243,15 @@ grouping ManagedNFProfileGrp { the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; type yang:date-and-time ; + config false; } - leaf-list recoveryTime { + leaf recoveryTime { description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed"; type yang:date-and-time; + config false; } leaf nfServicePersistence { description "This parameter indicates whether the different service @@ -463,6 +262,7 @@ grouping ManagedNFProfileGrp { Service Consumer "; reference "TS 29.510"; type boolean; + config false; } leaf-list nfSetIdList { type string ; @@ -486,17 +286,17 @@ grouping ManagedNFProfileGrp { max-elements 1; type boolean; } - leaf-list nfProfilePartialUpdateChangesSupportInd { + leaf nfProfilePartialUpdateChangesSupportInd { description "It represents NF Profile Partial Update Changes Support Indicator. TRUE: the NF Service Consumer supports receiving NF Profile Changes in the response to an NF Profile Partial Update operation. FALSE (default): the NF Service Consumer does not support receiving NF Profile Changes in the response to an NF Profile Partial Update operation"; - max-elements 1; type boolean; + config false; } - leaf-list nfProfileChangesInd { + leaf nfProfileChangesInd { description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. @@ -504,7 +304,7 @@ grouping ManagedNFProfileGrp { false (default): complete NF Profile."; type boolean; - max-elements 1; + config false; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types. @@ -513,6 +313,7 @@ grouping ManagedNFProfileGrp { as alternative notification endpoints."; key notificationType; min-elements 1; + config false; uses types3gpp:DefaultNotificationSubscription; } leaf servingScope { @@ -572,7 +373,7 @@ grouping ManagedNFProfileGrp { for inter-PLMN routing is specified."; type inet:domain-name; } - list nfServices { + list nfServiceList { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; @@ -580,37 +381,17 @@ grouping ManagedNFProfileGrp { min-elements 1; uses nfs3gpp:NFServiceGrp; } - list supportedVendorSpecificFeatures { - description "It indicates a map of Vendor-Specific features, where the - key of the map is the IANA-assigned SMI Network Management Private - Enterprise Codes and the value of each entry of the map shall be - a list (array) of VendorSpecificFeature objects as defined - in the clause 5.3.247."; - key "enterpriseCode"; - - leaf enterpriseCode { - type uint32; - description "IANA-assigned SMI Network Management Private - Enterprise Code"; - } - - list vendorSpecificFeature { - key "featureName"; - config false; - description "VendorSpecificFeature objects as defined - in the clause 5.3.247."; - uses types5g3gpp:VendorSpecificFeatureGrp; - } - } + uses types5g3gpp:SupportedVendorSpecificFeaturesGrp; list selectionConditions { description "Identifications of Credentials Holder or Default Credentials Server. It is an array of FQDN."; leaf idx { type uint32; } key "idx"; - uses SelectionConditionsGrp; + max-elements 1; + uses nfs3gpp:SelectionConditionsGrp; } - leaf-list canaryRelease { + leaf canaryRelease { description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. it should only be selected by NF Service Consumers under the @@ -619,10 +400,10 @@ grouping ManagedNFProfileGrp { nfStatus is set to REGISTERED False: the NF instance indicates its Canary Release condition via the nfStatus attribute"; - max-elements 1; type boolean; + default false; } - leaf-list exclusiveCanaryReleaseSelection { + leaf exclusiveCanaryReleaseSelection { description "This attribute indicates whether an NF Service Consumer should only select an NF Service Producer in Canary Release condition. @@ -630,8 +411,8 @@ grouping ManagedNFProfileGrp { condition False: the consumer may select producers not in Canary Release condition"; - max-elements 1; type boolean; + default false; } leaf sharedProfileDataId { description "This attribute indicates a string uniquely identifying @@ -643,16 +424,18 @@ grouping ManagedNFProfileGrp { Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; type string; } - leaf-list shutdownTime { + leaf shutdownTime { description "It indicates the timestamp when the NF Instance is planned to be shut down. This attribute may be present if the nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; type yang:date-and-time ; - max-elements 1; + config false; } - leaf supportedRcfs { + leaf-list supportedRcfs { description "It represents a list of Resource Content Filter IDs"; type string; + min-elements 1; + config false; } leaf canaryPrecedenceOverPreferred { description "ManagedNFProfile.canaryPrecedenceOverPreferred This @@ -671,6 +454,7 @@ grouping ManagedNFProfileGrp { in NF Service Producers shall not be prioritized over NF Service Consumer preferences at NF discovery requests)"; type boolean; + default false; } typedef NFStatus { type enumeration { diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 6f8b80c8..9c056d89 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -213,7 +213,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list externalGroupIdentifiersRanges { @@ -222,7 +222,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } leaf-list servedFqdnList { diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index a982a6d9..741690fa 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -76,9 +76,10 @@ module _3gpp-5gc-nrm-nrffunction { list supiRangeList { description "List of ranges of SUPIs that can be served by the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:SupiRangeGrp; + uses types5g3gpp:SupiRangeGrp; } list gpsiRangeList { @@ -87,7 +88,7 @@ module _3gpp-5gc-nrm-nrffunction { key idx; leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list plmnRangeList { @@ -212,7 +213,7 @@ module _3gpp-5gc-nrm-nrffunction { description "Unique identifier for the IMSI range."; type string; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list imsPublicIdentityRanges{ description "This attribute defines the list of ranges of MSISDNs whose @@ -223,7 +224,7 @@ module _3gpp-5gc-nrm-nrffunction { description "Unique identifier for the IMSI range."; type string; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list msisdnRanges{ description "This attribute defines the list of ranges of IMS Public @@ -234,7 +235,7 @@ module _3gpp-5gc-nrm-nrffunction { description "Unique identifier for the IMSI range."; type string; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list externalGroupIdentifiersRanges{ description "This attribute defines the list of ranges of external @@ -246,7 +247,7 @@ module _3gpp-5gc-nrm-nrffunction { description "Unique identifier for the IMSI range."; type string; } - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list hssDiameterAddress{ description "This attribute defines the Diameter Address of the HSS "; diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index a9ab6b43..bc376755 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -116,7 +116,7 @@ module _3gpp-5gc-nrm-pcffunction { key idx; leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:SupiRangeGrp; + uses types5g3gpp:SupiRangeGrp; } leaf rxDiamHost { diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 6fc1e879..b609689b 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -84,25 +84,28 @@ module _3gpp-5gc-nrm-udmfunction { list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDM instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:SupiRangeGrp; + uses types5g3gpp:SupiRangeGrp; } list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDM instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDM instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } leaf-list routingIndicators { diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 5f9ff102..e6d4ec66 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -41,25 +41,28 @@ module _3gpp-5gc-nrm-udrfunction { list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDR instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:SupiRangeGrp; + uses types5g3gpp:SupiRangeGrp; } list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDR instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDR instance."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:IdentityRange; + uses types5g3gpp:IdentityRangeGrp; } leaf-list supportedDataSets { -- GitLab From 61165b7213b47e74b250e94862936745481656ae Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Wed, 1 Apr 2026 22:04:42 +0200 Subject: [PATCH 14/56] aligne stage 2 and 3 for _3gpp-5gc-nrm-predefinedpccruleset.yang --- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 498 ++++++++++++++++-- 1 file changed, 449 insertions(+), 49 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index e5da73f1..274eaad1 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -35,8 +35,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { reference " 3GPP TS 29.512"; leaf periodicity { type uint32; - description "It identifies the time period between the start of two bursts - in reference to the TSN GM."; + description "It identifies the time period between the start of two + bursts in reference to the TSN GM."; reference "3GPP TS 29.571."; } leaf burstArrivalTime { @@ -48,7 +48,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping ConditionData { - description "It specifies the specifies the condition data for a PCC rule."; + description "It specifies the specifies the condition data for a + PCC rule."; leaf condId { type string; mandatory true; @@ -56,14 +57,14 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf activationTime { type yang:date-and-time; - description " It indicates the time (in date-time format) when the decision - data shall be activated."; + description " It indicates the time (in date-time format) when the + decision data shall be activated."; reference "3GPP29.512 and TS 29.571."; } leaf deactivationTime { type yang:date-and-time; - description "It indicates the time (in date-time format) when the decision - data shall be deactivated."; + description "It indicates the time (in date-time format) when the + decision data shall be deactivated."; reference "3GPPTS 29.512 and TS 29.571."; } leaf accessType { @@ -110,7 +111,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum REDUNDANT; } mandatory true; - description "It indicates the value of the steering mode, see TS 29.512."; + description "It indicates the value of the steering mode"; + reference " see TS 29.512."; } leaf active { type enumeration { @@ -156,8 +158,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf notifCorreId { type string; mandatory true; - description "It is used to set the value of Notification Correlation ID in - the notification sent by the SMF, see TS 29.512"; + description "It is used to set the value of Notification Correlation ID + in the notification sent by the SMF, see TS 29.512"; } leaf dnaiChgType { type enumeration { @@ -286,8 +288,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } container addRedirectInfo { description "It contains the additional redirect information indicating - whether the detected application traffic should be redirected to another - controlled address."; + whether the detected application traffic should be redirected to another + controlled address."; list redirectInfo { description "The list of redirect information indicating whether the detected application traffic should be redirected to another @@ -299,17 +301,18 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf muteNotif { type boolean; default false; - description "It indicates whether applicat'on's start or stop notification - is to be muted."; + description "It indicates whether applicat'on's start or stop + notification is to be muted."; } leaf trafficSteeringPolIdDl { type string; - description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512"; + description "It references to a pre-configured traffic steering policy + for downlink traffic at the SMF, see TS 29.512"; } leaf trafficSteeringPolIdUl { type string; - description "It references to a pre-configured traffic steering policy for - uplink traffic at the SMF, see TS 29.512"; + description "It references to a pre-configured traffic steering policy + for uplink traffic at the SMF, see TS 29.512"; } container routeToLocs { description "It provides a list of location which the traffic shall be @@ -335,7 +338,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum MPQUIC_IP; enum MPQUIC_E; } - description "It indicates the applicable traffic steering functionality."; + description "It indicates the applicable traffic steering + functionality."; reference "3GPPTS 29.512"; } container steerModeDl { @@ -344,7 +348,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { uses SteeringMode; } container steerModeUl { - description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for uplink traffic."; + description "It provides the traffic distribution rule across 3GPP and + Non-3GPP accesses to apply for uplink traffic."; uses SteeringMode; } leaf mulAccCtrl { @@ -352,7 +357,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum ALLOWED; enum NOT_ALLOWED; } - description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; + description "It indicates whether the service data flow, corresponding to + the service data flow template, is allowed or not allowed."; } list sNSSAIList { description "It represents the list of S-NSSAI the managed object is @@ -403,10 +409,88 @@ module _3gpp-5gc-nrm-predefinedpccruleset { flow is supported, when it is included and set to 'true'. The default value is 'false' if omitted."; } + leaf dataEndMarkInd { + type boolean; + default false; + description "It indicates the Data End marking for + the DL service data flow is supported, when it is + included and set to 'true'. The default value is + 'false' if omitted."; + reference "3GPP TS 29.512"; + } + } + + grouping TrafficParaDataGrp { + description "This data type represents the Traffic + Parameter(s) related control information."; + reference "3GPP TS 29.512 clause 5.6.2.56"; + + leaf periodUl { + type uint32; + description "It indicates the time period between + the start of the two data bursts in units of + milliseconds in Uplink direction."; + //optional + } + + leaf periodDl { + type uint32; + description "It indicates the time period between + the start of the two data bursts in units of + milliseconds in Downlink direction."; + //optional + } + + leaf-list reqTrafficParas { + type enumeration { + enum DL_N6_JITTER; + enum DL_PERIOD; + enum UL_PERIOD; + } + min-elements 1; + description "Indicates the traffic parameters to + be measured."; + //optional + } + + leaf-list repFreqs { + type enumeration { + enum EVENT_TRIGGERED; + enum PERIODIC; + } + min-elements 1; + description "It represents the notification method + (periodic or on event detection). It shall be + present if the reqTrafficParas attribute is + present."; + //optional + } + + leaf dlN6JitterThr { + type uint32; + description "It indicates threshold for the N6 + Jitter Information associated with downlink + Periodicity that triggers the report of the + traffic parameters indicated in the + reqTrafficParas attribute. Only applicable when + the repFreqs attribute includes the value + EVENT_TRIGGERED."; + //optional + } + + leaf repPeriod { + type uint32; + description "Indicates the time interval between + successive event notifications. Only applicable + when the repFreqs attribute includes the value + PERIODIC."; + //optional + } } grouping ARP { - description "It specifies the allocation and retention priority of a QoS control policy."; + description "It specifies the allocation and retention priority of + a QoS control policy."; leaf priorityLevel { type uint8 { range 1..15; @@ -420,7 +504,9 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum MAY_PREEMPT; } mandatory true; - description "It defines whether a service data flow may get resources that were already assigned to another service data flow with a lower priority level."; + description "It defines whether a service data flow may get resources + that were already assigned to another service data flow with a lower + priority level."; } leaf preemptVuln { type enumeration { @@ -428,12 +514,16 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum PREEMPTABLE; } mandatory true; - description "It defines whether a service data flow may lose the resources assigned to it in order to admit a service data flow with higher priority level."; + description "It defines whether a service data flow may lose the + resources assigned to it in order to admit a service data flow + with higher priority + level."; } } grouping QosDataInformation { - description "It specifies the QoS control policy data for a service flow of a PCC rule."; + description "It specifies the QoS control policy data for a service flow of + a PCC rule."; leaf qosId { type string; mandatory true; @@ -466,38 +556,46 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf qosNotificationControl { type boolean; default false; - description "It indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow."; + description "It indicates whether notifications are requested from + 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed + for a QoS Flow during the lifetime of the QoS Flow."; } leaf reflectiveQos { type boolean; default false; - description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow"; + description "Indicates whether the QoS information is reflective for + the corresponding non-GBR service data flow"; } leaf sharingKeyDl { type string; - description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction."; + description "It indicates, by containing the same value, what PCC rules + may share resource in downlink direction."; } leaf sharingKeyUl { type string; - description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction."; + description "It indicates, by containing the same value, what PCC rules + may share resource in uplink direction."; } leaf maxPacketLossRateDl { type uint16 { range 0..1000; } - description "It indicates the downlink maximum rate for lost packets that can be tolerated for the service data flow."; + description "It indicates the downlink maximum rate for lost packets + that can be tolerated for the service data flow."; } leaf maxPacketLossRateUl { type uint16 { range 0..1000; } - description "It indicates the uplink maximum rate for lost packets that can be tolerated for the service data flow."; + description "It indicates the uplink maximum rate for lost packets that + can be tolerated for the service data flow."; } leaf extMaxDataBurstVol { type uint32 { range 4096..2000000; } - description "It denotes the largest amount of data that is required to be transferred within a period of 5G-AN PDB, see TS 29.512"; + description "It denotes the largest amount of data that is required to + be transferred within a period of 5G-AN PDB, see TS 29.512"; } } @@ -518,7 +616,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf fDesc { type string; - description "It contains the flow description for the Uplink or Downlink IP flow. It shall be present when the ethtype is IP."; + description "It contains the flow description for the Uplink or + Downlink IP flow. It shall be present when the ethtype is IP."; } leaf fDir { type enumeration { @@ -545,11 +644,17 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf srcMacAddrEnd { type string; - description "It specifies the source MAC address end. If this attribute is present, the sourceMacAddr attribute specifies the source MAC address start. E.g. srcMacAddrEnd with value 00-10-A4-23-3E-FE and sourceMacAddr with value 00-10-A4-23-3E-02 means all MAC addresses from 00-10-A4-23-3E-02 up to and including 00-10-A4-23-3E-FE."; + description "It specifies the source MAC address end. If this attribute + is present, the sourceMacAddr attribute specifies the source MAC address + start. E.g. srcMacAddrEnd with value 00-10-A4-23-3E-FE and + sourceMacAddr with value 00-10-A4-23-3E-02 means all MAC addresses + from 00-10-A4-23-3E-02 up to and including 00-10-A4-23-3E-FE."; } leaf destMacAddrEnd { type string; - description "It specifies the destination MAC address end. If this attribute is present, the destMacAddr attribute specifies the destination MAC address start."; + description "It specifies the destination MAC address end. If this + attribute is present, the destMacAddr attribute specifies the + destination MAC address start."; } } @@ -574,7 +679,8 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf tosTrafficClass { type string; mandatory true; - description "It contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field."; + description "It contains the Ipv4 Type-of-Service and mask field or the + Ipv6 Traffic-Class field and mask field."; } leaf spi { type string; @@ -594,7 +700,205 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum UNSPECIFIED; } mandatory true; - description "It indicates the direction/directions that a filter is applicable."; + description "It indicates the direction/directions that a filter is + applicable."; + } + } + + grouping RtpHeaderExtInfoGrp { + description "It contains information on the RTP header + extension that can be used for PDU Set identification, + End of Data Burst marking, Data Burst Size marking + and/or Time to Next Burst marking."; + reference "3GPP TS 29.571"; + + leaf rtpHeaderExtType { + type enumeration { + enum PDU_SET_MARKING; + enum DYN_CHANGING_TRAFFIC_CHAR; + } + description "It indicates the RTP header extension + type. Extension that can be used for: + - PDU Set identification and/or End of Data Burst + marking; or + - Data Burst Size marking and/or Time to Next + Burst marking."; + } + + leaf rtpHeaderExtId { + type uint8 { + range "1..255"; + } + description "It represents the Id of the RTP header + extension identified by the rtpHeaderExtType."; + } + + leaf longFormat { + type boolean; + description "It indicates if a short or a long header + extension format is used. + true: 2-byte (long) format is used + false: 1-byte (short) format is used"; + } + + leaf pduSetSizeActive { + type boolean; + description "It indicates if the PDU Set size in bytes + is present in the RTP header extension of every RTP + packet. + true: PDU Set size is present + false: PDU Set size is not present"; + } + + leaf pduSetPduCountActive { + type boolean; + description "It indicates if the number of PDUs of a + PDU Set is present in the RTP header extension of + every RTP packet. + true: Number of PDUs of PDU Set is present + false: Number of PDUs of PDU Set is not present"; + } + } + + grouping RtpPayloadInfoGrp { + description "This data type specifies the RtpPayloadInfo, + see TS 29.571."; + reference "3GPP TS 29.571"; + + leaf-list rtpPayloadTypeList { + type uint8 { + range "0..127"; + } + min-elements 1; + description "It contains the list of Payload Type (PT) + values in the RTP header of RTP packets the UPF may + parse to derive the PDU Set Information."; + } + + leaf rtpPayloadFormat { + type enumeration { + enum H264; + enum H265; + } + description "It indicates the RTP Payload format."; + } + } + + grouping ProtocolDescriptionGrp { + description "This data type specifies the ProtocolDescription, + see TS 29.571."; + reference "3GPP TS 29.571"; + + leaf transportProto { + type enumeration { + enum RTP; + enum SRTP; + enum MOQT; + //optional + } + description "It indicates the transport protocol used by + the media flow."; + } + + list rtpHeaderExtInfo { + description "It contains information on the RTP header + extension that can be used for PDU Set identification, + End of Data Burst marking, Data Burst Size marking + and/or Time to Next Burst marking."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses RtpHeaderExtInfoGrp; + //optional + } + + list addRtpHeaderExtInfo { + description "It contains information on additional RTP + header extensions."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses RtpHeaderExtInfoGrp; + //optional + } + + list rtpPayloadInfoList { + description "It contains RTP Payload information for + the RTP stream."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses RtpPayloadInfoGrp; + //optional + } + + leaf mriTransferInfo { + type enumeration { + enum UDP_OPTION; + //optional + } + description "It indicates how media related information + is transferred for end-to-end encrypted traffic."; + } + } + + grouping QoSMonitoringDataGrp { + description "This data type specifies the QosMonitoringData, + see clause 5.6.2.40 in TS 29.512."; + reference "3GPP TS 29.512 clause 5.6.2.40"; + + leaf qmId { + type string; + mandatory true; + description "It identifies the QoS monitoring policy data + within a PDU session."; + } + + leaf qosMonParamType { + type enumeration { + enum PACKET_DELAY; + enum CONGESTION; + enum DATA_RATE; + enum AVAILABLE_BITRATE; + } + description "It indicates the type of QoS monitoring + parameter."; + } + + leaf-list reqQosMonParams { + type enumeration { + enum DOWNLINK; + enum UPLINK; + enum ROUND_TRIP; + enum DOWNLINK_DATA_RATE; + enum UPLINK_DATA_RATE; + enum DOWNLINK_CONGESTION; + enum UPLINK_CONGESTION; + enum DOWNLINK_AVAILABLE_BITRATE; + enum UPLINK_AVAILABLE_BITRATE; + } + min-elements 1; + description "It indicates QoS information to be monitored + when the QoS Monitoring is enabled for the service + data flow."; + } + + leaf repFreqs { + type enumeration { + enum EVENT_TRIGGERED; + enum PERIODIC; + } + mandatory true; + description "It indicates the frequency for the reporting + for the indicated QoS monitoring parameter."; + } + + leaf repPeriod { + type uint32; + description "It indicates the reporting period in units + of seconds. Only applicable when the repFreqs attribute + includes the value PERIODIC."; + //optional } } @@ -622,10 +926,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf appDescriptor { type string; description "It is the ATSSS rule application descriptor."; + //optional } leaf contentVersion { type uint8; description "Indicates the content version of the PCC rule."; + //optional } leaf precedence { type uint8 { @@ -641,17 +947,20 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } description "Indicates the protocol used for signalling between the UE and the AF, the default value is NO_INFORMATION."; + //optional } leaf isAppRelocatable { type boolean; default false; description "It indicates the application relocation possibility, the default value is NO_INFORMATION."; + //optional } leaf isUeAddrPreserved { type boolean; default false; description "It Indicates whether UE IP address should be preserved."; + //optional } container qosData { description "It contains the QoS control policy data for a PCC rule."; @@ -668,10 +977,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "The list of QoS control policy data."; key "qosId"; uses QosDataInformation; + //optional } } container trafficControlData { - description "It contains the traffic control policy data for a PCC rule."; + description "It contains the traffic control policy data for a PCC + rule."; list trafficControlDataInfo { description "The list of traffic control policy data."; key "tcId"; @@ -680,40 +991,125 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } uses ConditionData; container tscaiInputUl { - description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; + description "It contains transports TSCAI input parameters for TSC + traffic at the ingress interface of the DS-TT/UE (uplink flow + direction)."; uses TscaiInputContainer; + //optional } container tscaiInputDl { - description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; + description "It contains transports TSCAI input parameters for TSC + traffic at the ingress of the NW-TT (downlink flow direction)."; uses TscaiInputContainer; + //optional } leaf easRedisIndRequired { type boolean; default false; - description "Indicates whether the EAS rediscovery is required for the application."; + description "Indicates whether the EAS rediscovery is required for the + application."; + //optional } leaf tscaiTimeDom { type uint32; - description "Indicates the (g)PTP domain that the (TSN)AF is located in."; + description "Indicates the (g)PTP domain that the (TSN)AF is located + in."; + //optional } leaf capBatNotificationCapable { type boolean; default false; - description "Indicates the capability for AF to adjust the burst sending time."; + description "Indicates the capability for AF to adjust the burst + sending time."; + //optional } leaf ueNotifEnabled { type boolean; default false; - description "Indicates whether QoS flow parameter signalling to the UE is enabled (TRUE), when the SMF is notified by the NG-RAN of changes in the fulfilled QoS situation,"; + //optional + description "Indicates whether QoS flow parameter signalling to the UE is + enabled (TRUE), when the SMF is notified by the NG-RAN of changes in the + fulfilled QoS situation,"; } leaf packFiltAllPrec { type uint32; - description "Determines the order of TFT packet filter allocation for PCC rules."; + description "Determines the order of TFT packet filter allocation for + PCC rules."; + //optional } leaf nscSupportedFeats { type uint32; - description "Indicates the Network Function Service Consumer features supported per service."; + description "Indicates the Network Function Service + Consumer features supported per service."; + //optional + } + + list qosMonData { + description "It contains QoS monitoring related control + information, see clause 5.6.2.40 in TS 29.512."; + max-elements 1; + key "qmId"; + uses QoSMonitoringDataGrp; + //optional + } + + list protoDescDl { + description "It represents the downlink protocol + description for the identification of the DL packets + of the PDU Set, the detection of the last packet of + the data burst, the detection of the Data Burst Size, + and/or indication of whether MoQ or UDP-option is used + to carry media related information."; + reference "3GPP TS 29.512"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses ProtocolDescriptionGrp; + //optional + } + + list protoDescUl { + description "It represents the uplink protocol description + for the identification of the UL packets of the PDU Set + in the UE."; + reference "3GPP TS 29.512"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses ProtocolDescriptionGrp; + //optional + } + + leaf expTranInd { + type boolean; + default false; + description "It represents the Expedited Transfer + Indication for the downlink traffic to enable + expedited data transfer with reflective QoS for + the non-GBR service data flow."; + //optional + } + + leaf multiModalId { + type string; + description "It represents the Multi-modal Service + Identifier."; + reference "see clause 5.6.3.2 in TS 29.514"; + //optional + } + + list traffParaData { + description "It contains Traffic Parameter(s) related + control information providing assistance information + that enable UE power saving management for XRM + service."; + reference "3GPP TS 29.512"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses TrafficParaDataGrp; + //optional } } @@ -727,25 +1123,29 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping PredefinedPccRuleSetSubtree { - description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; + description "It specifies the PredefinedPccRuleSet IOC with inherited + attributes."; list PredefinedPccRuleSet { description "Specifies the predefined PCC rules."; key "id"; uses top3gpp:Top_Grp; container attributes { - description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; + description "It contains the attributes defined specifically in the + PredefinedPccRuleSet IOC."; uses PredefinedPccRuleSetGrp; } } } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - description "It specifies the containment relation of PredefinedPccRuleSet MOI with SMFFunction MOI."; + description "It specifies the containment relation of + PredefinedPccRuleSet MOI with SMFFunction MOI."; uses PredefinedPccRuleSetSubtree; } augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { - description "It specifies the containment relation of PredefinedPccRuleSet MOI with PCFFunction MOI."; + description "It specifies the containment relation of + PredefinedPccRuleSet MOI with PCFFunction MOI."; uses PredefinedPccRuleSetSubtree; } } \ No newline at end of file -- GitLab From 268d2e0aba39a388c899fe1eab9856055258cd7c Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 3 Apr 2026 14:53:31 +0000 Subject: [PATCH 15/56] Update MDT config to include NTN plan handling per CR0624. --- yang-models/_3gpp-common-trace.yang | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 2a5c9e86..092fb7bd 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2026-04-02 { reference "CR-0624" ; } revision 2026-03-20 { reference "CR-0619" ; } revision 2026-02-08 { reference "CR-1683" ; } revision 2025-11-07 { reference "CR-0553" ; } @@ -1724,7 +1725,9 @@ module _3gpp-common-trace { the attribute loggedMdtConfig are applicable. The optional attribute plmnList allows to specify the PLMNs where - measurements collection, status indication and log reporting is allowed."; + measurements collection, status indication and log reporting is allowed. + For NTN MDT, if the list of plmnList is included, it will only log + measurements for the cells belonging to the listed PLMNs."; leaf anonymizationOfMdtData { when ../areaScope ; -- GitLab From ef2734c586949dd0ed395acdb45c846da2113c20 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 14 Apr 2026 09:21:21 +0200 Subject: [PATCH 16/56] added mnpffunction --- yang-models/_3gpp-5gc-nrm-mnpffunction.yang | 84 +++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 yang-models/_3gpp-5gc-nrm-mnpffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-mnpffunction.yang b/yang-models/_3gpp-5gc-nrm-mnpffunction.yang new file mode 100644 index 00000000..6813e861 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-mnpffunction.yang @@ -0,0 +1,84 @@ +module _3gpp-5gc-nrm-mnpffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-mnpffunction; + prefix mnpf3gpp; + + 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; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "MNNPFFunction derived from basic ManagedFunction. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-13 { reference CR-1694 ; } + + grouping MnpfInfoGrp { + description "Represents the data type MnpfInfo."; + + list msisdnRanges { + description "Represents the list of ranges of MSISDNs whose portability + status is available in the MNPF."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + } + + grouping MNPFFunctionGrp { + description "Represents the SMFFuntion 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; + } + + 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 mnpfInfo { + description "This attribute represents information of an MNPF NF + Instance"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses MnpfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list MNPFFunction { + description "MNPF NF"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MNPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file -- GitLab From 0b20af99651eed1d0ac2456ade2f41fa1a4f79d7 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 14 Apr 2026 12:20:32 +0200 Subject: [PATCH 17/56] aliging stage 2 EP_ NRM to stage 3 --- yang-models/_3gpp-5gc-nrm-ep.yang | 419 ++++++++++++++++++++++++++++-- 1 file changed, 399 insertions(+), 20 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 52cd3f5b..03e8cca6 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -23,6 +23,10 @@ module _3gpp-5gc-nrm-ep { 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; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -176,10 +180,6 @@ module _3gpp-5gc-nrm-ep { uses eprp3gpp:EP_Common; } - grouping EP_NLSGrp { - uses eprp3gpp:EP_Common; - } - grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } @@ -192,23 +192,123 @@ module _3gpp-5gc-nrm-ep { type string; } } - + grouping EP_NL1Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N60Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N41Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N42Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N89Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N11mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_AIOT3Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N40Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N88Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N16mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N62Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N86Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N61Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL8Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL7Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL10Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N96Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_SM14Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N34Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N28Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N84Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL6Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL87Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N19mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N33Grp { + 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_SM13Grp { + uses eprp3gpp:EP_Common; + } augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; + list EP_N5 { + description "Represents the EP_N5 IOC."; key id; uses top3gpp:Top_Grp; container attributes { - uses EP_N6Grp; + uses EP_N5Grp; } } - list EP_Rx { - description "Represents the EP_Rx IOC."; + list EP_N62 { + description "Represents the EP_N62 IOC."; key id; uses top3gpp:Top_Grp; container attributes { - uses EP_RxGrp; + uses EP_N62Grp; + } + } + list EP_N86 { + description "Represents the EP_N86 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N86Grp; } } } @@ -303,16 +403,14 @@ module _3gpp-5gc-nrm-ep { uses EP_N26Grp; } } - - list EP_NLS { - description "Represents the EP_NLS IOC."; + list EP_NL1 { + description "Represents the EP_NL1 IOC."; key id; uses top3gpp:Top_Grp; container attributes { - uses EP_NLSGrp; + uses EP_NL1Grp; } } - list EP_NL2 { description "Represents the EP_NL2 IOC."; key id; @@ -321,6 +419,56 @@ module _3gpp-5gc-nrm-ep { uses EP_NL2Grp; } } + + list EP_N60 { + description "Represents the EP_N60 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N60Grp; + } + } + list EP_N41 { + description "Represents the EP_N41 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N41Grp; + } + } + list EP_N42 { + description "Represents the EP_N42 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N42Grp; + } + } + list EP_N89 { + description "Represents the EP_N89 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N89Grp; + } + } + list EP_N11mb { + description "Represents the EP_N11mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N11mbGrp; + } + } + list EP_AIOT3 { + description "This IOC represents the AIOT3 interface between AMF and + AIOTF, which is defined in 3GPP TS 23.369."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT3Grp; + } + } } augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { @@ -341,6 +489,14 @@ module _3gpp-5gc-nrm-ep { uses EP_N13Grp; } } + list EP_N61 { + description "Represents the EP_N61 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N61Grp; + } + } } augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { @@ -355,12 +511,36 @@ module _3gpp-5gc-nrm-ep { } augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { - list EP_NLS { - description "Represents the EP_NLS IOC."; + list EP_NL1 { + description "Represents the EP_NL1 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL1Grp; + } + } + list EP_NL8 { + description "Represents the EP_NL8 IOC."; key id; uses top3gpp:Top_Grp; container attributes { - uses EP_NLSGrp; + uses EP_NL8Grp; + } + } + list EP_NL7 { + description "Represents the EP_NL7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL7Grp; + } + } + list EP_NL10 { + description "Represents the EP_NL10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL10Grp; } } } @@ -405,7 +585,22 @@ module _3gpp-5gc-nrm-ep { uses EP_N26Grp; } } - + list EP_N96 { + description "Represents the EP_N96 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N96Grp; + } + } + list EP_SM14 { + description "Represents the EP_SM14 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_SM14Grp; + } + } } augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { @@ -426,6 +621,14 @@ module _3gpp-5gc-nrm-ep { uses EP_N31Grp; } } + list EP_N34 { + description "Represents the EP_N34 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N34Grp; + } + } } augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { @@ -473,6 +676,22 @@ module _3gpp-5gc-nrm-ep { uses EP_RxGrp; } } + list EP_N28 { + description "Represents the EP_N28 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N28Grp; + } + } + list EP_N84 { + description "Represents the EP_N84 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N84Grp; + } + } } augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { @@ -569,6 +788,30 @@ module _3gpp-5gc-nrm-ep { uses EP_S5CGrp; } } + list EP_N40 { + description "Represents the EP_N40 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N40Grp; + } + } + list EP_N88 { + description "Represents the EP_N88 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N88Grp; + } + } + list EP_N16mb { + description "Represents the EP_N16mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N16mbGrp; + } + } } augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { @@ -598,6 +841,22 @@ module _3gpp-5gc-nrm-ep { uses EP_N13Grp; } } + list EP_NL6 { + description "Represents the EP_NL6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL6Grp; + } + } + list EP_NL87 { + description "Represents the EP_NL87 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL87Grp; + } + } } @@ -646,5 +905,125 @@ module _3gpp-5gc-nrm-ep { uses EP_N6Grp; } } + list EP_N19mb { + description "Represents the EP_N19mb IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N19mbGrp; + } + } } + 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; + } + } + list EP_N85 { + description "Represents the EP_N85 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N85Grp; + } + } + list EP_N63 { + description "Represents the EP_N63 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N63Grp; + } + } + list EP_NL5 { + description "Represents the EP_NL5 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL5Grp; + } + } + } + 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; + } + } + list EP_NL2 { + description "Represents the EP_NL2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL2Grp; + } + } + list EP_NL3 { + description "Represents the EP_NL3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL3Grp; + } + } + list EP_NL5 { + description "Represents the EP_NL5 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL5Grp; + } + } + list EP_NL6 { + description "Represents the EP_NL6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL6Grp; + } + } + list EP_NL10 { + description "Represents the EP_NL10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NL10Grp; + } + } + } + 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; + } + } + list EP_N34 { + description "Represents the EP_N34 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N34Grp; + } + } + } + augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" { + list EP_SM13 { + description "Represents the EP_SM13 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_SM13Grp; + } + } + } } \ No newline at end of file -- GitLab From 0c43382b1e662dfcc577ccf939dd71e361245c9c Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 14 Apr 2026 17:06:17 +0200 Subject: [PATCH 18/56] aligne stage 2 to yang adding _3gpp-5gc-nrm-nsacffunction --- yang-models/_3gpp-5gc-nrm-nsacffunction.yang | 278 +++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-nsacffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-nsacffunction.yang b/yang-models/_3gpp-5gc-nrm-nsacffunction.yang new file mode 100755 index 00000000..0a05e10e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nsacffunction.yang @@ -0,0 +1,278 @@ +module _3gpp-5gc-nrm-nsacffunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nsacffunction; + prefix nsacf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } + 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; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the NSACF function in 5GC. + The NSACF monitors and controls the number of registered + UEs per network slice for the network slices that are + subject to Network Slice Admission Control (NSAC). + For more information about the NSACF, see TS 23.501 + and TS 23.502. + 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-"; } + + grouping NsacfCapabilityGrp { + description "This data type represents the NSACF service + capability. (See TS 29.510)."; + reference "3GPP TS 29.510"; + + leaf supportUeSAC { + type boolean; + description "This attribute indicates the service capability of the + NSACF to monitor and control the number of + registered UEs per network slice for the network + slice that is subject to NSAC."; + } + + leaf supportPduSAC { + type boolean; + description "This attribute indicates the service capability of the + NSACF to monitor and control the number of + established PDU sessions per network slice for the + network slice that is subject to NSAC."; + } + } + + grouping NsacfInfoGrp { + description "This data type represents the information + of an NSACF NF Instance. (see TS 29.510)."; + reference "3GPP TS 29.510"; + + list nsacfCapability { + description "It represents the NSACF service + capability."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses NsacfCapabilityGrp; + } + + list taiList { + description "List of TAIs."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "Range of TAIs."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + } + + grouping SnssaiInfoGrp { + description "This data type defines generic information + for a S-NSSAI."; + + list pLMNInfo { + description "It represents the PLMN and S-NSSAI + information."; + min-elements 1; + max-elements 1; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; + } + + leaf administrativeState { + type types3gpp:BasicAdministrativeState; + mandatory true; + description "It represents the administrative state + of the Network Slice."; + } + } + + grouping NsacfInfoSnssaiGrp { + description "This data type defines NSACF specific + information per S-NSSAI."; + + list snssaiInfo { + description "It defines generic information for a + S-NSSAI. The information includes global unique + identifier of a Network Slice and + administrativeState of the Network Slice."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiInfoGrp; + } + + leaf isSubjectToNsac { + type boolean; + default false; + mandatory true; + description "It defines if the Network Slice subjects + to network slice admission control. The value is + set to False if the maxNumberofUEs attribute in + corresponding SliceProfile is absent."; + } + + leaf maxNumberofUEs { + type uint16 { + range "0..65535"; + } + default 0; + mandatory true; + description "It defines the maximum number of UEs + which are allowed to be served by the Network + Slice that is subject to network slice admission + control."; + } + + leaf eACMode { + type enumeration { + enum ACTIVE; + enum INACTIVE; + } + default INACTIVE; + description "It represents if early admission + control (EAC) mode is activated."; + } + + leaf activeEacThreshold { + type uint8 { + range "0..100"; + } + default 0; + description "It defines threshold in percentage + value of the number of the UEs registered with + the network slice to the maximum number of UEs + allowed to register with the network slice. The + eACMode is set to active when the number of the + UEs registered with the network slice is above + this threshold."; + } + + leaf deactiveEacThreshold { + type uint8 { + range "0..100"; + } + default 100; + description "It defines threshold in percentage + value of the number of the UEs registered with + the network slice to the maximum number of UEs + allowed to register with the network slice. The + eACMode is set to inactive when the number of + the UEs registered with the network slice is + below this threshold. If this attribute is + absent, activeEacThreshold is used to trigger + deactivation of eACMode."; + } + + leaf numberofUEs { + type uint16 { + range "0..65535"; + } + config false; + description "It represents the number of the UEs + registered with the network slice. This attribute + is updated by NSACF."; + } + + leaf-list uEIdList { + type string; + config false; + description "It represents the UEs registered with + the network slice. This attribute is updated by + NSACF."; + } + + list taiList { + description "Tracking Area Identity list."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + leaf maxNumberofPDUSessions { + type uint32; + mandatory true; + description "It defines the maximum number of + concurrent PDU sessions supported by the network + slice."; + } + } + + grouping NSACFFunctionGrp { + description "Represents the NSACFFunction IOC."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "List of at most six entries of PLMN + Identifiers, but at least one (the primary + PLMN Id). The PLMN Identifier is composed of a + Mobile Country Code (MCC) and a Mobile Network + Code (MNC)."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:PLMNInfo; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance + in the service-based interface."; + type inet:domain-name; + } + + list managedNFProfile { + description "This data type represents a Profile + definition of a Managed NF."; + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + } + + list nsacfInfoSnssaiList { + description "It represents a list of NSACF + information per SNSSAI."; + key idx; + leaf idx { type uint32; } + uses NsacfInfoSnssaiGrp; + } + + list nsacfInfo { + description "This attribute represents the + information of an NSACF NF Instance. + (see TS 29.510)."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses NsacfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list NSACFFunction { + description "5G Core NSACF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NSACFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} -- GitLab From 0a43ec7149f07e76c7b72c615abecff3d4f67155 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 14 Apr 2026 18:43:54 +0200 Subject: [PATCH 19/56] add nssaaffunction to aligne yang with stage 2 --- yang-models/_3gpp-5g-common-yang-types.yang | 34 +++++ yang-models/_3gpp-5gc-nrm-nsacffunction.yang | 2 - yang-models/_3gpp-5gc-nrm-nssaaffunction.yang | 119 ++++++++++++++++++ 3 files changed, 153 insertions(+), 2 deletions(-) create mode 100755 yang-models/_3gpp-5gc-nrm-nssaaffunction.yang diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 3e126734..40af813a 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -220,6 +220,40 @@ module _3gpp-5g-common-yang-types { } } + grouping InternalGroupIdRangeGrp { + description "This data type represents a range of Group + IDs (internal group identities), either based on a + numeric range, or based on regular-expression + matching. (See TS 29.510)."; + reference "3GPP TS 28.541 clause 5.3.132"; + + leaf start { + description "It indicates first value identifying + the start of an identity range, to be used when + the range of identities can be represented as a + consecutive numeric range."; + type string; + } + + leaf end { + description "It indicates last value identifying + the end of an identity range, to be used when + the range of identities can be represented as a + consecutive numeric range."; + type string; + } + + leaf pattern { + description "It indicates pattern (regular + expression according to the ECMA-262 dialect) + representing the set of identities belonging to + this range. An identity value is considered part + of the range if and only if the identity string + fully matches the regular expression."; + type string; + } + } + grouping SupportedVendorSpecificFeaturesGrp { description "This <> represents a map of Vendor-Specific features, where the key of the map is the IANA-assigned SMI diff --git a/yang-models/_3gpp-5gc-nrm-nsacffunction.yang b/yang-models/_3gpp-5gc-nrm-nsacffunction.yang index 0a05e10e..f35dfb0a 100755 --- a/yang-models/_3gpp-5gc-nrm-nsacffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nsacffunction.yang @@ -118,7 +118,6 @@ module _3gpp-5gc-nrm-nsacffunction { leaf isSubjectToNsac { type boolean; - default false; mandatory true; description "It defines if the Network Slice subjects to network slice admission control. The value is @@ -130,7 +129,6 @@ module _3gpp-5gc-nrm-nsacffunction { type uint16 { range "0..65535"; } - default 0; mandatory true; description "It defines the maximum number of UEs which are allowed to be served by the Network diff --git a/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang b/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang new file mode 100755 index 00000000..2069dd2b --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang @@ -0,0 +1,119 @@ +module _3gpp-5gc-nrm-nssaaffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssaaffunction; + prefix nssaaf3gpp; + + 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 NSSAAF function in 5GC. + For more information about the NSSAAF, 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-03-25 { reference "CR-"; } + + grouping NssaafInfoGrp { + description "This data type represents the information + of a NSSAAF NF Instance. + (See clause 6.1.6.2.104 TS 29.510)."; + + list supiRanges { + description "List of ranges of SUPIs that can be + served by the NSSAAF instance."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SupiRangeGrp; + } + + list internalGroupIdentifiersRanges { + description "List of ranges of Internal Group + Identifiers that can be served by the NSSAAF + instance. If not provided, it does not imply + that the NSSAAF supports all internal groups."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + } + + grouping NSSAAFFunctionGrp { + description "Represents the NSSAAFFunction 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; + } + + 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 nssaafInfo { + description "This attribute represents information + of a NSSAAF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses NssaafInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list NSSAAFFunction { + description "5G Core NSSAAF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NSSAAFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} -- GitLab From b701370ec6524dbb2875eb118f5046d1d31ecff1 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 14 Apr 2026 18:50:03 +0200 Subject: [PATCH 20/56] correct internalGroupIdentifiersRanges --- yang-models/_3gpp-5gc-nrm-nssaaffunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang b/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang index 2069dd2b..5498f632 100755 --- a/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssaaffunction.yang @@ -41,7 +41,7 @@ module _3gpp-5gc-nrm-nssaaffunction { that the NSSAAF supports all internal groups."; key idx; leaf idx { type uint32; } - uses types5g3gpp:IdentityRangeGrp; + uses types5g3gpp:InternalGroupIdRangeGrp; } } -- GitLab From da66e4a915086fbe1a5447d5d1c36523573310c8 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 14 Apr 2026 19:21:37 +0200 Subject: [PATCH 21/56] add chffunction to align stage 2 and stage 3 yang --- yang-models/_3gpp-5gc-nrm-chffunction.yang | 143 +++++++++++++++++++++ yang-models/_3gpp-5gc-nrm-nrffunction.yang | 45 +------ 2 files changed, 145 insertions(+), 43 deletions(-) create mode 100755 yang-models/_3gpp-5gc-nrm-chffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-chffunction.yang b/yang-models/_3gpp-5gc-nrm-chffunction.yang new file mode 100755 index 00000000..f1f6be1e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-chffunction.yang @@ -0,0 +1,143 @@ +module _3gpp-5gc-nrm-chffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-chffunction; + prefix chf3gpp; + + 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 CHF function. For more + information about the CHF, see TS 23.501 and + TS 32.240. + 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-"; } + + grouping ChfInfoGrp { + description "This data type represents the Specific + data for the CHF. + (See clause 6.1.6.2.32 TS 29.510)."; + + list supiRangeList { + description "List of ranges of SUPIs that can be + served by the CHF instance. If not provided, + the CHF can serve any SUPI."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:SupiRangeGrp; + } + + list gpsiRangeList { + description "List of ranges of GPSI that can be + served by the CHF instance. If not provided, + the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IdentityRangeGrp; + } + + list plmnRangeList { + description "List of ranges of PLMNs (including + the PLMN IDs of the CHF instance) that can be + served by the CHF instance. If not provided, + the CHF can serve any PLMN."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf groupId { + description "It represents the identity of the CHF + group that is served by the CHF instance. If not + provided, the CHF instance does not pertain to + any CHF group."; + type string; + } + + leaf primaryChfInstance { + description "This attribute represents the NF + Instance Id of the primary CHF instance. This + attribute shall be absent if the + secondaryChfInstance is present."; + type string; + } + + leaf secondaryChfInstance { + description "This attribute represents the NF + Instance Id of the secondary CHF instance. + This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + + grouping CHFFunctionGrp { + description "Represents the CHFFunction 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 chfInfo { + description "This attribute represents information + of a CHF NF Instance."; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses ChfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list CHFFunction { + description "5G Core CHF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses CHFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 741690fa..7893a8a9 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -23,6 +23,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;} + import _3gpp-5gc-nrm-chffunction { prefix chf3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -72,48 +73,6 @@ module _3gpp-5gc-nrm-nrffunction { uses types3gpp:Ipv6PrefixRange; } } - grouping chfInfo { - list supiRangeList { - description "List of ranges of SUPIs that can be served by - the CHF instance. If not provided, the CHF can serve any SUPI."; - key idx; - leaf idx { type uint32; } - min-elements 1; - uses types5g3gpp:SupiRangeGrp; - } - - list gpsiRangeList { - description "List of ranges of GPSI that can be served - by the CHF instance. If not provided, the CHF can serve any GPSI."; - key idx; - leaf idx { type uint32; } - min-elements 1; - uses types5g3gpp:IdentityRangeGrp; - } - - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - leaf primaryChfInstance { - description "This attribute represents the NF Instance Id of the - primary CHF instance. This attribute shall be absent if the - secondaryChfInstance is present."; - type string; - - } - leaf secondaryChfInstance { - description "This attribute represents the NF Instance Id of the - secondary CHF instance.This attribute shall be absent if the - primaryChfInstance is present."; - type string; - } - } grouping pcscfInfo { description "This data type represents the information of a P-CSCF NF Instance. @@ -414,7 +373,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses chfInfo; + uses chf3gpp:ChfInfoGrp; } list servedNwdafInfo { -- GitLab From afe9b7117f31ff7b440e8b0694d0720e55fe0cc5 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 15 Apr 2026 18:54:02 +0200 Subject: [PATCH 22/56] added mbsmffunction --- yang-models/_3gpp-5gc-nrm-mbsmffunction.yang | 277 +++++++++++++++++++ yang-models/_3gpp-5gc-nrm-mnpffunction.yang | 2 +- 2 files changed, 278 insertions(+), 1 deletion(-) create mode 100644 yang-models/_3gpp-5gc-nrm-mbsmffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-mbsmffunction.yang b/yang-models/_3gpp-5gc-nrm-mbsmffunction.yang new file mode 100644 index 00000000..3dde496e --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-mbsmffunction.yang @@ -0,0 +1,277 @@ +module _3gpp-5gc-nrm-mbsmffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-mbsmffunction; + prefix mbsmf3gpp; + + 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 _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "MNNPFFunction derived from basic ManagedFunction. + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-13 { reference CR-1694 ; } // common for rel-19,20 + + grouping TmgiRangeGrp { + description "This data type represents range of TMGIs. + (See clause 6.1.6.2.86 TS 29.510)."; + + leaf mbsServiceIdStart { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "Represents the first MBS Service ID value identifying the + start of a TMGI range. + The value shall be coded as defined for the mbsServiceId attribute of + the Tmgi data type defined in 3GPP TS 29.571"; + } + + leaf mbsServiceIdEnd { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "Represents the last MBS Service ID value identifying the + end of a TMGI range. + The value shall be coded as defined for the mbsServiceId attribute of + the Tmgi data type defined in 3GPP TS 29.571"; + } + + list pLMNId { + description "The PLMN identifier."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + + leaf nId { + type string; + mandatory true; + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in + 3GPP TS 23.501)"; + } + } + + grouping mbsSessionIdGrp { + description "The MBS session ID is used to identify a Multicast/Broadcast + MBS Session by the 5G system on external interface towards AF and between + AF and UE, and towards the UE."; + reference "3GPP TS 23.247 clause 6.5.1"; + + choice idType { + mandatory true; + leaf mbsServiceId { + description "MBS Service ID - Temporary Mobile Group Identity"; + type string { + pattern "[A-Fa-f0-9]{6}"; + } + } + case Ssm { + leaf sourceIpAddr { + type inet:ipv4-address; + mandatory true; + description "sourceIpAddr"; + } + leaf destIpAddr { + type inet:ipv4-address; + mandatory true; + description "destIpAddr"; + } + } + } + + leaf nid { + description ""; + type string { + pattern "[A-Fa-f0-9]{11}"; + } + } + } + + grouping MbsServiceAreaGrp { + description "This data type represents MBS Service Area Information for + Location dependent MBS session. (See clause 5.9.4.15 TS 29.571)."; + + list ncgiList { + description "Represents a list of NR cell ids with their pertaining TAIs."; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:NcgiGrp; + } + + list taiList { + description "Tracking Area Identity list"; + key idx; + min-elements 1; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + } + + grouping MbsServiceAreaInfoGrp { + description "This data type represents MBS Service Area Information for + Location dependent MBS session. (See clause 5.9.4.15 TS 29.571"; + + leaf areaSessionId { + type uint16; + mandatory true; + description "This attribute represents Area Session Identifier used for + MBS session with location dependent content."; + } + + list mbsServiceArea { + description "Represents Area Session Identifier used for MBS session + with location dependent content."; + key idx; + leaf idx { type uint32 ; } + uses MbsServiceAreaGrp; + } + } + + grouping MbsSessionGrp { + description "This data type represents MBS Session served by an MB-SMF. + (See clause 6.1.6.2.87 TS 29.510)."; + + list mbsSessionId { + description "This attribute represents the MBS Session Identifier."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses mbsSessionIdGrp; + } + + list mbsAreaSessions { + description "This attribute represents map of Area Session Id and related + MBS Service Area information used for MBS session with location + dependent content. The Area Session ID together with the mbsSessionId + (TMGI) uniquely identifies the MBS session in a specific MBS service + area. + For an MBS session with location dependent content, one map entry shall + be registered for each MBS Service Area served by the MBS session. + The key of the map shall be the areaSessionId."; + key idx; + leaf idx { type uint32 ; } + uses MbsServiceAreaInfoGrp; + } + } + + grouping MbSmfInfoGrp { + description "This data type represents the specific data for the MB-SMF. + (See clause 6.1.6.2.85 TS 29.510)."; + + list sNssaiInfoList { + description "This attribute represents the list of S-NSSAIs and DNNs + supported by the MB-SMF. + The key of the map shall be a (unique) valid JSON string per clause 7 + of IETF RFC 8259, with a maximum of 32 characters."; + min-elements 1; + key idx; + leaf idx { type uint32 ; } + uses nef3gpp:SnssaiInfoItemGrp; + } + + list tmgiRangeList { + description "This attribute represents the list of TMGI range(s) + supported by the MB-SMF + The key of the map shall be a (unique) valid JSON string per clause 7 + of IETF RFC 8259, with a maximum of 32 characters."; + key idx; + leaf idx { type uint32 ; } + uses TmgiRangeGrp; + } + + list taiList { + description "This attribute represents the list of TAIs the MB-SMF can + serve. + The absence of this attribute and the taiRangeList attribute indicates + that the MB-SMF can be selected for any TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "This attribute represents the range of TAIs the MB-SMF can + serve. + The absence of this attribute and the taiList attribute indicates that + the MB-SMF can be selected for any TAI in the serving network."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + list mbsSessionList { + description "This attribute represents the list of MBS sessions currently + served by the MB-SMF + The key of the map shall be a (unique) valid JSON string per clause 7 of + IETF RFC 8259, with a maximum of 32 characters."; + key idx; + leaf idx { type uint32; } + uses MbsSessionGrp; + } + } + + grouping MBSMFFunctionGrp { + description "Represents the SMFFuntion IOC"; + 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 mbSmfInfo { + description "This attribute represents information of an + MB-SMF NF Instance"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses MbSmfInfoGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list MBSMFFunction { + description "This IOC represents the MB-SMF function defined in TS 23.501 + and TS 23.247."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MBSMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-mnpffunction.yang b/yang-models/_3gpp-5gc-nrm-mnpffunction.yang index 6813e861..5edb89fc 100644 --- a/yang-models/_3gpp-5gc-nrm-mnpffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-mnpffunction.yang @@ -16,7 +16,7 @@ module _3gpp-5gc-nrm-mnpffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-13 { reference CR-1694 ; } + revision 2026-04-13 { reference CR-1694 ; } // common for rel-19,20 grouping MnpfInfoGrp { description "Represents the data type MnpfInfo."; -- GitLab From 3db8438fb9c657497e52b8df9d111a7ed2206d7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=20Antonio=20Ordo=C3=B1ez=20Lucena?= Date: Tue, 31 Mar 2026 17:15:01 +0000 Subject: [PATCH 23/56] Edit _3gpp-nr-nrm-gnbcucpfunction.yang --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 1cc3fe8c..3ca0e35c 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -16,10 +16,11 @@ module _3gpp-nr-nrm-gnbcucpfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2026-04-02 { reference "CR-xxxx" ; } revision 2025-05-25 { reference "CR-1527" ; } revision 2025-05-07 { reference "CR-1548"; } revision 2025-03-25 { reference "CR-1509"; } @@ -314,6 +315,14 @@ module _3gpp-nr-nrm-gnbcucpfunction { leading digits '0' to complete a 5-digit length."; } + leaf acceptXnMWAB { + type boolean; + default true; + description "This attribute specifies whether a (WAB-)gNB is + configured to accept Xn connection requests from WAB-gNBs."; + } + + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; description "DN of the Dynamic5QISet that the GNBCUCPFunction supports -- GitLab From a5f98d73a78c029c90d88492561c3f7d191ad6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=20Antonio=20Ordo=C3=B1ez=20Lucena?= Date: Thu, 2 Apr 2026 15:55:11 +0000 Subject: [PATCH 24/56] Edit _3gpp-nr-nrm-gnbcucpfunction.yang --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 3ca0e35c..56c1802b 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -20,7 +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-02 { reference "CR-xxxx" ; } + revision 2026-04-02 { reference "CR-1698" ; } revision 2025-05-25 { reference "CR-1527" ; } revision 2025-05-07 { reference "CR-1548"; } revision 2025-03-25 { reference "CR-1509"; } -- GitLab From 1319a07d96861d613963bfea8201443ba67dc60e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 23 Apr 2026 19:39:23 +0200 Subject: [PATCH 25/56] Locally rebased nd merged https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/2066 --- yang-models/_3gpp-common-trace.yang | 32 ++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 092fb7bd..fb970733 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -26,6 +26,7 @@ module _3gpp-common-trace { Information Service (IS)" ; revision 2026-04-02 { reference "CR-0624" ; } + revision 2026-03-26 { reference "CR-0617" ; } revision 2026-03-20 { reference "CR-0619" ; } revision 2026-02-08 { reference "CR-1683" ; } revision 2025-11-07 { reference "CR-0553" ; } @@ -1944,16 +1945,37 @@ module _3gpp-common-trace { leaf-list listOfTraceMetrics { when '../jobType = "TRACE_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; type string; - description "List of trace metrics identified by name. - Includes trace messages, MDT measurements (Immediate MDT, + description "List of trace metrics identified by name which + shall be recorded. + It includes trace messages, MDT measurements (Immediate MDT, + Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, + see TS 32.422 Trace messages are identified with their message + identifier. Trace metric identifier is constructed as defined + in clause 10 of TS 32.422. + For non-3GPP specified trace metrics the name is defined elsewhere."; + reference "Clause 10 of 3GPP TS 32.422"; + } + + leaf-list listOfExcludedTraceMetrics { + when '../jobType = "TRACE_ONLY"' + + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + type string; + description "List of trace metrics identified by name which + shall not be recorded. + It includes trace messages, MDT measurements (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, see TS 32.422 Trace messages are identified with their message identifier. Trace metric identifier is constructed as defined in clause 10 of TS 32.422. - For non-3GPP specified trace metrics the name is defined elsewhere. -"; + For non-3GPP specified trace metrics the name is defined elsewhere."; reference "Clause 10 of 3GPP TS 32.422"; } -- GitLab From 11a7971a5ef2bcfdafa1b08873f0c3cdadd53c2b Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 27 Apr 2026 12:56:01 +0200 Subject: [PATCH 26/56] added nrfemtogw --- yang-models/_3gpp-nr-nrm-femtogw.yang | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 yang-models/_3gpp-nr-nrm-femtogw.yang diff --git a/yang-models/_3gpp-nr-nrm-femtogw.yang b/yang-models/_3gpp-nr-nrm-femtogw.yang new file mode 100644 index 00000000..2bfa8c44 --- /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-xxxx" ; } + + 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; + } + } + } +} -- GitLab From dab306b7015c1424c636a89f9fdf67e644f4a6c0 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 27 Apr 2026 13:29:18 +0200 Subject: [PATCH 27/56] cucp updates 1 --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 56c1802b..96cb1083 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-xxxx" ; } 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 { -- GitLab From 35f5a9b1bb8de7e15641437c06e651730821fbbf Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 27 Apr 2026 23:08:03 +0200 Subject: [PATCH 28/56] Added MBUPFFunction --- yang-models/_3gpp-5gc-nrm-mbupffunction.yang | 167 +++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 yang-models/_3gpp-5gc-nrm-mbupffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang new file mode 100644 index 00000000..dcceb7a2 --- /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-xxxx ; } + + 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 -- GitLab From 2fdc189f973b04c017646bed1ea900ae2694035e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 27 Apr 2026 23:12:13 +0200 Subject: [PATCH 29/56] Added MBUPFFunction update --- yang-models/_3gpp-5gc-nrm-mbupffunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang index dcceb7a2..39b3a161 100644 --- a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-mbupffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-26 { reference CR-xxxx ; } + revision 2026-04-26 { reference "CR-xxxx CR-yyyy" ; } // common in r19, r20 grouping MbUpfInfoGrp { description "represents the data type MnpfInfoGrp."; -- GitLab From ee18f8eab63a8307e6d668718d3c3c780993f24e Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 28 Apr 2026 11:33:20 +0200 Subject: [PATCH 30/56] add _3gpp-5gc-nrm-aanffunction.yang to align with stage 2 --- yang-models/_3gpp-5gc-nrm-aanffunction.yang | 102 ++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-aanffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-aanffunction.yang b/yang-models/_3gpp-5gc-nrm-aanffunction.yang new file mode 100755 index 00000000..dd52b06f --- /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-03-25 { reference "CR-"; } + + 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; + } + } +} -- GitLab From 5a4acab1a2b48996c92978102cca92cb37c6757e Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 28 Apr 2026 22:06:28 +0200 Subject: [PATCH 31/56] add _3gpp-5gc-nrm-bsffunction.yang to align with stage 2 --- yang-models/_3gpp-5gc-nrm-aanffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-bsffunction.yang | 182 ++++++++++++++++++++ yang-models/_3gpp-5gc-nrm-nrffunction.yang | 33 +--- 3 files changed, 185 insertions(+), 32 deletions(-) create mode 100755 yang-models/_3gpp-5gc-nrm-bsffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-aanffunction.yang b/yang-models/_3gpp-5gc-nrm-aanffunction.yang index dd52b06f..b4dacc05 100755 --- a/yang-models/_3gpp-5gc-nrm-aanffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-aanffunction.yang @@ -19,7 +19,7 @@ module _3gpp-5gc-nrm-aanffunction { CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-03-25 { reference "CR-"; } + revision 2026-04-25 { reference "CR-"; } grouping AanfInfoGrp { description "This data type represents the Specific diff --git a/yang-models/_3gpp-5gc-nrm-bsffunction.yang b/yang-models/_3gpp-5gc-nrm-bsffunction.yang new file mode 100755 index 00000000..d10b3a4b --- /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-25 { reference "CR-"; } + + 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-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 7893a8a9..9b3bfe98 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -24,6 +24,7 @@ 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"; @@ -43,36 +44,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. @@ -357,7 +328,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses bsfInfo; + uses bsf3gpp:BsfInfoGrp; } list servedChfInfo { -- GitLab From de3969c11109b0e19c6b57429033fac299b99f19 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 28 Apr 2026 22:32:59 +0200 Subject: [PATCH 32/56] add _3gpp-5gc-nrm-dccffunction.yang to align with stage2 --- yang-models/_3gpp-5gc-nrm-dccffunction.yang | 150 ++++++++++++++++++++ yang-models/_3gpp-5gc-nrm-nrffunction.yang | 6 +- 2 files changed, 154 insertions(+), 2 deletions(-) create mode 100755 yang-models/_3gpp-5gc-nrm-dccffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-dccffunction.yang b/yang-models/_3gpp-5gc-nrm-dccffunction.yang new file mode 100755 index 00000000..319d8e84 --- /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-25 { reference "CR-"; } + + 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-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 9b3bfe98..999e95ed 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -30,10 +30,11 @@ module _3gpp-5gc-nrm-nrffunction { 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-25 { reference CR- ; } revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-01-25 { reference CR-1442 ; } @@ -558,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; } -- GitLab From 9cd8ae5ca8e0e73dc8a90aca0e92c539d7525290 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 28 Apr 2026 22:47:01 +0200 Subject: [PATCH 33/56] add _3gpp-5gc-nrm-mfaffunction.yang to align with tage 2 --- yang-models/_3gpp-5gc-nrm-mfaffunction.yang | 136 ++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-mfaffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-mfaffunction.yang b/yang-models/_3gpp-5gc-nrm-mfaffunction.yang new file mode 100755 index 00000000..a6156722 --- /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-03-25 { reference "CR-"; } + + 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; + } + } +} -- GitLab From 8bb9edec16cdfbafc47b2f265eaa83293bac6751 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 28 Apr 2026 23:25:52 +0200 Subject: [PATCH 34/56] add _3gpp-5gc-nrm-easdffunction.yang to align with stage 2 --- yang-models/_3gpp-5gc-nrm-easdffunction.yang | 189 +++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-easdffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-easdffunction.yang b/yang-models/_3gpp-5gc-nrm-easdffunction.yang new file mode 100755 index 00000000..bf6bcb35 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-easdffunction.yang @@ -0,0 +1,189 @@ +module _3gpp-5gc-nrm-easdffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-easdffunction; + prefix easdf3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + contact + "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the Edge Application + Server Discovery Function (EASDF) in 5GC which can + handle the DNS messages according to the instruction + from the SMF. For more information about the 5G + EASDF, see 3GPP TS 23.548. + Copyright 2026, 3GPP Organizational Partners (ARIB, + ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2026-04-25 { reference "CR-"; } + + 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; + description "This attribute represents a list of Data network access + identifiers supported by the UPF for this DNN. The absence of this + attribute indicates that the UPF can be selected for this DNN for any + DNAI. Each item in the list is the DNAI (Data networkaccess identifier)"; + reference "see TS 23.501"; + //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)."; + + uses types5g3gpp:ExtSnssaiGrp; + + 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; + } + } +} -- GitLab From 42f836328442a34da7da3f0632c7204ba6b6d51c Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Wed, 29 Apr 2026 11:00:37 +0200 Subject: [PATCH 35/56] correct _3gpp-5gc-nrm-easdffunction.yang SnssaiEasdfInfoItemGrp definition --- yang-models/_3gpp-5gc-nrm-easdffunction.yang | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-easdffunction.yang b/yang-models/_3gpp-5gc-nrm-easdffunction.yang index bf6bcb35..8fabbc7b 100755 --- a/yang-models/_3gpp-5gc-nrm-easdffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-easdffunction.yang @@ -47,12 +47,10 @@ module _3gpp-5gc-nrm-easdffunction { leaf-list dnaiList { type string; - description "This attribute represents a list of Data network access - identifiers supported by the UPF for this DNN. The absence of this - attribute indicates that the UPF can be selected for this DNN for any - DNAI. Each item in the list is the DNAI (Data networkaccess identifier)"; - reference "see TS 23.501"; - //optional + min-elements 1; + description "List of Data network access + identifiers supported for this DNN."; + //optional } } @@ -61,7 +59,14 @@ module _3gpp-5gc-nrm-easdffunction { supported by the EASDF per S-NSSAI. (See clause 6.1.6.2.78 TS 29.510)."; - uses types5g3gpp:ExtSnssaiGrp; + 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 -- GitLab From 3938e820dae4190588dd3519b02e98bf38d31f79 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Wed, 6 May 2026 09:16:24 +0200 Subject: [PATCH 36/56] add _3gpp-5gc-nrm-tsctsffunction.yang to align with stage2 --- yang-models/_3gpp-5gc-nrm-tsctsffunction.yang | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-tsctsffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang b/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang new file mode 100755 index 00000000..868f7931 --- /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-03-25 { reference "CR-"; } + + 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; + } + } +} -- GitLab From ebad855e0aa4b4e5ce8e27d8f3f70372250bcab2 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 7 May 2026 21:46:02 +0200 Subject: [PATCH 37/56] add _3gpp-5gc-nrm-ddnmffunction.yang to align with stage 2 and openapi --- yang-models/_3gpp-5gc-nrm-ddnmffunction.yang | 78 ++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-ddnmffunction.yang diff --git a/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang b/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang new file mode 100755 index 00000000..cc09739f --- /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 2025-04-25 { reference "CR-"; } + + 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; + } + } +} -- GitLab From 556da1b7bb25c09a2c167df155f47decf8a35d88 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 8 May 2026 00:05:46 +0200 Subject: [PATCH 38/56] correct ep_s to align with stage2 --- yang-models/_3gpp-5gc-nrm-ep.yang | 167 ++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 03e8cca6..284140e1 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -27,6 +27,9 @@ module _3gpp-5gc-nrm-ep { 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-ddnmffunction { prefix ddnmf3gpp; } + import _3gpp-5gc-nrm-nssaaffunction { prefix nssaaf3gpp; } + import _3gpp-5gc-nrm-tsctsffunction { prefix tsctsf3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -285,6 +288,27 @@ module _3gpp-5gc-nrm-ep { grouping EP_SM13Grp { uses eprp3gpp:EP_Common; } + grouping EP_Npc4Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc6Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc7Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_Npc8Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N58Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N59Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_N87Grp { + uses eprp3gpp:EP_Common; + } augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { list EP_N5 { description "Represents the EP_N5 IOC."; @@ -1026,4 +1050,147 @@ module _3gpp-5gc-nrm-ep { } } } + + augment "/me3gpp:ManagedElement/ddnmf3gpp:DDNMFFunction" { + list EP_Npc4 { + description "Represents the EP_Npc4 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc4Grp; } + } + + list EP_Npc6 { + description "Represents the EP_Npc6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc6Grp; } + } + + list EP_Npc7 { + description "Represents the EP_Npc7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc7Grp; } + } + + list EP_Npc8 { + description "Represents the EP_Npc8 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_Npc8Grp; } + } + } + + augment "/me3gpp:ManagedElement/nssaaf3gpp:NSSAAFFunction" { + list EP_N58 { + description "Represents the EP_N58 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N58Grp; } + } + + list EP_N59 { + description "Represents the EP_N59 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N59Grp; } + } + } + + 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"; + } + + grouping EP_N84Subtree { + list EP_N84 { + description "Represents the EP_N84 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N84Grp; } + } + } + grouping EP_N85Subtree { + list EP_N85 { + description "Represents the EP_N85 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N85Grp; } + } + } + grouping EP_N86Subtree { + list EP_N86 { + description "Represents the EP_N86 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N86Grp; } + } + } + grouping EP_N87Subtree { + list EP_N87 { + description "Represents the EP_N87 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N87Grp; } + } + } + grouping EP_N96Subtree { + list EP_N96 { + description "Represents the EP_N96 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N96Grp; } + } + } + + augment "/me3gpp:ManagedElement/tsctsf3gpp:TSCTSFFunction" { + uses EP_N84Subtree { + if-feature EP_N84UnderTSCTSFFunction; + } + uses EP_N85Subtree { + if-feature EP_N85UnderTSCTSFFunction; + } + uses EP_N86Subtree { + if-feature EP_N86UnderTSCTSFFunction; + } + uses EP_N87Subtree { + if-feature EP_N87UnderTSCTSFFunction; + } + list EP_N89 { + description "Represents the EP_N89 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_N89Grp; } + } + uses EP_N96Subtree { + if-feature EP_N96UnderTSCTSFFunction; + } + } + } \ No newline at end of file -- GitLab From b0b4e1192a3758549786aa693e9145a037f7746b Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 18 May 2026 06:43:36 +0200 Subject: [PATCH 39/56] updated revision statements --- yang-models/_3gpp-5gc-nrm-aanffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-bsffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-dccffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-ddnmffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-easdffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-ep.yang | 1 + yang-models/_3gpp-5gc-nrm-mbupffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-mfaffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-tsctsffunction.yang | 2 +- yang-models/_3gpp-nr-nrm-femtogw.yang | 2 +- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 6 ++++++ 13 files changed, 18 insertions(+), 11 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-aanffunction.yang b/yang-models/_3gpp-5gc-nrm-aanffunction.yang index b4dacc05..c2350e90 100755 --- a/yang-models/_3gpp-5gc-nrm-aanffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-aanffunction.yang @@ -19,7 +19,7 @@ module _3gpp-5gc-nrm-aanffunction { CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping AanfInfoGrp { description "This data type represents the Specific diff --git a/yang-models/_3gpp-5gc-nrm-bsffunction.yang b/yang-models/_3gpp-5gc-nrm-bsffunction.yang index d10b3a4b..3d73da9e 100755 --- a/yang-models/_3gpp-5gc-nrm-bsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-bsffunction.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-bsffunction { CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping BsfInfoGrp { description "This data type represents the Specific diff --git a/yang-models/_3gpp-5gc-nrm-dccffunction.yang b/yang-models/_3gpp-5gc-nrm-dccffunction.yang index 319d8e84..2422537b 100755 --- a/yang-models/_3gpp-5gc-nrm-dccffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-dccffunction.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-dccffunction { CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping DccfInfoGrp { description "This data type represents the Specific diff --git a/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang b/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang index cc09739f..8b79b5ab 100755 --- a/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ddnmffunction.yang @@ -22,7 +22,7 @@ module _3gpp-5gc-nrm-ddnmffunction { All rights reserved."; reference "3GPP TS 28.541"; - revision 2025-04-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping DDNMFFunctionGrp { description "Represents the DDNMFFunction IOC."; diff --git a/yang-models/_3gpp-5gc-nrm-easdffunction.yang b/yang-models/_3gpp-5gc-nrm-easdffunction.yang index 8fabbc7b..cc7c0c95 100755 --- a/yang-models/_3gpp-5gc-nrm-easdffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-easdffunction.yang @@ -25,7 +25,7 @@ module _3gpp-5gc-nrm-easdffunction { All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping DnnEasdfInfoItemGrp { description "This data type represents parameters diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 284140e1..cbd6b0ac 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -40,6 +40,7 @@ module _3gpp-5gc-nrm-ep { 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 ; } diff --git a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang index 39b3a161..b4f51507 100644 --- a/yang-models/_3gpp-5gc-nrm-mbupffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-mbupffunction.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-mbupffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-26 { reference "CR-xxxx CR-yyyy" ; } // common in r19, r20 + revision 2026-04-26 { reference "CR-1702 CR-1703" ; } // common in r19, r20 grouping MbUpfInfoGrp { description "represents the data type MnpfInfoGrp."; diff --git a/yang-models/_3gpp-5gc-nrm-mfaffunction.yang b/yang-models/_3gpp-5gc-nrm-mfaffunction.yang index a6156722..2db036dc 100755 --- a/yang-models/_3gpp-5gc-nrm-mfaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-mfaffunction.yang @@ -20,7 +20,7 @@ module _3gpp-5gc-nrm-mfaffunction { CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-03-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping MfafInfoGrp { description "This data type represents the Specific diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 999e95ed..10642324 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -34,7 +34,7 @@ module _3gpp-5gc-nrm-nrffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-04-25 { reference CR- ; } + 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 ; } diff --git a/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang b/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang index 868f7931..b4f7cbc5 100755 --- a/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-tsctsffunction.yang @@ -21,7 +21,7 @@ module _3gpp-5gc-nrm-tsctsffunction { All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-03-25 { reference "CR-"; } + revision 2026-04-26 { reference CR-1703; } grouping DnnTsctsfInfoItemGrp { description "This data type represents set of diff --git a/yang-models/_3gpp-nr-nrm-femtogw.yang b/yang-models/_3gpp-nr-nrm-femtogw.yang index 2bfa8c44..e7ca47a3 100644 --- a/yang-models/_3gpp-nr-nrm-femtogw.yang +++ b/yang-models/_3gpp-nr-nrm-femtogw.yang @@ -16,7 +16,7 @@ module _3gpp-nr-nrm-femtogw { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2026-04-26 { reference "CR-xxxx" ; } + revision 2026-04-26 { reference CR-1703; } grouping NRFemtoGWGrp { description "Represents the NRFemtoGW IOC."; diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 96cb1083..69f2b4de 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -20,7 +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-xxxx" ; } + 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"; } diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index b26cfadd..b2b01046 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -200,6 +200,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 -- GitLab From 7afd7888c1a82b3053e34460bbe0bac535352f94 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 18 May 2026 06:48:21 +0200 Subject: [PATCH 40/56] updated revision statement --- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index b2b01046..5e1a7819 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; } -- GitLab From 596ace44e9a2ba67e16b04a39b15fd8f9b4dce05 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 18 May 2026 09:24:44 +0200 Subject: [PATCH 41/56] corrected attributes-1 --- yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang | 27 ++++++++++- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 24 ++++++++-- yang-models/_3gpp-nr-nrm-nrcellrelation.yang | 34 +++++++++++++- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 46 ++++++++++++++++++- 4 files changed, 124 insertions(+), 7 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 4238ccf3..00e895f1 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-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index a6b8fd77..8a111831 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 67d76432..b4dfe9f7 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 8f30e2f8..e09b4504 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; -- GitLab From f54466d08a5041e12c9e905674250b58ff45fb9e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 18 May 2026 12:37:16 +0200 Subject: [PATCH 42/56] corrected attributes-2 --- yang-models/_3gpp-nr-nrm-ecmappingrule.yang | 20 ++++++++++++-------- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 7 ++++--- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index 629b5dee..0dc27040 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-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 39f3795a..8a13796c 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."; -- GitLab From 2e6bf0861dfeb0ceaeaffd0626c2ab68352b4082 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 18 May 2026 18:04:01 +0200 Subject: [PATCH 43/56] corrected attributes-3 --- yang-models/_3gpp-5gc-nrm-gmlcfunction.yang | 176 +++++++++--------- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-rimrsset.yang | 17 +- 3 files changed, 101 insertions(+), 94 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang index b44dd211..59c37386 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-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 69f2b4de..371cee3f 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -416,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-rimrsset.yang b/yang-models/_3gpp-nr-nrm-rimrsset.yang index 69caf25e..b04141cc 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; } -- GitLab From f9ea7068b57f78a58dfd1eedbc736d08a87018ca Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 19 May 2026 17:34:21 +0200 Subject: [PATCH 44/56] aligne stage 2 to yang eps --- yang-models/_3gpp-5gc-nrm-ep.yang | 1499 +++++++++++++++++------------ 1 file changed, 875 insertions(+), 624 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index cbd6b0ac..03097641 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,23 +19,31 @@ 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-ddnmffunction { prefix ddnmf3gpp; } - import _3gpp-5gc-nrm-nssaaffunction { prefix nssaaf3gpp; } - import _3gpp-5gc-nrm-tsctsffunction { prefix tsctsf3gpp; } + 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"; @@ -47,6 +54,271 @@ module _3gpp-5gc-nrm-ep { 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; } @@ -183,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; } @@ -196,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 { @@ -253,22 +527,14 @@ module _3gpp-5gc-nrm-ep { grouping EP_N34Grp { uses eprp3gpp:EP_Common; } - grouping EP_N28Grp { - uses eprp3gpp:EP_Common; - } - grouping EP_N84Grp { - uses eprp3gpp:EP_Common; - } - grouping EP_NL6Grp { - uses eprp3gpp:EP_Common; - } - grouping EP_NL87Grp { + grouping EP_N33Grp { uses eprp3gpp:EP_Common; } - grouping EP_N19mbGrp { + grouping EP_Npc8Grp { uses eprp3gpp:EP_Common; } - grouping EP_N33Grp { + + grouping EP_N84Grp { uses eprp3gpp:EP_Common; } grouping EP_N85Grp { @@ -286,436 +552,581 @@ module _3gpp-5gc-nrm-ep { grouping EP_NL3Grp { uses eprp3gpp:EP_Common; } + grouping EP_NL6Grp { + uses eprp3gpp:EP_Common; + } + grouping EP_NL8Grp { + uses eprp3gpp:EP_Common; + } grouping EP_SM13Grp { uses eprp3gpp:EP_Common; } - grouping EP_Npc4Grp { + grouping EP_N61Grp { uses eprp3gpp:EP_Common; } - grouping EP_Npc6Grp { + grouping EP_N62Grp { uses eprp3gpp:EP_Common; } - grouping EP_Npc7Grp { + grouping EP_N42Grp { uses eprp3gpp:EP_Common; } - grouping EP_Npc8Grp { + grouping EP_N11mbGrp { uses eprp3gpp:EP_Common; } - grouping EP_N58Grp { + grouping EP_N88Grp { uses eprp3gpp:EP_Common; } - grouping EP_N59Grp { + grouping EP_N16mbGrp { + uses eprp3gpp:EP_Common; + } + grouping EP_N86Grp { uses eprp3gpp:EP_Common; } grouping EP_N87Grp { uses eprp3gpp:EP_Common; } - augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { - list EP_N5 { - description "Represents the EP_N5 IOC."; + 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; } } + } + grouping EP_NL6Subtree { + list EP_NL6 { + description "Represents the EP_NL6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL6Grp; } + } + } + grouping EP_NL9Subtree { + list EP_NL9 { + description "Represents the EP_NL9 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { uses EP_NL9Grp; } + } + } + grouping EP_NL2Subtree { list EP_NL2 { description "Represents the EP_NL2 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL2Grp; - } + container attributes { uses EP_NL2Grp; } } - - list EP_N60 { - description "Represents the EP_N60 IOC."; + } + grouping EP_NL3Subtree { + list EP_NL3 { + description "Represents the EP_NL3 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N60Grp; - } + container attributes { uses EP_NL3Grp; } } - list EP_N41 { - description "Represents the EP_N41 IOC."; + } + grouping EP_NL5Subtree { + list EP_NL5 { + description "Represents the EP_NL5 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N41Grp; - } + container attributes { uses EP_NL5Grp; } } - list EP_N42 { - description "Represents the EP_N42 IOC."; + } + grouping EP_NL10Subtree { + list EP_NL10 { + description "Represents the EP_NL10 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N42Grp; - } + container attributes { uses EP_NL10Grp; } } - list EP_N89 { - description "Represents the EP_N89 IOC."; + } + grouping EP_NL8Subtree { + list EP_NL8 { + description "Represents the EP_NL8 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N89Grp; - } + container attributes { uses EP_NL8Grp; } } - list EP_N11mb { - description "Represents the EP_N11mb IOC."; + } + grouping EP_N34Subtree { + list EP_N34 { + description "Represents the EP_N34 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N11mbGrp; - } + container attributes { uses EP_N34Grp; } } - list EP_AIOT3 { - description "This IOC represents the AIOT3 interface between AMF and - AIOTF, which is defined in 3GPP TS 23.369."; + } + grouping EP_N26Subtree { + list EP_N26 { + description "Represents the EP_N26 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_AIOT3Grp; - } + container attributes { uses EP_N26Grp; } } } - - augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { - list EP_N12 { - description "Represents the EP_N12 IOC."; + grouping EP_N89Subtree { + list EP_N89 { + description "Represents the EP_N89 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } + container attributes { uses EP_N89Grp; } } - - list EP_N13 { - description "Represents the EP_N13 IOC."; + } + grouping EP_N11mbSubtree { + list EP_N11mb { + description "Represents the EP_N11mb IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } + 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_N15Grp; - } + 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_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; } + } - list EP_Rx { - description "Represents the EP_Rx IOC."; + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { + uses EP_N2Subtree { + if-feature EP_N2UnderN3IWFFunction; + } + uses EP_N3Subtree { + if-feature EP_N3UnderN3IWFFunction; + } + } + + 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; } } @@ -724,474 +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."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } + uses EP_N7Subtree { + if-feature EP_N7UnderSMFFunction; } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } + uses EP_N10Subtree { + if-feature EP_N10UnderSMFFunction; } - - list EP_N11 { - description "Represents the EP_N11 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } + uses EP_N11Subtree { + if-feature EP_N11UnderSMFFunction; } - - list EP_N16 { - description "Represents the EP_N16 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } + uses EP_N16Subtree { + if-feature EP_N16UnderSMFFunction; } - list EP_S5C { - description "Represents the EP_S5C IOC."; + description "Represents the EP_S5C IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_S5CGrp; - } + container attributes { uses EP_S5CGrp; } } - list EP_N40 { - description "Represents the EP_N40 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N40Grp; - } + uses EP_N40Subtree { + if-feature EP_N40UnderSMFFunction; } - list EP_N88 { - description "Represents the EP_N88 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N88Grp; - } + uses EP_N88Subtree { + if-feature EP_N88UnderSMFFunction; } - list EP_N16mb { - description "Represents the EP_N16mb IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16mbGrp; - } + uses EP_N16mbSubtree { + if-feature EP_N16mbUnderSMFFunction; } } augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { - list EP_N8 { - description "Represents the EP_N8 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } + uses EP_N8Subtree { + if-feature EP_N8UnderUDMFunction; } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } + uses EP_N10Subtree { + if-feature EP_N10UnderUDMFunction; } - - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } + uses EP_N13Subtree { + if-feature EP_N13UnderUDMFunction; } - list EP_NL6 { - description "Represents the EP_NL6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL6Grp; - } + uses EP_NL6Subtree { + if-feature EP_NL6UnderUDMFunction; } - list EP_NL87 { - description "Represents the EP_NL87 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL87Grp; - } + uses EP_N87Subtree { + if-feature EP_N87UnderUDMFunction; } - } augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { - 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_N4UnderUPFFunction; } - - list EP_N3 { - description "Represents the EP_N3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } + 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_N9Grp; - } + container attributes { uses EP_N9Grp; } } - list EP_S5U { description "Represents the EP_S5U IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_S5UGrp; - } + container attributes { uses EP_S5UGrp; } } - - list EP_EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } + uses EP_N6Subtree { + if-feature EP_N6UnderUPFFunction; } - list EP_N19mb { - description "Represents the EP_N19mb IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N19mbGrp; - } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderUPFFunction; } } - augment "/me3gpp:ManagedElement/nef3gpp:NEFFunction" { - list EP_N33 { - description "Represents the EP_N33 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_N33Grp; - } + container attributes { uses EP_N3mbGrp; } } - list EP_N85 { - description "Represents the EP_N85 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N85Grp; - } + uses EP_N19mbSubtree { + if-feature EP_N19mbUnderMBUPFFunction; } - list EP_N63 { - description "Represents the EP_N63 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N63Grp; - } + uses EP_N4mbSubtree { + if-feature EP_N4mbUnderMBUPFFunction; } - list EP_NL5 { - description "Represents the EP_NL5 IOC."; + list EP_Nmb9 { + description "Represents the EP_Nmb9 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { - uses EP_NL5Grp; - } + container attributes { uses EP_Nmb9Grp; } } - } - augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" { - list EP_NL9 { - description "Represents the EP_NL9 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_NL9Grp; - } + container attributes { uses EP_Nmb1Grp; } } - list EP_NL2 { - description "Represents the EP_NL2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL2Grp; - } + uses EP_N11mbSubtree { + if-feature EP_N11mbUnderMBSMFFunction; } - list EP_NL3 { - description "Represents the EP_NL3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL3Grp; - } + uses EP_N16mbSubtree { + if-feature EP_N16mbUnderMBSMFFunction; } - list EP_NL5 { - description "Represents the EP_NL5 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL5Grp; - } + uses EP_N4mbSubtree { + if-feature EP_N4mbUnderMBSMFFunction; } - list EP_NL6 { - description "Represents the EP_NL6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL6Grp; - } + } + + augment "/me3gpp:ManagedElement/chf3gpp:CHFFunction" { + uses EP_N40Subtree { + if-feature EP_N40UnderCHFFunction; } - list EP_NL10 { - description "Represents the EP_NL10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NL10Grp; - } + uses EP_N28Subtree { + if-feature EP_N28UnderCHFFunction; } - } - 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_N41Subtree { + if-feature EP_N41UnderCHFFunction; } - list EP_N34 { - description "Represents the EP_N34 IOC."; + } + + augment "/me3gpp:ManagedElement/nsacf3gpp:NSACFFunction" { + uses EP_N60Subtree { + if-feature EP_N60UnderNSACFFunction; + } + } + + 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_N34Grp; - } + container attributes { uses EP_N58Grp; } } - } - augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" { - list EP_SM13 { - description "Represents the EP_SM13 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_SM13Grp; - } + container attributes { uses EP_N59Grp; } } - } + } augment "/me3gpp:ManagedElement/ddnmf3gpp:DDNMFFunction" { list EP_Npc4 { - description "Represents the EP_Npc4 IOC."; + description "This IOC represents the Npc4 interface between the UDM + and 5G DDNMF, which is defined in 3GPP TS 23.304 [73]."; key id; uses top3gpp:Top_Grp; container attributes { uses EP_Npc4Grp; } } list EP_Npc6 { - description "Represents the EP_Npc6 IOC."; + description "This IOC represents the Npc6 interface between the 5G DDNMF + in the HPLMN and the 5G DDNMF in a Local PLMN (5G ProSe Direct Discovery) + , which is defined in TS 23.304 [73]."; key id; uses top3gpp:Top_Grp; container attributes { uses EP_Npc6Grp; } } list EP_Npc7 { - description "Represents the EP_Npc7 IOC."; + description "This IOC represents the Npc7 interface between the 5G DDNMF + in the HPLMN and the 5G DDNMF in the VPLMN, which is defined in + TS 23.304 [73]."; key id; uses top3gpp:Top_Grp; container attributes { uses EP_Npc7Grp; } } list EP_Npc8 { - description "Represents the EP_Npc8 IOC."; + description "This IOC represents the Npc8 interface between the PCF and 5 + G DDNMF, which is defined in 3GPP TS 23.304 [73]."; key id; uses top3gpp:Top_Grp; container attributes { uses EP_Npc8Grp; } } } - augment "/me3gpp:ManagedElement/nssaaf3gpp:NSSAAFFunction" { - list EP_N58 { - description "Represents the EP_N58 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N58Grp; } + augment "/me3gpp:ManagedElement/tsctsf3gpp:TSCTSFFunction" { + uses EP_N84Subtree { + if-feature EP_N84UnderTSCTSFFunction; } - - list EP_N59 { - description "Represents the EP_N59 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N59Grp; } + 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; } } - 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"; - } - - grouping EP_N84Subtree { - list EP_N84 { - description "Represents the EP_N84 IOC."; + augment "/me3gpp:ManagedElement/nef3gpp:NEFFunction" { + list EP_N33 { + description "Represents the EP_N33 IOC."; key id; uses top3gpp:Top_Grp; - container attributes { uses EP_N84Grp; } + container attributes { uses EP_N33Grp; } } - } - grouping EP_N85Subtree { - 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; } - } - grouping EP_N86Subtree { - list EP_N86 { - description "Represents the EP_N86 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N86Grp; } + uses EP_N63Subtree { + if-feature EP_N63UnderNEFFunction; } - } - grouping EP_N87Subtree { - list EP_N87 { - description "Represents the EP_N87 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N87Grp; } + uses EP_NL5Subtree { + if-feature EP_NL5UnderNEFFunction; } } - grouping EP_N96Subtree { - list EP_N96 { - description "Represents the EP_N96 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { uses EP_N96Grp; } + + augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderNWDAFFunction; + } + uses EP_N34Subtree { + if-feature EP_N34UnderNWDAFFunction; } } - augment "/me3gpp:ManagedElement/tsctsf3gpp:TSCTSFFunction" { - uses EP_N84Subtree { - if-feature EP_N84UnderTSCTSFFunction; + augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" { + uses EP_NL9Subtree { + if-feature EP_NL9UnderGMLCFunction; } - uses EP_N85Subtree { - if-feature EP_N85UnderTSCTSFFunction; + uses EP_NL2Subtree { + if-feature EP_NL2UnderGMLCFunction; } - uses EP_N86Subtree { - if-feature EP_N86UnderTSCTSFFunction; + uses EP_NL3Subtree { + if-feature EP_NL3UnderGMLCFunction; } - uses EP_N87Subtree { - if-feature EP_N87UnderTSCTSFFunction; + uses EP_NL5Subtree { + if-feature EP_NL5UnderGMLCFunction; } - list EP_N89 { - description "Represents the EP_N89 IOC."; + uses EP_NL6Subtree { + if-feature EP_NL6UnderGMLCFunction; + } + uses EP_NL10Subtree { + if-feature EP_NL10UnderGMLCFunction; + } + } + + augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" { + list EP_SM13 { + description "This IOC represents the SM13 interface between MNPF + and SCP, and it is defined in TS 23.540 [100]."; key id; uses top3gpp:Top_Grp; - container attributes { uses EP_N89Grp; } + container attributes { uses EP_SM13Grp; } } - uses EP_N96Subtree { - if-feature EP_N96UnderTSCTSFFunction; + } + + augment "/me3gpp:ManagedElement/aanf3gpp:AANFFunction" { + uses EP_N61Subtree { + if-feature EP_N61UnderAANFFunction; + } + uses EP_N62Subtree { + if-feature EP_N62UnderAANFFunction; + } + uses EP_N63Subtree { + if-feature EP_N63UnderAANFFunction; } } -} \ No newline at end of file + augment "/me3gpp:ManagedElement/easdf3gpp:EASDFFunction" { + uses EP_N88Subtree { + if-feature EP_N88UnderEASDFFunction; + } + } +} -- GitLab From f18612defd8a5fe85010b35eaaaf8b6ec2aec592 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 19 May 2026 18:27:17 +0200 Subject: [PATCH 45/56] update-4 --- yang-models/#Untitled-1# | 8 ++ yang-models/_3gpp-5g-common-yang-types.yang | 87 +++++++++++++ yang-models/_3gpp-5gc-nrm-affunction.yang | 121 ++++++++++++++++++- yang-models/_3gpp-5gc-nrm-neffunction.yang | 11 +- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 73 ++++++----- yang-models/_3gpp-common-yang-types.yang | 41 +++++++ 6 files changed, 310 insertions(+), 31 deletions(-) create mode 100644 yang-models/#Untitled-1# diff --git a/yang-models/#Untitled-1# b/yang-models/#Untitled-1# new file mode 100644 index 00000000..5717f0e0 --- /dev/null +++ b/yang-models/#Untitled-1# @@ -0,0 +1,8 @@ +^(?!EA32).*\n + + modified: _3gpp-5g-common-yang-types.yang + modified: _3gpp-5gc-nrm-affunction.yang + modified: _3gpp-5gc-nrm-neffunction.yang + modified: _3gpp-5gc-nrm-nwdaffunction.yang + modified: _3gpp-common-yang-types.yang + \ No newline at end of file diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 40af813a..d2020563 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -6,6 +6,7 @@ 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"; @@ -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-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang index f3ec7376..db82f1dc 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-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 9c056d89..82642f1c 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-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index c9500400..8d6f21d7 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -17,10 +17,11 @@ module _3gpp-5gc-nrm-nwdaffunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-20 { reference CR-1703 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } @@ -32,31 +33,6 @@ module _3gpp-5gc-nrm-nwdaffunction { revision 2019-05-15 {reference "initial revision"; } - typedef NwdafEvent { - description "The detailed ENUM value for NwdafEvent see the - Table 5.1.6.3.4-1 in TS 29.520"; - type union { - type enumeration { - enum SLICE_LOAD_LEVEL; - enum NETWORK_PERFORMANCE; - enum NF_LOAD; - enum SERVICE_EXPERIENCE; - enum UE_MOBILITY; - enum UE_COMMUNICATION; - enum QOS_SUSTAINABILITY; - enum ABNORMAL_BEHAVIOUR; - enum USER_DATA_CONGESTION; - enum NSI_LOAD_LEVEL; - enum DN_PERFORMANCE; - enum DISPERSION; - enum RED_TRANS_EXP; - enum WLAN_PERFORMANCE; - enum SM_CONGESTION; - } - type string; - } - } - grouping NwdafCapabilityGrp { description "This data type represents the capability supported by the NWDAF."; @@ -91,7 +67,7 @@ module _3gpp-5gc-nrm-nwdaffunction { reference "TS 29.510"; leaf-list mlAnalyticsIds { - type NwdafEvent; + type types5g3gpp:NwdafEvent; ordered-by user; description "This attribute represents the Analytic functionalities (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF @@ -165,6 +141,47 @@ 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."; + } + + 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 +189,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-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 5db3ef63..54063756 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; } } -- GitLab From a4f4fc7404b71b1dddf1d16a601f349ec92d7b8b Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 19 May 2026 18:44:10 +0200 Subject: [PATCH 46/56] add attribute priority to managed-nfprofile to aligne with stateg2 --- yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 4f7e50de..8b840523 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -166,6 +166,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, -- GitLab From a41a4d55b57f43307f25b13fb44704f6eea9f0a2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 19 May 2026 19:13:07 +0200 Subject: [PATCH 47/56] update-4 --- yang-models/#Untitled-1# | 10 +++++----- yang-models/_3gpp-5g-common-yang-types.yang | 4 ++-- yang-models/_3gpp-common-yang-types.yang | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/yang-models/#Untitled-1# b/yang-models/#Untitled-1# index 5717f0e0..37b83fbc 100644 --- a/yang-models/#Untitled-1# +++ b/yang-models/#Untitled-1# @@ -1,8 +1,8 @@ ^(?!EA32).*\n - modified: _3gpp-5g-common-yang-types.yang - modified: _3gpp-5gc-nrm-affunction.yang - modified: _3gpp-5gc-nrm-neffunction.yang - modified: _3gpp-5gc-nrm-nwdaffunction.yang - modified: _3gpp-common-yang-types.yang + modified: _3gpp-5g-common-yang-types.yang + modified: _3gpp-5gc-nrm-affunction.yang +modified: _3gpp-5gc-nrm-neffunction.yang + modified: _3gpp-5gc-nrm-nwdaffunction.yang +modified: _3gpp-common-yang-types.yang \ No newline at end of file diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index d2020563..9060eba0 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -12,12 +12,12 @@ module _3gpp-5g-common-yang-types { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "The model defines common types for 5G networks and network slicing. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2026-03-25 { reference "CR-"; } - 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 ; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 54063756..e5bdc90a 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -841,6 +841,7 @@ module _3gpp-common-yang-types { range 0..100; } } + typedef SupportedFeatures { type string { pattern '[A-Fa-f0-9]*'; -- GitLab From 5289eabf3f04eb96d2582e8430bbd5663c49d5d7 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 19 May 2026 21:18:28 +0200 Subject: [PATCH 48/56] correct amfinfo and MlAnalyticsInfo to aligne with stage 2 --- yang-models/_3gpp-5gc-nrm-amffunction.yang | 20 ++++++++- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 43 ++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 89ecbe3f..0d9c4c38 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; } @@ -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-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 8d6f21d7..f5cc3cb4 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -21,6 +21,7 @@ module _3gpp-5gc-nrm-nwdaffunction { 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 ; } @@ -153,6 +154,48 @@ module _3gpp-5gc-nrm-nwdaffunction { 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; } -- GitLab From 8efafdd21ae7f5d7b12117fa0b22d4daffa7d224 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 19 May 2026 21:23:12 +0200 Subject: [PATCH 49/56] add pgwIpAddrList to smfinfo to aligne with stage 2 and yaml --- yang-models/_3gpp-5gc-nrm-smffunction.yang | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index d62b1cfa..535f48aa 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. -- GitLab From 7d6e76009e11ee43f7754cca6cae878e5289667b Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 19 May 2026 22:18:36 +0200 Subject: [PATCH 50/56] correction missmaches with stage 2 and yang --- yang-models/_3gpp-5gc-nrm-amffunction.yang | 4 ++-- yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang | 14 ++++++-------- yang-models/_3gpp-5gc-nrm-nfservice.yang | 9 +++++---- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-smffunction.yang | 11 ++++------- yang-models/_3gpp-5gc-nrm-upffunction.yang | 6 ++++++ 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 0d9c4c38..fb43c5f6 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -369,14 +369,14 @@ module _3gpp-5gc-nrm-amffunction { grouping AmfInfoGrp { description "Represents the data type AmfInfo."; - leaf amfRegionId { + leaf aMFRegionId { type int64; mandatory true; description "It represents the AMF Region ID, which identifies the region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 "; } - leaf amfSetId { + leaf aMFSetId { type int64; mandatory true; description "It represents the AMF Set ID, which is uniquely identifies diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 8b840523..990fb0ab 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 ; } @@ -286,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 { @@ -329,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 { @@ -375,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."; @@ -385,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-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 34176d07..36bc90ae 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 10642324..7b0a0364 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -118,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."; diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 535f48aa..ee89d414 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -95,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 @@ -104,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 @@ -113,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 @@ -122,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 @@ -133,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-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index f23140e7..1a9adc2d 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 { -- GitLab From 8a9e3b14c38c9be8d9cd9ed1ce6c158d929075fa Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 22 May 2026 03:38:25 +0200 Subject: [PATCH 51/56] remove temporary file --- yang-models/#Untitled-1# | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 yang-models/#Untitled-1# diff --git a/yang-models/#Untitled-1# b/yang-models/#Untitled-1# deleted file mode 100644 index 37b83fbc..00000000 --- a/yang-models/#Untitled-1# +++ /dev/null @@ -1,8 +0,0 @@ -^(?!EA32).*\n - - modified: _3gpp-5g-common-yang-types.yang - modified: _3gpp-5gc-nrm-affunction.yang -modified: _3gpp-5gc-nrm-neffunction.yang - modified: _3gpp-5gc-nrm-nwdaffunction.yang -modified: _3gpp-common-yang-types.yang - \ No newline at end of file -- GitLab From 20fe9fd814e7c57b644957f190c3ae5b50c9c109 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 8 May 2026 14:55:06 +0000 Subject: [PATCH 52/56] Remove all references to "NIMA" in the attribute definitions. --- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 53095b40..d554f219 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-ntnfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-05-08 { reference "CR-1718"; } revision 2026-02-02 { reference "CR-1682 CR-1683"; } //Common in r19, r20 revision 2025-03-27 { reference CR-1512; } revision 2025-02-17 { reference CR-1479 ; } @@ -114,8 +115,7 @@ module _3gpp-nr-nrm-ntnfunction { } default 0; units meter; - description "Satellite orbital parameter: semi major axis alpha, - see NIMA TR 8350.2. + description "Satellite orbital parameter: semi major axis alpha. Step of 4.249 * 10**-3 m. Actual value = 6500000 + field value * (4.249 * 10**-3)."; } @@ -125,8 +125,7 @@ module _3gpp-nr-nrm-ntnfunction { range -524288..524287; } default 0; - description "Satellite orbital parameter: eccentricity e, - see NIMA TR 8350.2. + description "Satellite orbital parameter: eccentricity e. Step 1.431 * 10**-8. Actual value = field value * (1.431 * 10**-8)."; } @@ -137,8 +136,7 @@ module _3gpp-nr-nrm-ntnfunction { } default 0; units radian; - description "Satellite orbital parameter: argument of periapsis omega, - see NIMA TR 8350.2. + description "Satellite orbital parameter: argument of periapsis omega. Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } @@ -150,7 +148,7 @@ module _3gpp-nr-nrm-ntnfunction { default 0; units radian; description "Satellite orbital parameter: longitude of ascending node - OMEGA, see NIMA TR 8350.2. + omega. Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } @@ -161,8 +159,7 @@ module _3gpp-nr-nrm-ntnfunction { } default 0; units radian; - description "Satellite orbital parameter: inclination i, - see NIMA TR 8350.2. + description "Satellite orbital parameter: inclination i. Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } @@ -173,8 +170,7 @@ module _3gpp-nr-nrm-ntnfunction { } default 0; units radian; - description "Satellite orbital parameter: Mean anomaly M at epoch time, - see NIMA TR 8350.2. + description "Satellite orbital parameter: Mean anomaly M at epoch time. Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } @@ -213,7 +209,7 @@ module _3gpp-nr-nrm-ntnfunction { list orbital { description "It indicates ephemeris is in orbital parameter ephemeris - format, as specified in NIMA TR 8350.2"; + format."; max-elements 1; key idx; leaf idx { type uint32; } -- GitLab From bbacd2b6d273945824c1f390e7410b0435961e53 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Mon, 27 Apr 2026 16:52:18 +0200 Subject: [PATCH 53/56] Edit _3gpp-common-subscription-control.yang added adminState to subscription --- .../_3gpp-common-subscription-control.yang | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 833e46ad..1f9c3582 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -21,6 +21,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2026-04-26 { reference "CR-0625"; } revision 2026-03-19 { reference "CR-0618 CR-0619"; } //common for r19, r20 revision 2025-11-07 { reference "CR-0551 CR-0586"; } revision 2025-08-13 { reference "CR-0551 CR-0561"; } @@ -337,6 +338,14 @@ module _3gpp-common-subscription-control { by a 'NtfSubscriptionControl' instance."; } + leaf administrativeState { + type types3gpp:BasicAdministrativeState; + default LOCKED; + description "The administrative state describes the permission to use or + prohibition against using the object instance. The adminstrative state + is set by the MnS consumer."; + } + leaf operationalState { type types3gpp:OperationalState; config false; @@ -429,6 +438,14 @@ module _3gpp-common-subscription-control { can create a subscription for another MnS consumer since it is not required the notificationRecipientAddress be his own address. + To receive notifications, a MnS consumer has to ensure that the + administrativeState attribute is set to UNLOCKED. If the + administrativeState is LOCKED + - notifcations will not be sent out for this subscription, nor + will they be logged in any NotificationList MOI + - the lastSequenceNo is not updated + - the operationalState will be set to DISABLED by the producer. + When a MnS consumer does not wish to receive notifications any more the MnS consumer shall delete the corresponding NtfSubscriptionControl instance. -- GitLab From df396696d988b44f53404106b5b36eb7fd3b8023 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Mon, 27 Apr 2026 16:56:43 +0200 Subject: [PATCH 54/56] Edit _3gpp-common-subscription-control.yang Changed admiState default to UNLOCKED for compatibility --- yang-models/_3gpp-common-subscription-control.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 1f9c3582..fbf42e85 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -340,7 +340,7 @@ module _3gpp-common-subscription-control { leaf administrativeState { type types3gpp:BasicAdministrativeState; - default LOCKED; + default UNLOCKED; description "The administrative state describes the permission to use or prohibition against using the object instance. The adminstrative state is set by the MnS consumer."; -- GitLab From be15241027c3a9563105052146821dc43471cb73 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Tue, 5 May 2026 23:43:34 +0200 Subject: [PATCH 55/56] Edit _3gpp-common-subscription-control.yang Updated description --- yang-models/_3gpp-common-subscription-control.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index fbf42e85..f703291a 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -444,7 +444,6 @@ module _3gpp-common-subscription-control { - notifcations will not be sent out for this subscription, nor will they be logged in any NotificationList MOI - the lastSequenceNo is not updated - - the operationalState will be set to DISABLED by the producer. When a MnS consumer does not wish to receive notifications any more the MnS consumer shall delete the corresponding NtfSubscriptionControl -- GitLab From 2c4962d434a3d20b8dc72483a003c850d4c6957e Mon Sep 17 00:00:00 2001 From: lengyelb Date: Wed, 20 May 2026 08:10:07 +0200 Subject: [PATCH 56/56] Edit _3gpp-common-subscription-control.yang --- yang-models/_3gpp-common-subscription-control.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index f703291a..16b763f2 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -342,7 +342,7 @@ module _3gpp-common-subscription-control { type types3gpp:BasicAdministrativeState; default UNLOCKED; description "The administrative state describes the permission to use or - prohibition against using the object instance. The adminstrative state + prohibition against using the NtfSubscriptionControl instance. The adminstrative state is set by the MnS consumer."; } -- GitLab