From d4c9bb96ef840401229328f71ae5bb552f287974 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 2 Oct 2025 19:45:27 +0200 Subject: [PATCH 01/27] 2-3 commit1 --- yang-models/_3gpp-common-ep-rp.yang | 6 +- yang-models/_3gpp-common-trace.yang | 9 +- yang-models/_3gpp-common-yang-types.yang | 3 +- yang-models/_3gpp-nr-nrm-ep.yang | 24 ++- yang-models/_3gpp-nr-nrm-iabfunction.yang | 10 +- .../external-yams/ietf-inet-types.yang | 137 +++++++++------- ...01-14.yang => ietf-yang-schema-mount.yang} | 0 .../external-yams/ietf-yang-types.yang | 146 ++++++++++-------- 8 files changed, 203 insertions(+), 132 deletions(-) rename yang-models/external-yams/{ietf-yang-schema-mount@2019-01-14.yang => ietf-yang-schema-mount.yang} (100%) mode change 100755 => 100644 diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 3b4d22dd9..a3c14b50f 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -12,7 +12,7 @@ module _3gpp-common-ep-rp { description "Common/basic class/grouping to be inherited/reused. This IOC represents an end point of a link used across a reference point between two network entities. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.622 @@ -23,6 +23,7 @@ module _3gpp-common-ep-rp { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-10-01 { reference CR-0578 ; } revision 2023-09-18 { reference CR-0271 ; } revision 2020-06-08 { reference "CR-0092"; } @@ -49,11 +50,12 @@ module _3gpp-common-ep-rp { config false; type types3gpp:DistinguishedName; } + + uses meas3gpp:SupportedPerfMetricGroupGrp; } grouping EP_Common { uses EP_RPGrp; - uses meas3gpp:SupportedPerfMetricGroupGrp; list localAddress { description "Local IP address and VLAN ID."; key "ipAddress vlanId"; diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index cbcf5b179..38df834eb 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 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } revision 2025-02-07 { reference "CR-0504" ; } @@ -1585,7 +1586,7 @@ module _3gpp-common-trace { reference "clause 5.10.38 of TS 32.422"; } - list areaConfigurationForNeighCells { + list areaConfigurationForNeighCell { when '../../../jobType = "LOGGED_MDT_ONLY" or' + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key "idx"; @@ -1731,7 +1732,7 @@ module _3gpp-common-trace { trsrPrefixLength defines the size of base TRSR prefix."; reference "Clause 5.10 of 3GPP TS 32.422."; leaf idx { type uint32 ; } - uses trace3gpp:trsrPrefixCfgGrp ; + uses trace3gpp:TrsrPrefixCfgGrp ; } } @@ -1786,8 +1787,8 @@ module _3gpp-common-trace { } } - grouping trsrPrefixCfgGrp { - leaf trstPrefix { + grouping TrsrPrefixCfgGrp { + leaf trsrPrefix { type string; mandatory true; description "A 2 byte Octet String. This is the base TRSR prefix"; diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index bba864e28..85be05055 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -17,6 +17,7 @@ module _3gpp-common-yang-types { reference "3GPP TS 28.623"; + revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } @@ -103,7 +104,7 @@ module _3gpp-common-yang-types { } typedef FullTime { - type yang:time-with-zone-offset; + type yang:time; } grouping DayInYearGrp { diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 60bc8091f..8818cd7db 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -9,6 +9,7 @@ module _3gpp-nr-nrm-ep { import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-yang-types { prefix types3gpp ; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -19,6 +20,7 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-10-01 { reference CR-1616 ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } @@ -47,6 +49,11 @@ module _3gpp-nr-nrm-ep { uses eprp3gpp:EP_Common; } + grouping EP_F1CGrp { + description "Attributes of IOC EP_F1U"; + uses eprp3gpp:EP_Common; + } + grouping EP_F1CSubtree { list EP_F1C { description "Represents the local end point of the control plane @@ -55,11 +62,24 @@ module _3gpp-nr-nrm-ep { key id; uses top3gpp:Top_Grp; container attributes { - uses eprp3gpp:EP_Common; + uses EP_F1CGrp; } } } + grouping EP_F1UGrp { + description "Attributes of IOC EP_F1U"; + uses eprp3gpp:EP_Common; + + leaf-list epTransportRef { + type types3gpp:DistinguishedName; + config false; + description "This parameter specifies a list of transport level EPs + associated with the application level EP (i.e. EP_N3 or EP_NgU or + EP_F1U) or network slice subnet."; + } + } + grouping EP_F1USubtree { list EP_F1U { description "Represents the local end point of the user plane @@ -68,7 +88,7 @@ module _3gpp-nr-nrm-ep { key id; uses top3gpp:Top_Grp; container attributes { - uses eprp3gpp:EP_Common; + uses EP_F1UGrp; } } } diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 12592ba49..9a16b3d2e 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -18,6 +18,7 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; + revision 2025-10-01 { reference "CR-1616" ; } revision 2025-08-15 { reference "CR-1598"; } grouping CaraConfigurationGrp { @@ -170,10 +171,11 @@ module _3gpp-nr-nrm-iabfunction { uses LocationInfoGrp; } } - grouping IabSubTree { + + grouping IABSubTree { description "Contains classes that manage IAB function management"; - list IAB { + list IAB { description "IAB-node architecture is specified in TS 38.401. This IOC defines the configuration information for the IAB management"; @@ -191,7 +193,7 @@ module _3gpp-nr-nrm-iabfunction { augment /me3gpp:ManagedElement { if-feature IABUnderManagedElement; - uses IabSubTree; + uses IABSubTree; } feature IABUnderSubNetwork { @@ -200,6 +202,6 @@ module _3gpp-nr-nrm-iabfunction { augment /subnet3gpp:SubNetwork { if-feature IABUnderSubNetwork; - uses IabSubTree; + uses IABSubTree; } } \ No newline at end of file diff --git a/yang-models/external-yams/ietf-inet-types.yang b/yang-models/external-yams/ietf-inet-types.yang index 8101ea4bc..a7da09523 100755 --- a/yang-models/external-yams/ietf-inet-types.yang +++ b/yang-models/external-yams/ietf-inet-types.yang @@ -16,14 +16,13 @@ module ietf-inet-types { description "This module contains a collection of generally useful derived YANG data types for Internet addresses and related things. - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. - Copyright (c) 2022 IETF Trust and the persons identified as + Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -36,13 +35,14 @@ module ietf-inet-types { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2023-01-23 { + revision 2025-06-23 { description "This revision adds the following new data types: - inet:ip-address-and-prefix - inet:ipv4-address-and-prefix - inet:ipv6-address-and-prefix - inet:protocol-number + - inet:upper-layer-protocol-number - inet:host-name - inet:email-address - inet:ip-address-link-local @@ -64,7 +64,6 @@ module ietf-inet-types { reference "RFC 6991: Common YANG Data Types"; } - revision 2010-09-24 { description "Initial revision."; @@ -171,10 +170,7 @@ module ietf-inet-types { "The protocol-number type represents an 8-bit Internet protocol number, carried in the 'protocol' field of the IPv4 header or in the 'next header' field of the IPv6 - header. If IPv6 extension headers are present, then the - protocol number type represents the upper layer protocol - number, i.e., the number of the last next header' field - of the IPv6 extension headers. + header. Protocol numbers are assigned by IANA. The current list of all assignments is available from ."; @@ -183,6 +179,19 @@ module ietf-inet-types { RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; } + typedef upper-layer-protocol-number { + type protocol-number; + description + "The upper-layer-protocol-number represents the upper-layer + protocol number carried in an IP packet. For IPv6 packets + with extension headers, this is the protocol number carried + in the last 'next header' field of the chain of IPv6 extension + headers."; + reference + "RFC 791: Internet Protocol + RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; + } + /*** collection of types related to autonomous systems ***/ typedef as-number { @@ -219,8 +228,8 @@ module ietf-inet-types { typedef ip-address { type union { - type inet:ipv4-address; - type inet:ipv6-address; + type ipv4-address; + type ipv6-address; } description "The ip-address type represents an IP address and is IP @@ -236,12 +245,16 @@ module ietf-inet-types { pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' - + '(%[A-Za-z0-9][A-Za-z0-9\-\._~/]*)?'; + + '(%.+)?'; } description "The ipv4-address type represents an IPv4 address in dotted-quad notation. The IPv4 address may include a zone - index, separated by a % sign. + index, separated by a % sign. If a system uses zone names + that are not represented in UTF-8, then an implementation + needs to use some mechanism to transform the local name + into UTF-8. The definition of such a mechanism is outside + the scope of this document. The zone index is used to disambiguate identical address values. For link-local addresses, the zone index will @@ -268,6 +281,10 @@ module ietf-inet-types { "The ipv6-address type represents an IPv6 address in full, mixed, shortened, and shortened-mixed notation. The IPv6 address may include a zone index, separated by a % sign. + If a system uses zone names that are not represented in + UTF-8, then an implementation needs to use some mechanism + to transform the local name into UTF-8. The definition of + such a mechanism is outside the scope of this document. The zone index is used to disambiguate identical address values. For link-local addresses, the zone index will @@ -288,8 +305,8 @@ module ietf-inet-types { typedef ip-address-no-zone { type union { - type inet:ipv4-address-no-zone; - type inet:ipv6-address-no-zone; + type ipv4-address-no-zone; + type ipv6-address-no-zone; } description "The ip-address-no-zone type represents an IP address and is @@ -302,23 +319,25 @@ module ietf-inet-types { } typedef ipv4-address-no-zone { - type inet:ipv4-address { + type ipv4-address { pattern '[0-9\.]*'; } description - "An IPv4 address without a zone index. This type, derived from - ipv4-address, may be used in situations where the zone is known - from the context and hence no zone index is needed."; + "An IPv4 address without a zone index. This type, derived + from the type ipv4-address, may be used in situations where + the zone is known from the context and no zone index is + needed."; } typedef ipv6-address-no-zone { - type inet:ipv6-address { + type ipv6-address { pattern '[0-9a-fA-F:\.]*'; } description - "An IPv6 address without a zone index. This type, derived from - ipv6-address, may be used in situations where the zone is known - from the context and hence no zone index is needed."; + "An IPv6 address without a zone index. This type, derived + from the type ipv6-address, may be used in situations where + the zone is known from the context and no zone index is + needed."; reference "RFC 4291: IP Version 6 Addressing Architecture RFC 4007: IPv6 Scoped Address Architecture @@ -328,8 +347,8 @@ module ietf-inet-types { typedef ip-address-link-local { type union { - type inet:ipv4-address-link-local; - type inet:ipv6-address-link-local; + type ipv4-address-link-local; + type ipv6-address-link-local; } description "The ip-address-link-local type represents a link-local IP @@ -361,8 +380,8 @@ module ietf-inet-types { typedef ip-prefix { type union { - type inet:ipv4-prefix; - type inet:ipv6-prefix; + type ipv4-prefix; + type ipv6-prefix; } description "The ip-prefix type represents an IP prefix and is IP @@ -381,7 +400,6 @@ module ietf-inet-types { "The ipv4-prefix type represents an IPv4 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 32. - A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB) and all other bits set to 0. @@ -436,8 +454,8 @@ module ietf-inet-types { typedef ip-address-and-prefix { type union { - type inet:ipv4-address-and-prefix; - type inet:ipv6-address-and-prefix; + type ipv4-address-and-prefix; + type ipv6-address-and-prefix; } description "The ip-address-and-prefix type represents an IP address and @@ -454,7 +472,7 @@ module ietf-inet-types { } description "The ipv4-address-and-prefix type represents an IPv4 - address and an associated ipv4 prefix. + address and an associated IPv4 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 32. @@ -476,7 +494,7 @@ module ietf-inet-types { } description "The ipv6-address-and-prefix type represents an IPv6 - address and an associated ipv4 prefix. + address and an associated IPv6 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 128. @@ -516,6 +534,7 @@ module ietf-inet-types { recommendations in RFCs 1034 and 1123. Schema nodes representing host names should use the host-name type instead of the domain-type. + The encoding of DNS names in the DNS protocol is limited to 255 characters. Since the encoding consists of labels prefixed by a length bytes and there is a trailing NULL @@ -544,7 +563,8 @@ module ietf-inet-types { (DNS SRV) RFC 4592: The Role of Wildcards in the Domain Name System RFC 5890: Internationalized Domain Names in Applications - (IDNA): Definitions and Document Framework"; + (IDNA): Definitions and Document Framework + RFC 9499: DNS Terminology"; } typedef host-name { @@ -565,14 +585,13 @@ module ietf-inet-types { typedef host { type union { - type inet:ip-address; - type inet:host-name; + type ip-address; + type host-name; } description "The host type represents either an IP address or a (fully qualified) host name."; } - typedef uri { type string { pattern '[a-z][a-z0-9+.-]*:.*'; @@ -583,11 +602,13 @@ module ietf-inet-types { Objects using the uri type MUST be in US-ASCII encoding, and MUST be normalized as described by RFC 3986 Sections - 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary - percent-encoding is removed, and all case-insensitive - characters are set to lowercase except for hexadecimal - digits, which are normalized to uppercase as described in - Section 6.2.2.1. + 6.2.1, 6.2.2.1, and 6.2.2.2. Characters that can be + represented without using percent-encoding are represented + as characters (without percent-encoding), and all + case-insensitive characters are set to lowercase except + for hexadecimal digits within a percent-encoded triplet, + which are normalized to uppercase as described in + Section 6.2.2.1 of RFC 3986. The purpose of this normalization is to help provide unique URIs. Note that this normalization is not @@ -616,25 +637,29 @@ module ietf-inet-types { typedef email-address { type string { - pattern '(([a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+' - + '(\.[a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+)*)|' - + '("[a-zA-Z0-9!#$%&'+"'"+'()*+,./\[\]\^_`{|}~-]*"))' - + '@' - + '(([a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+' - + '(\.[a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+)*)|' - + '\[[a-zA-Z0-9!"#$%&'+"'"+'()*+,./:;<=>?@\^_`{|}~-]+\])'; + pattern '.+@.+'; } description - "The email-address type represents an email address as - defined as addr-spec in RFC 5322 section 3.4.1 except - that obs-local-part, obs-domain and obs-qtext of the - quoted-string are not supported. - - The email-address type uses US-ASCII characters. The - canonical format of the domain part of an email-address - uses lowercase US-ASCII characters."; + "The email-address type represents an internationalized + email address. + + The email address format is defined by the addr-spec + ABNF rule in RFC 5322 section 3.4.1. This format has + been extended by RFC 6532 to support internationalized + email addresses. Implementations MUST support the + internationalization extensions of RFC 6532. Support + of the obsolete obs-local-part, obs-domain, and + obs-qtext parts of RFC 5322 is not required. + + The domain part may use both A-labels and U-labels + (see RFC 5890). The canonical format of the domain part + uses lowercase characters and U-labels (RFC 5890) where + applicable."; reference - "RFC 5322: Internet Message Format"; + "RFC 5322: Internet Message Format + RFC 5890: Internationalized Domain Names in Applications + (IDNA): Definitions and Document Framework + RFC 6531: SMTP Extension for Internationalized Email"; } } diff --git a/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang b/yang-models/external-yams/ietf-yang-schema-mount.yang old mode 100755 new mode 100644 similarity index 100% rename from yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang rename to yang-models/external-yams/ietf-yang-schema-mount.yang diff --git a/yang-models/external-yams/ietf-yang-types.yang b/yang-models/external-yams/ietf-yang-types.yang index 39e390cba..c67167fd0 100644 --- a/yang-models/external-yams/ietf-yang-types.yang +++ b/yang-models/external-yams/ietf-yang-types.yang @@ -23,7 +23,7 @@ module ietf-yang-types { described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. - Copyright (c) 2022 IETF Trust and the persons identified as + Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -36,12 +36,12 @@ module ietf-yang-types { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2023-01-23 { + revision 2025-06-23 { description "This revision adds the following new data types: - - yang:date-with-zone-offset + - yang:date - yang:date-no-zone - - yang:time-with-zone-offset + - yang:time - yang:time-no-zone - yang:hours32 - yang:minutes32 @@ -53,8 +53,11 @@ module ietf-yang-types { - yang:nanoseconds32 - yang:nanoseconds64 - yang:language-tag - The yang-identifier definition has been aligned with YANG 1.1. - Several pattern statements have been improved."; + The yang-identifier definition has been aligned with YANG + 1.1 and types representing time support the representation + of leap seconds. The representation of time zone offsets + has been aligned with RFC 9557. Several description and + pattern statements have been improved."; reference "RFC XXXX: Common YANG Data Types"; } @@ -111,20 +114,21 @@ module ietf-yang-types { } typedef zero-based-counter32 { - type yang:counter32; + type counter32; default "0"; description "The zero-based-counter32 type represents a counter32 that has the defined 'initial' value zero. - A schema node instance of this type will be set to zero (0) + + A data tree node using this type will be set to zero (0) on creation and will thereafter increase monotonically until it reaches a maximum value of 2^32-1 (4294967295 decimal), when it wraps around and starts increasing again from zero. - Provided that an application discovers a new schema node - instance of this type within the minimum time to wrap, it - can use the 'initial' value as a delta. It is important for - a management station to be aware of this minimum time and the + Provided that an application discovers a new data tree node + using this type within the minimum time to wrap, it can use + the 'initial' value as a delta. It is important for a + management station to be aware of this minimum time and the actual time between polls, and to discard data if the actual time is too long or there is no defined minimum time. @@ -167,22 +171,22 @@ module ietf-yang-types { } typedef zero-based-counter64 { - type yang:counter64; + type counter64; default "0"; description "The zero-based-counter64 type represents a counter64 that has the defined 'initial' value zero. - A schema node instance of this type will be set to zero (0) + A data tree node using this type will be set to zero (0) on creation and will thereafter increase monotonically until it reaches a maximum value of 2^64-1 (18446744073709551615 decimal), when it wraps around and starts increasing again from zero. - Provided that an application discovers a new schema node - instance of this type within the minimum time to wrap, it - can use the 'initial' value as a delta. It is important for - a management station to be aware of this minimum time and the + Provided that an application discovers a new data tree node + using this type within the minimum time to wrap, it can use + the 'initial' value as a delta. It is important for a + management station to be aware of this minimum time and the actual time between polls, and to discard data if the actual time is too long or there is no defined minimum time. @@ -208,7 +212,6 @@ module ietf-yang-types { If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the gauge32 also decreases (increases). - In the value set and its semantics, this type is equivalent to the Gauge32 type of the SMIv2."; reference @@ -301,27 +304,30 @@ module ietf-yang-types { typedef date-and-time { type string { - pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' - + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' + + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The date-and-time type is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. The profile is defined by the - date-time production in Section 5.6 of RFC 3339. + date-time production in Section 5.6 of RFC 3339 and the + update defined in Section 2 of RFC 9557 . The value of + 60 for seconds is allowed only in the case of leap seconds. The date-and-time type is compatible with the dateTime XML schema dateTime type with the following notable exceptions: (a) The date-and-time type does not allow negative years. - (b) The time-offset -00:00 indicates that the date-and-time + (b) The time-offset Z indicates that the date-and-time value is reported in UTC and that the local time zone - reference point is unknown. The time-offsets +00:00 and Z - both indicate that the date-and-time value is reported in - UTC and that the local time reference point is UTC (see RFC - 3339 section 4.3). + reference point is unknown. The time-offsets +00:00 + indicates that the date-and-time value is reported in + UTC and that the local time reference point is UTC + (see RFC 9557 section 2). This type is not equivalent to the DateAndTime textual convention of the SMIv2 since RFC 3339 uses a different @@ -335,34 +341,39 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - date-and-time values with an unknown time zone (usually - referring to the notion of local time) uses the time-offset - -00:00, i.e., date-and-time values must be reported in UTC."; + date-and-time values reported in UTC with an unknown local + time zone offset SHOULD use the time-offset Z and MAY use + -00:00 for backwards compatibility."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information RFC 2579: Textual Conventions for SMIv2 XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } - typedef date-with-zone-offset { + typedef date { type string { - pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The date type represents a time-interval of the length - of a day, i.e., 24 hours. + of a day, i.e., 24 hours. It includes an optional time + zone offset. The date type is compatible with the XML schema date type with the following notable exceptions: + (a) The date type does not allow negative years. - (b) The time-offset -00:00 indicates that the date value is - reported in UTC and that the local time zone reference point - is unknown. The time-offsets +00:00 and Z both indicate that - the date value is reported in UTC and that the local time - reference point is UTC (see RFC 3339 section 4.3). + (b) The time-offset Z indicates that the date value is + reported in UTC and that the local time zone reference + point is unknown. The time-offset +00:00 indicates that + the date value is reported in UTC and that the local + time reference point is UTC (see RFC 9557 section 2). The canonical format for date values with a known time zone uses a numeric time zone offset that is calculated using @@ -371,17 +382,18 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - date values with an unknown time zone (usually referring - to the notion of local time) uses the time-offset -00:00, - i.e., date values must be reported in UTC."; + date values reported in UTC with an unknown local time zone + offset uses the time-offset Z."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } typedef date-no-zone { - type date-with-zone-offset { + type date { pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])'; } description @@ -389,23 +401,26 @@ module ietf-yang-types { time zone offset information."; } - typedef time-with-zone-offset { + typedef time { type string { - pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The time type represents an instance of time of zero-duration - that recurs every day. + that recurs every day. It includes an optional time zone + offset. The value of 60 for seconds is allowed only in the + case of leap seconds. The time type is compatible with the XML schema time type with the following notable exception: - (a) The time-offset -00:00 indicates that the time value is - reported in UTC and that the local time zone reference point - is unknown. The time-offsets +00:00 and Z both indicate that - the time value is reported in UTC and that the local time - reference point is UTC (see RFC 3339 section 4.3). + (a) The time-offset Z indicates that the time value is + reported in UTC and that the local time zone reference + point is unknown. The time-offset +00:00 indicates that + the time value is reported in UTC and that the local + time reference point is UTC (see RFC 9557 section 2). The canonical format for time values with a known time zone uses a numeric time zone offset that is calculated using @@ -414,18 +429,20 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - time values with an unknown time zone (usually referring - to the notion of local time) uses the time-offset -00:00, - i.e., time values must be reported in UTC."; + time values reported in UTC with an unknown local time zone + offset uses the time-offset Z."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } typedef time-no-zone { - type time-with-zone-offset { - pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?'; + type time { + pattern + '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?'; } description "The time-no-zone type represents a time without the optional @@ -575,7 +592,7 @@ module ietf-yang-types { } typedef timestamp { - type yang:timeticks; + type timeticks; description "The timestamp type represents the value of an associated timeticks schema node instance at which a specific occurrence @@ -621,9 +638,12 @@ module ietf-yang-types { pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; } description - "The mac-address type represents an IEEE 802 MAC address. - The canonical representation uses lowercase characters. - + "The mac-address type represents a 48-bit IEEE 802 MAC + address. The canonical representation uses lowercase + characters. Note that there are IEEE 802 MAC addresses + with a different length that this type cannot represent. + The phys-address type may be used to represent physical + addresses of varying length. In the value set and its semantics, this type is equivalent to the MacAddress textual convention of the SMIv2."; reference @@ -724,7 +744,7 @@ module ietf-yang-types { numeric characters, underscores, hyphens, or dots. This definition conforms to YANG 1.1 defined in RFC - 7950. An earlier version of this definition did exclude + 7950. An earlier version of this definition excluded all identifiers starting with any possible combination of the lowercase or uppercase character sequence 'xml', as required by YANG 1 defined in RFC 6020. If this type -- GitLab From a75dc4cecaf4fb2af88720de25d533467712dba1 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Thu, 2 Oct 2025 20:15:35 +0200 Subject: [PATCH 02/27] Edit _3gpp-nr-nrm-ep.yang --- yang-models/_3gpp-nr-nrm-ep.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 8818cd7db..755af3fea 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -20,7 +20,7 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-10-01 { reference CR-1616 ; } + revision 2025-10-01 { reference CR-1617 ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } -- GitLab From 91d1e94efbb212a63d4ea0449e1e82de71575d13 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Thu, 2 Oct 2025 20:15:56 +0200 Subject: [PATCH 03/27] Edit _3gpp-nr-nrm-iabfunction.yang --- yang-models/_3gpp-nr-nrm-iabfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 9a16b3d2e..80004ae19 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -18,7 +18,7 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; - revision 2025-10-01 { reference "CR-1616" ; } + revision 2025-10-01 { reference "CR-1617" ; } revision 2025-08-15 { reference "CR-1598"; } grouping CaraConfigurationGrp { -- GitLab From e92acdfa94cde0a80259fe177a9f1554af6a7b3c Mon Sep 17 00:00:00 2001 From: lengyelb Date: Wed, 1 Oct 2025 19:13:01 +0200 Subject: [PATCH 04/27] Edit _3gpp-common-yang-extensions.yang Rel-20 CR 28.623 Indicate disturbance --- yang-models/_3gpp-common-yang-extensions.yang | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 0b1c1ee27..e8613550a 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -46,12 +46,31 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-10-02 { reference "CR-0577" ; } revision 2025-01-12 { reference "CR-0507, 0492" ; } revision 2024-04-05 { reference "CR-0332, 0333" ; } revision 2023-09-17 { reference "CR-0270, 0271" ; } revision 2022-10-31 { reference "CR-0195, 0196"; } revision 2019-06-23 { reference "Initial version"; } + extension disturbances { + description + "Specifies that creation, deletion or modification of a data node may + impact the systems capability to handle user or control plane + functionality. + + The statement MUST only be a substatement of the leaf, leaf-list, + container, list, anydata, anyxml, rpc or action statements. + Zero or One disturbances statement is allowed per parent + statement. + No substatements are allowed. + The argument can be any text describing + what effects the modification/execution may have on ongoing traffic. + + Adding, removing or modifying this statement is BC"; + argument disturbance-description; + } + extension only-system-created { description "Indicates that the MOI can only be created and deleted by the -- GitLab From b87566f20a73af7ae02ca4b225eabf5b0299d288 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 21 Oct 2025 12:36:10 +0200 Subject: [PATCH 05/27] Locally rebased and merged https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1951 --- yang-models/_3gpp-common-yang-types.yang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 85be05055..a37740f1e 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 2025-10-12 { reference CR-0583; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } revision 2025-02-19 { reference CR-0512; } @@ -1071,10 +1071,10 @@ module _3gpp-common-yang-types { location specified by 'fileLocation'. The file location may identify any entity such as a file server or a MnS consumer. The identified MnS consumer may or may not be identical to the MnS consumer creating - the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit - 'notifyFileReady' and 'notifyFilePreparationError' notifications to - inform subscribers that a file has been made available at the location - specified by 'fileLocation'. + the 'PerfMetricJob'. The MnS producer may emit 'notifyFileReady' and + 'notifyFilePreparationError' notifications to inform subscribers that + a file has been made available at the location specified by + 'fileLocation'. - When only the streamTarget attribute is present, the MnS producer shall stream the data to the location specified by streamTarget. -- GitLab From 5b610a3bf9c0f82ee9e56e08694e031ea808d27e Mon Sep 17 00:00:00 2001 From: Ravi Chamarty Date: Tue, 30 Sep 2025 15:31:07 -0400 Subject: [PATCH 06/27] Deprecate X2HOBlockList in NR-NRM --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index e2940624d..1cc3fe8cb 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -212,6 +212,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { key idx; leaf idx {type uint32;} uses GeNBIdGrp; + status deprecated; } list xnHOBlockList { -- GitLab From 26464a9179674a83497a04e9bd0c2131b12019da Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 22 Oct 2025 15:19:57 +0200 Subject: [PATCH 07/27] Mapping https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1913 to Rel-20 --- yang-models/_3gpp-common-trace.yang | 47 ++++++++++++++---------- yang-models/_3gpp-common-yang-types.yang | 35 ++++++++++++++++-- 2 files changed, 59 insertions(+), 23 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 38df834eb..2149f13fb 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 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } @@ -119,12 +120,12 @@ module _3gpp-common-trace { choice AreaScopeChoice { case eutran-only { - leaf-list eutraCellIdList { - type types3gpp:EutraCellId; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } } case tac { leaf-list tacList { @@ -150,27 +151,35 @@ module _3gpp-common-trace { a list of PNI-NPNs identified by CAG ID with associated plmn-Identity or a list of SNPN identified by Network ID with associated plmn-Identity"; - key idx; - min-elements 1; - uses types3gpp:NpnIdGrp; - leaf idx { type string; } - } + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } leaf-list nrCellIdList { must 'not(../taiList)'; type types3gpp:NrCellId; max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; + description "List of NR cells identified by NG-RAN CGI"; } - list taiList { + list taiList { must 'not(../nrCellIdList)'; - description "Tracking Area Identity list"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + list ntnGeoAreaList { + must 'not(../nrCellIdList)'; + description "geographical areas for NTN MDT"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:GeoAreaGrp; + } } } - } list sliceIdList { description "Network Slice Id list"; diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index a37740f1e..4f5e0db9b 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,8 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - revision 2025-10-12 { reference CR-0583; } + // common for rel-19, rel-20 + 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"; } revision 2025-02-19 { reference CR-0512; } @@ -652,10 +653,29 @@ module _3gpp-common-yang-types { } } + grouping GeoCircleGrp { + 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; + } + + leaf distanceRadius { + description "It specifies the radius distance from a geographical + coordinates reference point, defined by referenceLocation. Each value + represents 50m distance. This field is only present in an NTN cell."; + type uint16; + units "50 meters"; + } + } + grouping GeoAreaGrp { description "This data type defines a geographical area. - The geo-area is defined using a convex polygon in the attribute - 'geoPolygon'."; + The geo-area is either a 'geoPolygon' or a 'geoCircle'."; list geoPolygon { description "Specifies the geographical area with a convex polygon. @@ -663,7 +683,6 @@ module _3gpp-common-yang-types { key "latitude longitude"; min-elements 3; ordered-by user; - uses GeoCoordinateGrp; } } @@ -679,6 +698,14 @@ 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 3b5413f0f5cf570262768db747b3d171b605a96a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Nov 2025 18:10:21 +0100 Subject: [PATCH 08/27] Updated to follow the YANG mapping rule in 32.160 --- yang-models/_3gpp-common-subscription-control.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 5cc3cdd46..8fbbbdf94 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -21,6 +21,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-11-07 { reference "CR-0551 CR-0586"; } //common for r19, r20 revision 2025-08-13 { reference "CR-0551 CR-0561"; } revision 2025-05-13 { reference "CR-0548"; } revision 2025-03-24 { reference "CR-0516 0518"; } @@ -308,7 +309,7 @@ module _3gpp-common-subscription-control { description "Scopes (selects) data nodes in an object tree."; key idx; max-elements 1; - leaf idx { type string; } + leaf idx { type uint32; } uses ScopeGrp; } -- GitLab From 55f66de0deab294b3d91c8904954269da75269cd Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Nov 2025 18:32:06 +0100 Subject: [PATCH 09/27] minor fm updates --- yang-models/_3gpp-common-fm.yang | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index e9d3b2def..ee2023e30 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -16,6 +16,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 revision 2025-03-25 { reference "CR-0025 CR-0026"; } @@ -283,7 +284,7 @@ module _3gpp-common-fm { enum EXTERNAL_TRANSMISSION_DEVICE_FAILURE { value 552; } enum REDUCED_ALARM_REPORTING { value 561; } enum REDUCED_EVENT_REPORTING { value 562; } - enum RECUCED_LOGGING_CAPABILITY { value 563; } + enum REDUCED_LOGGING_CAPABILITY { value 563; } enum SYSTEM_RESOURCES_OVERLOAD { value 564; } enum BROADCAST_CHANNEL_FAILURE { value 565; } enum CONNECTION_ESTABLISHMENT_ERROR { value 566; } @@ -529,6 +530,7 @@ module _3gpp-common-fm { mandatory true; config false ; yext3gpp:notNotifyable; + yext3gpp:inVariant; } leaf alarmChangedTime { @@ -702,6 +704,7 @@ module _3gpp-common-fm { } list comments { + config false ; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; @@ -785,10 +788,14 @@ module _3gpp-common-fm { type string; config false ; yext3gpp:notNotifyable; + description "It carries the identity of the detector of the security + alarm."; } list correlatedNotifications { key sourceObjectInstance; + config false ; + yext3gpp:notNotifyable; description "List of correlated notifications"; leaf sourceObjectInstance { -- GitLab From 57d850e47493db0ea7bdf6c77f8b720138868e9d Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 13:02:47 +0100 Subject: [PATCH 10/27] aligne stage 3 with cr S5-254787 --- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 12 ++++ yang-models/_3gpp-nr-nrm-redcapaccess.yang | 61 +++++++++++++++++++- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index f3f80a3d9..8f30e2f81 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -8,6 +8,7 @@ module _3gpp-nr-nrm-nrfreqrelation { import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-redcapaccess { prefix redcap3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,6 +18,7 @@ module _3gpp-nr-nrm-nrfreqrelation { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1643; } revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } @@ -112,6 +114,16 @@ module _3gpp-nr-nrm-nrfreqrelation { type uint8 { range "2 | 4 | 6 | 8"; } units "0.1"; } + + list cellReselectionRedcap { + description "This attribute indicates the configuration parameters + to allow relaxation of RRM measurement requirements for redcap UE + cell reselection"; + key idx; + leaf idx{ type uint32;} + reference "see clause 6.3.1 TS 38.331 "; + uses redcap3gpp:CellReselectionRedcapGrp; + } leaf pMax { description "Used for calculation of the parameter Pcompensation diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 51e91f203..c3660a832 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -15,6 +15,7 @@ module _3gpp-nr-nrm-redcapaccess { reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1643; } revision 2025-07-07 { reference CR-; } feature redcapaccesscriteriasubnertwork { @@ -22,6 +23,60 @@ module _3gpp-nr-nrm-redcapaccess { SubNetwork"; } + grouping CellReselectionRedcapGrp { + description "This data type defines configuration parameters + to allow relaxation of RRM measurement requirements for (e)RedCap UE + cell reselection. "; + reference "TS 38.331 , clasue 6.3.1 and TS 38.304 , clause 5.2.4.9"; + + leaf sSearchDeltaPStationary { + type uint8 { + range "2 | 3 | 6 | 9 | 12 | 15"; + } + mandatory true; + description "This specifies the threshold (in dB) on Srxlev variation + to evaluate stationary criterion for relaxed measurement. It + corresponds to the SSearchDeltaP-Stationary in TS 38.304 [49]. + Its unit is 1 dB. Where Srxlev is the cell selection received + signal level value. "; + // optional + } + leaf tSearchDeltaPStationary { + type uint16 { + range "5 | 10 | 20 | 30 | 60 | 120 | 180 | 240 | 300"; + } + mandatory true; + description "TThis specifies the time period over which the Srxlev + variation is evaluated for stationary criterion for relaxed measurement. + It corresponds to the TSearchDeltaP-Stationary in TS 38.304 [49]. Its + unit is seconds. Where Srxlev is the cell selection received signal + level value. "; + //optional + } + leaf sSearchThresholdP2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Srxlev threshold (in dB) to evaluate + not at cell edge criterion for relaxed measurement. It corresponds + to the SSearchThresholdP2 in TS 38.304 [49]. Its unit is 1 dB. + Where Srxlev is the cell selection received signal level value. "; + //optional + } + leaf sSearchThresholdQ2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Squal threshold (in dB) to + evaluate not at cell edge criterion for relaxed measurement. It + corresponds to the SSearchThresholdQ2 in TS 38.304 [49]. Its unit + is 1 dB. Where Srxlev is the cell selection quality level value. "; + //optional + } + + } grouping RedCapAccessCriteriaGrp { description "Represents the RedCapAccessCriteria <> "; @@ -43,13 +98,13 @@ module _3gpp-nr-nrm-redcapaccess { will be created providing following information: The performance metrics (KPIs and performance measurements) that are to be considered in the criteria for deciding whether the cell in a - RAN node is barred or allowed for RedCap/eRedCap UEs + RAN node is barred or allowed for (e)RedCap UEs The direction (up and down) that is to be considered for crossing the threshold value of the given performance metrics for taking a decision whether the RAN node is barred or allowed for - RedCap/eRedCap UEs. + (e)RedCap UEs. The threshold level of performance metrics value which when crossed - the RAN node is barred or allowed for RedCap/eRedCap UEs"; + the RAN node is barred or allowed for (e)RedCap UEs"; } -- GitLab From 423a53265732224c9b08ab2e91b257aec6750e48 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 13:42:42 +0100 Subject: [PATCH 11/27] aiot step 1 --- yang-models/_3gpp-5gc-nrm-aiot-ep.yang | 243 +++++++++++++++++++++++ yang-models/_3gpp-5gc-nrm-aiot.yang | 222 +++++++++++++++++++++ yang-models/_3gpp-nr-nrm-aiotreader.yang | 98 +++++++++ 3 files changed, 563 insertions(+) create mode 100644 yang-models/_3gpp-5gc-nrm-aiot-ep.yang create mode 100644 yang-models/_3gpp-5gc-nrm-aiot.yang create mode 100644 yang-models/_3gpp-nr-nrm-aiotreader.yang diff --git a/yang-models/_3gpp-5gc-nrm-aiot-ep.yang b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang new file mode 100644 index 000000000..9c8a84395 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang @@ -0,0 +1,243 @@ +module _3gpp-5gc-nrm-aiot-ep { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot-ep"; + prefix "aiotep3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } + import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines AIOT related endpoint Classes (IOCs). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-01 { reference CR-1640; } + + grouping EP_AIOT2Grp { + description "Represents the EP_AIOT2 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT3Grp { + description "Represents the EP_AIOT3 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT4Grp { + description "Represents the EP_AIOT4 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT5Grp { + description "Represents the EP_AIOT5 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT6Grp { + description "Represents the EP_AIOT6 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT7Grp { + description "Represents the EP_AIOT7 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT8Grp { + description "Represents the EP_AIOT8 IOC."; + uses eprp3gpp:EP_Common; + } + + feature EP_AIOT2UnderAMFFunction { + description "EP_AIOT2 shall be contained under AMFFunction."; + } + + augment /me3gpp:ManagedElement/amf3gpp:AMFFunction { + if-feature EP_AIOT2UnderAMFFunction; + list EP_AIOT2 { + description "This IOC represents the AIOT2 interface between NG-RAN and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT2Grp; + } + } + } + + feature EP_AIOT5UnderNRFFunction { + description "EP_AIOT5 shall be contained under NRFFunction."; + } + + augment /me3gpp:ManagedElement/nrf3gpp:NRFFunction { + if-feature EP_AIOT5UnderNRFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + } + + feature EP_AIOT4UnderNEFFunction { + description "EP_AIOT4 shall be contained under NEFFunction."; + } + + feature EP_AIOT8UnderNEFFunction { + description "EP_AIOT8 shall be contained under NEFFunction."; + } + + augment /me3gpp:ManagedElement/nef3gpp:NEFFunction { + if-feature EP_AIOT4UnderNEFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT8UnderNEFFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } +} + + feature EP_AIOT3UnderAIOTFFunction { + description "EP_AIOT3 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT4UnderAIOTFFunction { + description "EP_AIOT4 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT5UnderAIOTFFunction { + description "EP_AIOT5 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT6UnderAIOTFFunction { + description "EP_AIOT6 shall be contained under AIOTFFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:AIOTFFunction { + if-feature EP_AIOT3UnderAIOTFFunction; + list EP_AIOT3 { + description "This IOC represents the AIOT3 interface between AMF and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT3Grp; + } + } + + if-feature EP_AIOT4UnderAIOTFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT5UnderAIOTFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + + if-feature EP_AIOT6UnderAIOTFFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + } + + feature EP_AIOT6UnderADMFunction { + description "EP_AIOT6 shall be contained under ADMFunction."; + } + + feature EP_AIOT7UnderADMFunction { + description "EP_AIOT7 shall be contained under ADMFunction."; + } + + feature EP_AIOT8UnderADMFunction { + description "EP_AIOT8 shall be contained under ADMFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:ADMFunction { + if-feature EP_AIOT6UnderADMFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + + if-feature EP_AIOT7UnderADMFunction; + list EP_AIOT7 { + description "This IOC represents the AIOT7 interface between UDR and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT7Grp; + } + } + + if-feature EP_AIOT8UnderADMFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-aiot.yang b/yang-models/_3gpp-5gc-nrm-aiot.yang new file mode 100644 index 000000000..be123060a --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot.yang @@ -0,0 +1,222 @@ +module _3gpp-5gc-nrm-aiot { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot"; + prefix "aiot3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping AIOT (Ambient power-enabled Internet + of Things). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 + 3GPP TS 23.369"; + + revision 2025-11-01 { reference CR-1640; } + + grouping ServedAIOTAreaIDGrp { + description "ServedAIOTAreaID datatype"; + + list pLMNId { + description "It defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; // error not well defined on stage 2 clause 4.4.1 + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + // error nID is only defined in 5.4.1 not 4.4.1> The text states it is not + // always needed, but the multiplicity is strictly 1. + leaf nID { + type string { + pattern '[A-Fa-f0-9]{11}'; + } + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP + TS 23.501"; + } + + leaf aIotAreaCode { + type string; + mandatory true; + description "This specifies the identity of the A-IoT Area Code which is + one of the components of A-IoT Area ID. It's a 3-octet string defined + in TS 38.413."; + } + } + + grouping ServedReaderInfoGrp { + description "ServedReaderInfo datatype"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + list servedAIOTAreas { + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedAIOTAreaIDGrp; + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + } + + grouping AIoTgNBInfoGrp { + description "AIoTgNBInfo datatype"; + + leaf gNBId { + type int64 { range "0..4294967295"; } + mandatory true; + description "It identifies a gNB within a PLMN"; + } + + list servedReaderInfoList { + description "Represents the information of served Readers of a gNB, + which includes the reader ID (indexes), served A-IoT areas of the RAN + and Reader and optionally the Reader location."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedReaderInfoGrp; + } + } + + grouping AIOTFFunctionGrp { + description "Attributes of the IOC AIOTFFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + + list aIOTgNBInfo { + key idx; + leaf idx { type uint32; } + min-elements 1; + description "It represents the information that a AIOTF needs for + selecting the NG-RAN i.e.of gNB supporting Ambient-IoT service, + which includes gNB ID, served NG-RAN A-IoT area and the information + of served Readers of the gNB."; + uses AIoTgNBInfoGrp; + } + } + + feature AIOTFFunctionUnderManagedElement { + description "AIOTFFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature AIOTFFunctionUnderManagedElement; + list AIOTFFunction { + description "This IOC represents the AIOTF function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + ////////////////////////////////////////////////////////////////////// + + grouping ADMFunctionGrp { + description "Attributes of the IOC ADMFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + } + + feature ADMFunctionUnderManagedElement { + description "ADMFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature ADMFunctionUnderManagedElement; + list ADMFunction { + description "This IOC represents the ADM function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ADMFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-aiotreader.yang b/yang-models/_3gpp-nr-nrm-aiotreader.yang new file mode 100644 index 000000000..435949e48 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-aiotreader.yang @@ -0,0 +1,98 @@ +module _3gpp-nr-nrm-aiotreader { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-aiotreader"; + prefix "aiotread3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping the AIoT Reader. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-07 { reference CR-1640; } + + grouping AIOTReaderGrp { + description "Attributes of the IOC AIOTReader"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + leaf administrativeState { + type types3gpp:BasicAdministrativeState; + default LOCKED; + description "It indicates the administrative state of the AIOTReader. + It describes the permission to use or prohibition against using the + AIOT reader, imposed through the OAM services."; + } + + leaf-list supportedAIOTServices { + type enumeration { + enum INVENTORY; + enum COMMAND; + } + min-elements 1; + description "It indicates the supported AIOT service type for an + AIOT reader."; + } + + list pLMNId { + description "Defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list servedAIOTAreas { + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + + leaf-list nRSectorCarrierRef { + type types3gpp:DistinguishedName; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; + } + } + + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction { + list AIOTReader { + description "This IOC represents AIoT Reader which supports AIOT + services."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTReaderGrp; + } + } + } +} \ No newline at end of file -- GitLab From 66b3f1c6d31deeb29b5ae4b52957a2ff44018cfd Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 15:10:13 +0100 Subject: [PATCH 12/27] move AreaScopeGrp to _3gpp-5g-common-yang-types.yang --- yang-models/_3gpp-5g-common-yang-types.yang | 82 +++++++++++++++++++++ yang-models/_3gpp-common-qmcjob.yang | 3 +- yang-models/_3gpp-common-trace.yang | 79 +------------------- 3 files changed, 86 insertions(+), 78 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 59ddcb2c3..db560c8e2 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -26,6 +26,88 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + grouping AreaScopeGrp { + description "This <> defines an area scope."; + + choice AreaScopeChoice { + + case eutran-only { // choice 1 + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } + } + case tac { // choice 3 + leaf-list tacList { + type types3gpp:Tac; + min-elements 1; + max-elements 8; + description "Tracking Area Code list"; + } + leaf-list cAGIdList { + type types3gpp:CagId; + max-elements 256; + description "It identifies a CAG list containing up to + 256 CAG-identifiers per UE or up to 12 CAG-identifiers + per cell, see TS 38.331 [38]. CAG ID is used to combine + with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal + range with size 32 bit."; + } + } + + case ntnGeoAreaList{ // choice 6 + list ntnGeoAreaList { + must 'not(../nrCellIdList)'; + description "geographical areas for NTN MDT"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:GeoAreaGrp; + } + } + + case else { + list nPNIdentityList { // choice 2, 4 , 5 + description "list of NPN IDs of in NR. It is either + a list of PNI-NPNs identified by CAG ID with + associated plmn-Identity or a list of SNPN + identified by Network ID with associated plmn-Identity"; + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } + leaf-list nrCellIdList { + must 'not(../taiList)'; + type types3gpp:NrCellId; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } + list taiList { + must 'not(../nrCellIdList)'; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + + } + } + + + list sliceIdList { + description "Network Slice Id list"; + key idx; + uses PLMNInfo; + min-elements 1; + max-elements 16384; + leaf idx { type string; } + } + } + grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index 9d58855f5..3b6cfd8d7 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -27,6 +27,7 @@ module _3gpp-common-qmcjob { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-11-02 { reference CR-; } revision 2025-02-06 { reference CR-0508; } revision 2024-11-05 { reference CR-0480; } revision 2024-04-04 { reference CR-0334; } @@ -54,7 +55,7 @@ module _3gpp-common-qmcjob { leaf idx { type uint32 ; } description "It defines the area scope of QoE, which is specified in clause 5.4 of TS 28.405."; - uses trace3gpp:AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf qoECollectionEntityAddress { diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 2149f13fb..b944c6ad6 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 2025-11-02 { reference "CR-" ; } // common for rel-19, rel-20 revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -114,82 +115,6 @@ module _3gpp-common-trace { } } - grouping AreaScopeGrp { - description "This <> defines an area scope."; - - choice AreaScopeChoice { - - case eutran-only { - leaf-list eutraCellIdList { - type types3gpp:EutraCellId; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } - } - case tac { - leaf-list tacList { - type types3gpp:Tac; - min-elements 1; - max-elements 8; - description "Tracking Area Code list"; - } - leaf-list cAGIdList { - type types3gpp:CagId; - max-elements 256; - description "It identifies a CAG list containing up to - 256 CAG-identifiers per UE or up to 12 CAG-identifiers - per cell, see TS 38.331 [38]. CAG ID is used to combine - with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal - range with size 32 bit."; - } - } - - case else { - list nPNIdentityList { - description "list of NPN IDs of in NR. It is either - a list of PNI-NPNs identified by CAG ID with - associated plmn-Identity or a list of SNPN - identified by Network ID with associated plmn-Identity"; - key idx; - min-elements 1; - uses types3gpp:NpnIdGrp; - leaf idx { type string; } - } - leaf-list nrCellIdList { - must 'not(../taiList)'; - type types3gpp:NrCellId; - max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; - } - list taiList { - must 'not(../nrCellIdList)'; - description "Tracking Area Identity list"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; - } - list ntnGeoAreaList { - must 'not(../nrCellIdList)'; - description "geographical areas for NTN MDT"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:GeoAreaGrp; - } - } - } - - list sliceIdList { - description "Network Slice Id list"; - key idx; - uses types5g3gpp:PLMNInfo; - min-elements 1; - max-elements 16384; - leaf idx { type string; } - } - } grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. @@ -1681,7 +1606,7 @@ module _3gpp-common-trace { leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; max-elements 1; - uses AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf-list sensorInformation { -- GitLab From 6e720533868a7b666bc17c5b23654eaca281379f Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 16:48:38 +0100 Subject: [PATCH 13/27] Add Enum values for missing R20 management capabilities to align with S5-254796 --- yang-models/_3gpp-common-mnsregistry.yang | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 29bd57ebb..4521f2081 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -17,6 +17,7 @@ module _3gpp-common-mnsregistry { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-; } revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } revision 2023-09-18 { reference CR-0271 ; } @@ -199,22 +200,28 @@ module _3gpp-common-mnsregistry { enum FAULT_NOTIFICATION; enum TRACE_MDT_DATA_COLLECTION_CONTROL; enum TRACE_MDT_DATA_REPORT; + enum STM_PROVISIONING; + enum STM_STREAMING; enum QOE_DATA_COLLECTION_CONTROL; enum QOE_DATA_REPORT; enum FILE_RETRIEVAL; enum FILE_DOWNLOAD; + enum CONFIGURATION_PLAN_MGMT; enum SUBSCRIPTION_CONTROL; enum HEARTBEAT_CONTROL; enum HEARTBEAT_NOTIFICATION; - enum ML_MODEL_MANAGEMENT; enum MANAGEMENT_DATA_ANALYTIC; enum RANSC_MANAGEMENT; enum SON_POLICY; enum COMMUNICATION_SERVICE_ASSURANCE_CONTROL; + enum CLOSED_CONTROL_LOOP_MANAGEMENT; enum INTENT_DRIVEN_MANAGEMENT; + enum ML_MODEL_MANAGEMENT; + enum NDT_LCM; enum MNS_REGISTRY_AND_DISCOVERY; enum MNS_ACCESS_CONTROL_MANAGEMENT; enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + enum EXTERNALDATA_DISCOVERY_AND_REQUEST; } type string; } -- GitLab From ac2af25a15f93db82f686b24d300abc079798535 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 22:36:29 +0100 Subject: [PATCH 14/27] r19 lift 1 --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 41 ++++++++++++++++++++++ yang-models/_3gpp-common-trace.yang | 2 -- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index f2646d93e..6f8b80c80 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -21,6 +21,7 @@ module _3gpp-5gc-nrm-neffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } @@ -282,6 +283,33 @@ module _3gpp-5gc-nrm-neffunction { } } + grouping AIoTNEFMappingGrp { + description "Represents the data type AIoTNEFMapping"; + + list targetAreaAF { + description "It represents the external target area provided by an AF + to NEF for triggering A-IoT services. It could refer to a geographical + location."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:GeoAreaGrp; + } + + list internalTargetArea { + description "This is the (internal) target area mapped to external + target area. It is provided to NEF by NRF. + It could refer to any of TAC/TAI(list), PLMN or any geographical + location/coordinate/area polygon"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:AreaScopeGrp; + } + } + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -327,6 +355,19 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses NefInfoGrp; } + + list AIoTNEFMapping { + description "It represents mapping information between external target + area (provided by AF) and (5G core internal) target area that is to + be provided to NRF"; + config false; + min-elements 1; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + key idx; + leaf idx { type uint32 ; } + uses AIoTNEFMappingGrp; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index b944c6ad6..7a2a5cbb1 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,7 +25,6 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2025-11-02 { reference "CR-" ; } // common for rel-19, rel-20 revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -115,7 +114,6 @@ module _3gpp-common-trace { } } - grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. This <> defines a excess packet delay threshold information -- GitLab From b6ee5d3fbbd618b0d7a0b519b639e7466b272972 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 22:42:55 +0100 Subject: [PATCH 15/27] r19 lift 2 5gcomm type --- yang-models/_3gpp-5g-common-yang-types.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index db560c8e2..6ddd1b3eb 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -196,7 +197,7 @@ module _3gpp-5g-common-yang-types { min-elements 1; max-elements 1; key "sst sd"; - uses types5g3gpp:SNssai; + uses SNssai; } list dnnSmfInfoList { -- GitLab From 4d4a190705a0e4870d80fde65936be3f4e79a32c Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 23:46:38 +0100 Subject: [PATCH 16/27] r19 lift 3 5gc nrffunc --- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 770 +++++++++++---------- 1 file changed, 390 insertions(+), 380 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index fed4e6159..a982a6d96 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -10,6 +10,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } @@ -21,7 +22,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} - + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -31,6 +32,7 @@ module _3gpp-5gc-nrm-nrffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -40,221 +42,209 @@ module _3gpp-5gc-nrm-nrffunction { revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } + grouping bsfInfo { + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + key "start end"; + uses types3gpp:Ipv4AddressRange; + } - grouping bsfInfo { - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - - min-elements 1; - type string; - } + leaf-list 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 + 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; - } + If not provided, the BSF can serve any IP domain."; + min-elements 1; + type string; } - grouping chfInfo { - list supiRangeList { - description "List of ranges of SUPIs that can be served by - the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses mnfp3gpp:SupiRangeGrp; - } + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + grouping chfInfo { + list supiRangeList { + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } - list gpsiRangeList { - description "List of ranges of GPSI that can be served - by the CHF instance. If not provided, the CHF can serve any GPSI."; - key idx; - leaf idx { type uint32; } - min-elements 1; - uses mnfp3gpp:IdentityRange; - } + list gpsiRangeList { + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:IdentityRange; + } - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN + 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."; + If not provided, the CHF can serve any PLMN."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - leaf primaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - primary CHF instance. This attribute shall be absent if the - secondaryChfInstance is present."; - type string; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf primaryChfInstance { + description "This attribute represents the NF Instance Id of the + primary CHF instance. This attribute shall be absent if the + secondaryChfInstance is present."; + type string; - } - leaf secondaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - secondary CHF instance.This attribute shall be absent if the - primaryChfInstance is present."; - type string; - } } - grouping pcscfInfo { - description "This data type represents the information of a P-CSCF NF Instance. - For more information, see clause 6.1.6.2.53 of TS 29.510."; + leaf secondaryChfInstance { + description "This attribute represents the NF Instance Id of the + secondary CHF instance.This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF + NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; - leaf-list accessType { - description "It provides the condition of access type of the UE when + leaf-list accessType { + description "It provides the condition of access type of the UE when the session AMBR shall be enforced, see TS 29.512 [60].If this attribute is included in SmfInfo, it shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not included, it shall be assumed the both access types are supported."; - type enumeration { + type enumeration { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; - } - min-elements 1; - max-elements 2; } - leaf-list dnnList { - description "It represents the DNNs supported by the PCF. The DNN, + min-elements 1; + max-elements 2; + } + leaf-list dnnList { + description "It represents the DNNs supported by the PCF. The DNN, as defined in clause 9A of TS 23.003 [13], shall contain the Network Identifier and it may additionally contain an Operator Identifier, as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator Identifier is not included, the DNN is supported for all the PLMNs in the plmnList of the NF Profile.If not provided, the PCF can serve any DNN."; - min-elements 1; - type string; - } - leaf-list gmFqdn { - description "This attribute represents FQDN of the P-CSCF for the Gm - interface.."; - max-elements 1; - type string; - //optional - } - leaf-list gmIpv4Addresses { - description "This attribute represents list of IPv4 addresses of of + min-elements 1; + type string; + } + leaf-list gmFqdn { + description "This attribute represents FQDN of the P-CSCF for the Gm + interface."; + max-elements 1; + type string; + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of the P-CSCF for the Gm interface."; - type inet:ipv4-address; - //optional - } - leaf-list gmIpv6Addresses { - description "This attribute represents list of IPv6 addresses of of the + type inet:ipv4-address; + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the P-CSCF for the Gm interface."; - type inet:ipv6-address; - //optional - } - leaf mwFqdn { - description "This attribute represents FQDN of the P-CSCF for the Mw + type inet:ipv6-address; + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw interface."; - type string; - //optional - } - leaf-list mwIpv4Addresses { - description "List of ranges of PLMNs (including the PLMN + type string; + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. If not provided, the CHF can serve any PLMN."; - type inet:ipv4-address; - //optional - } - leaf-list mwIpv6Addresses { - description "This attribute represents list of IPv4 addresses of - the P-CSCF for the Mw interface."; - type inet:ipv6-address; - //optional - } - list servedIpv4AddressRanges { - description "List of ranges of PLMNs (including the PLMN + type inet:ipv4-address; + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; + } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; + If not provided, the CHF can serve any PLMN."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - //optional - } + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; } + } grouping HssInfoGrp { description " Information of an HSS NF Instance"; leaf groupID{ description "This attribute defines the identity of the HSS group - that is served by the HSS instance.If not provided, the HSS instance - does not pertain to any HSS group."; + that is served by the HSS instance.If not provided, the HSS instance + does not pertain to any HSS group."; type string; } list imsiRanges { description "This attribute defines the list of ranges of IMSIs whose - profile data is available in the HSS instance."; + profile data is available in the HSS instance."; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses ImsiRange; } list imsPrivateIdentityRanges{ description "This attribute defines the list of ranges of IMS Private - Identities whose profile data is available in the HSS instance."; + Identities whose profile data is available in the HSS instance."; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list imsPublicIdentityRanges{ description "This attribute defines the list of ranges of MSISDNs whose - profile data is available in the HSS instance. "; + profile data is available in the HSS instance. "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list msisdnRanges{ description "This attribute defines the list of ranges of IMS Public - Identities whose profile data is available in the HSS instance "; + Identities whose profile data is available in the HSS instance "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list externalGroupIdentifiersRanges{ description "This attribute defines the list of ranges of external - group IDs that can be served by this HSS instance.If not provided, - the HSS instance does not serve any external groups. "; + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } @@ -263,270 +253,270 @@ module _3gpp-5gc-nrm-nrffunction { max-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses NetworkNodeDiameterAddress; } list additionalDiamAddresses{ description "This attribute defines the Additional Diameter Addresses - of the HSS;may be present if hssDiameterAddress is present "; + of the HSS;may be present if hssDiameterAddress is present "; min-elements 1; key "id"; - leaf id { - description "Unique identifier for the IMSI range."; + leaf id { + description "Unique identifier for the IMSI range."; type string; } uses NetworkNodeDiameterAddress; } } - grouping NrfInfoGrp { + grouping NrfInfoGrp { - list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdrInfo { + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses udr3gpp:UdrInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUdmInfo { - description "This attribute contains all the udmInfo - attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdmInfo { + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses udm3gpp:UdmInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAusfInfo { - description "This attribute contains all the - ausfInfo attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAusfInfo { + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses ausf3gpp:AusfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAmfInfo { - description "This attribute contains all the amfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses ausf3gpp:AusfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAmfInfo { + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses amf3gpp:AmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedSmfInfo { - description "This attribute contains all the smfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses amf3gpp:AmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedSmfInfo { + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses smf3gpp:SmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUpfInfo { - description "This attribute contains all the upfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses smf3gpp:SmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUpfInfo { + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses upf3gpp:UpfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcfInfo { - description "This attribute contains all the pcfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses upf3gpp:UpfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedPcfInfo { + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses pcf3gpp:pcfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedBsfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses pcf3gpp:pcfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId{ - description "String uniquely identifying a NF instance."; - type string; - } + list servedBsfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses bsfInfo; + key nfInstanceId; + leaf nfInstanceId{ + description "String uniquely identifying a NF instance."; + type string; } - list servedChfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses bsfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedChfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses chfInfo; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNwdafInfo { - description "This attribute contains all the nwdafInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nwdafInfo belongs to."; + min-elements 1; + uses chfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedNwdafInfo { + description "This attribute contains all the nwdafInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nwdafInfo belongs to."; - min-elements 1; - uses nwdaf3gpp:NwdafInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcscfInfoList { - description "This attribute contains all the pcscfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId to which - the map entry belongs to."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcscfInfo; + + min-elements 1; + uses nwdaf3gpp:NwdafInfoGrp; + } + list servedPcscfInfoList { + description "This attribute contains all the pcscfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId to which + the map entry belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedGmlcInfo { - description "This attribute contains all the gmlcInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nefInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses gmlc3gpp:GmlcInfoGrp; + + min-elements 1; + uses pcscfInfo; + } + list servedGmlcInfo { + description "This attribute contains all the gmlcInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nefInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedLmfInfo { - description "This attribute contains all the lmfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the lmfInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses lmf3gpp:LmfInfoGrp; + + min-elements 1; + uses gmlc3gpp:GmlcInfoGrp; + } + list servedLmfInfo { + description "This attribute contains all the lmfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the lmfInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNfInfo { - description "This attribute contains information of other NFs - without corresponding NF type specific Info extensions locally - configured in the NRF or the NRF received during NF registration. - The key of the map is the nfInstanceId of the NF. The map entry - is the NfInfo as defined in clause 5.3.229 representing the - information of a generic NF instance."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses nfInfoGrp; + + min-elements 1; + uses lmf3gpp:LmfInfoGrp; + } + list servedNfInfo { + description "This attribute contains information of other NFs + without corresponding NF type specific Info extensions locally + configured in the NRF or the NRF received during NF registration. + The key of the map is the nfInstanceId of the NF. The map entry + is the NfInfo as defined in clause 5.3.229 representing the + information of a generic NF instance."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedHssInfoList { - description "This attribute contains list of HssInfo attribute - locally configured in the NRF or that the NRF received during NF - registration. The key of the map is the nfInstanceId to which the - map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses HssInfoGrp; + + min-elements 1; + uses nfInfoGrp; + } + list servedHssInfoList { + description "This attribute contains list of HssInfo attribute + locally configured in the NRF or that the NRF received during NF + registration. The key of the map is the nfInstanceId to which the + map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list served5gDdnmfInfo { - description "This attribute contains all the 5gDdnmfInfo - attribute locally configured in the NRF or that the NRF - received during NF registration. The key of the map is - the nfInstanceId to which the map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses FiveGDdnmfInfo ; + min-elements 1; + uses HssInfoGrp; + } + list served5gDdnmfInfo { + description "This attribute contains all the 5gDdnmfInfo + attribute locally configured in the NRF or that the NRF + received during NF registration. The key of the map is + the nfInstanceId to which the map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } + min-elements 1; + uses FiveGDdnmfInfo ; } + } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying @@ -571,15 +561,15 @@ module _3gpp-5gc-nrm-nrffunction { max-elements 1; } } - typedef PduSessionType { + typedef PduSessionType { type enumeration { enum IPV4; enum IPV6; enum IPV4V6; enum UNSTRUCTURED; enum ETHERNET; - } } + } grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; @@ -625,27 +615,52 @@ module _3gpp-5gc-nrm-nrffunction { uses types3gpp:PLMNId; } } + grouping AIoTNRFMappingGrp { + description "Data type AIoTNRFMapping"; + + leaf aIOTFdN { + type types3gpp:DistinguishedName; + mandatory true; + description "Represents the distinguished name (DN) identifier of the + AIOTF that serves the (internal) target area provided by NEF to NRF"; + } + + list internalTargetArea { + description "It is the (internal) target area used by NRF (as provided + by NEF) to accurately locate the AIOTF instance. It is mapped to aIOTFdN. + It could refer to a list of AIoT Areas."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + } grouping NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function."; min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; } - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; type inet:domain-name; + mandatory true; + } + + list nFProfileList { + description "It is a set of NFProfile(s) to be registered in the NRF + instance. NFProfile is defined in 3GPP TS 29.510 "; + key idx; + leaf idx { type uint32; } + uses mnfp3gpp:ManagedNFProfileGrp; } leaf-list cNSIIdList { @@ -657,32 +672,14 @@ module _3gpp-5gc-nrm-nrffunction { type string; } - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - list nrfInfo { - description ""; + description "Represents information of an NRF NF Instance."; + max-elements 1; key idx; leaf idx {type uint32;} uses NrfInfoGrp; } - list nFProfileList { - description "It is a set of NFProfile(s) to be registered in the NRF - instance. NFProfile is defined in 3GPP TS 29.510 "; - key idx; - leaf idx { type uint32; } - min-elements 1; - max-elements 1; - uses mnfp3gpp:ManagedNFProfileGrp; - } + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -692,6 +689,19 @@ module _3gpp-5gc-nrm-nrffunction { description "This parameter defines profile for managed NF"; reference "3gpp TS 23.501"; } + + list aIoTNRFMapping { + config false; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "Represents mapping information between (Internal) target + area (provided by NEF) and AIOTF DN."; + min-elements 1; + key idx; + leaf idx { type uint32; } + + uses AIoTNRFMappingGrp; + } } augment "/me3gpp:ManagedElement" { -- GitLab From f1ca7e31746b38baef231a190f815bcd00ca5be2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Sat, 8 Nov 2025 00:44:13 +0100 Subject: [PATCH 17/27] Correcting common revision statements --- yang-models/_3gpp-nr-nrm-ep.yang | 17 +++++++++++++---- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 5 +++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 755af3fea..d5392a2b7 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -20,7 +20,8 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-10-01 { reference CR-1617 ; } + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for R19, R20 + revision 2025-10-01 { reference "CR-1616 CR-1617" ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } @@ -152,9 +153,17 @@ module _3gpp-nr-nrm-ep { uses EP_F1CSubtree; list EP_NgC { - description "Represents the local end point of the control plane - interface (NG-C) between the gNB and AMF."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; + description "This IOC represents the local end point of the control + plane interface (NG-C) between the gNB and AMF or the gNB and AIOTF. + The transport network layer is built on IP transport. For the reliable + transport of signalling messages, SCTP is added on top of IP. + The application layer signalling protocol is referred to as NG-AP + (NG Application Protocol). + + 3GPP TS 38.470 noted that 'one gNB-CU and a set of gNB-DUs are + visible to other logical nodes as a gNB or an en-gNB where the gNB + terminates the Xn and the NG interfaces, and the en-gNB terminates + the X2 and the S1-U interfaces'."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 40245e23e..a6b8fd775 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for r19, r20 revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } @@ -340,8 +341,8 @@ module _3gpp-nr-nrm-nrcelldu { } leaf-list nRSectorCarrierRef { - description "Reference to corresponding NRSectorCarrier instance."; - min-elements 1; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; type types3gpp:DistinguishedName; } -- GitLab From 35580871b195616edd5b4651e7a34856938f6d04 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:26:37 +0000 Subject: [PATCH 18/27] Edit _3gpp-eqp-sectorequipmentfunction.yang --- .../_3gpp-eqp-sectorequipmentfunction.yang | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index a21d4173f..04c60d2b3 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,6 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 {reference "CR1661"} revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } @@ -58,7 +59,21 @@ module _3gpp-eqp-sectorequipmentfunction { that refer to this object. In the case of SectorEquipmentFunction , these referring objects - may include Cells, NRSectorCarriers if associations between them + may include e.g. Cells, NRSectorCarriers if associations from them + and the SectorEquipmentFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + + leaf-list references { + description "This attribute contains the DNs of one or more objects + referred to by this object. + + In the case of SectorEquipmentFunction , these referred to objects + may include e.g. TMAFunction if associations to them and the SectorEquipmentFunction exist. Note: referencedBy is a DN datatype and so can reference an MOI -- GitLab From 3c067025a4d2f7f6e692ca0283d624bb85e391da Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:29:36 +0000 Subject: [PATCH 19/27] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index 9a7e4bfbd..f51e53bc8 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -16,6 +16,7 @@ module _3gpp-eqp-antennafunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; @@ -168,17 +169,6 @@ module _3gpp-eqp-antennafunction { range "0..180"; } } - - leaf-list theCellList { - description "This attribute contains the DNs of EUtranGenericCell - or UtranGenericCell if associations between them exist. - This attribute contains the DNs of GSMCellPart if association - between them exist. "; - config false; - status deprecated; - type types3gpp:DistinguishedName; - } - } augment "/me3gpp:ManagedElement" { -- GitLab From 8fb9cc393ca4d18bfb5dbf86b5cc74df672f59fe Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:31:39 +0000 Subject: [PATCH 20/27] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index f51e53bc8..d5cf01c15 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -18,9 +18,8 @@ module _3gpp-eqp-antennafunction { revision 2025-11-07 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } - revision 2025-05-01 { reference "Initial revision"; + revision 2025-05-01 { reference "Initial revision";} - } grouping AntennaFunctionGrp { description "Represents the AntennaFunction."; uses mf3gpp:ManagedFunctionGrp; -- GitLab From 25497dd722388818cb718d683275e041d7b6b3b4 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:37:13 +0000 Subject: [PATCH 21/27] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 04c60d2b3..6396dcffd 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,7 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-07 {reference "CR1661"} + revision 2025-11-06 {reference "CR1661"} revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } -- GitLab From 7ec515c5cee339165f6fe07fb92d6f54bc7bf843 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:37:37 +0000 Subject: [PATCH 22/27] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index d5cf01c15..09988c4a6 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -16,7 +16,7 @@ module _3gpp-eqp-antennafunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-07 { reference "CR1661"; } + revision 2025-11-06 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision";} -- GitLab From 272a9f775a63033c46a7ce8d4d1c1a2b4627a794 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:40:56 +0000 Subject: [PATCH 23/27] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 6396dcffd..2742833df 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,7 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-06 {reference "CR1661"} + revision 2025-11-06 {reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } -- GitLab From ab994bae24356940c2df511890b4741adeb54f24 Mon Sep 17 00:00:00 2001 From: scottma Date: Thu, 20 Nov 2025 17:12:37 +0000 Subject: [PATCH 24/27] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 2742833df..0b092efab 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -54,7 +54,7 @@ module _3gpp-eqp-sectorequipmentfunction { type string; } - leaf-list referencedBy { + leaf-list referenceFrom { description "This attribute contains the DNs of one or more objects that refer to this object. @@ -68,7 +68,7 @@ module _3gpp-eqp-sectorequipmentfunction { type types3gpp:DistinguishedName; } - leaf-list references { + leaf-list referenceTo { description "This attribute contains the DNs of one or more objects referred to by this object. -- GitLab From 9cad0ede55e21f23a1000ff32b14e63cdb46ff60 Mon Sep 17 00:00:00 2001 From: scottma Date: Thu, 20 Nov 2025 17:15:52 +0000 Subject: [PATCH 25/27] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index 09988c4a6..6edd09801 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -122,7 +122,7 @@ module _3gpp-eqp-antennafunction { } } - leaf-list referencedBy { + leaf-list referenceFrom { description "This attribute contains the DNs of one or more objects that refer to this object. -- GitLab From 5ca5cccf6f5dc121830a44a85e9b169ff4f9d274 Mon Sep 17 00:00:00 2001 From: Zu Qiang Date: Thu, 30 Oct 2025 17:15:49 -0500 Subject: [PATCH 26/27] Update file _3gpp-common-trace.yang --- yang-models/_3gpp-common-trace.yang | 36 ++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 7a2a5cbb1..d9affd7e0 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 2025-11-07 { reference "CR-0553" ; } revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -1736,6 +1737,25 @@ module _3gpp-common-trace { grouping TraceJobGrp { + leaf administrativeState { + default LOCKED; + type types3gpp:BasicAdministrativeState ; + description "Administrative state of a managed object instance. The + administrative state describes the permission to use or prohibition + against using the object instance. The administrative state is set by + the MnS consumer."; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Operational state of managed object instance. The + operational state describes if an object instance is operable + (ENABLED) or inoperable (DISABLED). This state is set by the + object instance or the MnS producer and is hence READ-ONLY."; + } + leaf jobType { type enumeration { enum IMMEDIATE_MDT_ONLY; @@ -2090,7 +2110,21 @@ module _3gpp-common-trace { Creation and deletion of TraceJob instances by MnS consumers is optional; when not supported, the TraceJob instances may be created - and deleted by the system or be pre-installed."; + and deleted by the system or be pre-installed. + + For temporary suspension of trace production, the MnS Consumer may + update the administrative state attribute, by setting it to 'LOCKED'. + The MnS Producer may also suspend trace production, for example in + overload situations, by setting the operational state attribute to + 'DISABLED'. + + When the administrative state is set to 'UNLOCKED' after creation + of a TraceJob, the corresponding Trace Session shall be activated. + When the administrative state is set to 'LOCKED' or the operational + state is set to 'DISABLED', the ongoing Trace Session shall be + suspended. The Trace Session shall be resumed when the operational + state is set to 'ENABLED' and the administrative state is set back + to 'UNLOCKED'."; key id; uses top3gpp:Top_Grp ; -- GitLab From 46d73e04d7403484c2788f01665be38c4c837809 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 2 Dec 2025 01:09:16 +0100 Subject: [PATCH 27/27] Locally rebased and merged https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1979 --- yang-models/_3gpp-5g-common-yang-types.yang | 130 ++++++++++++++++++ yang-models/_3gpp-nr-nrm-iabfunction.yang | 142 ++------------------ yang-models/_3gpp-nr-nrm-mwab.yang | 21 ++- 3 files changed, 158 insertions(+), 135 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 6ddd1b3eb..e6ddcd223 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-5g-common-yang-types { reference "3GPP TS 28.541"; revision 2025-11-07 { reference CR-1640 ; } + revision 2025-11-02 { reference CR-1658 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -488,4 +489,133 @@ module _3gpp-5g-common-yang-types { } } + grouping CaraConfigurationGrp { + description "This data type represents the configuration used for mobile + NR node (e.g., IAB-node, MWAB-node) to perform certificate enrolment procedure with + Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; + + leaf caraAddress { + type inet:host; + description "IP address or FQDN of the CMP (Certificate Management Protocol) server"; + } + + leaf portNumber { + type inet:port-number; + description "This parameter specifies the port number used by + CMP (Certificate Management Protocol) server. The port for HTTP/HTTPSs + transfer of CMP messages is not explicitly given in RFC 9811, therefore + this parameter is required. The port number is usually + represented as 2 octets."; + } + + leaf path { + type inet:uri; + mandatory true; + description "This parameter specifies the path (in ASCII string) to + the CMP server directory. A CMP server may be located in an + arbitrary path other than root."; + } + + leaf subjectName { + type string; + mandatory true; + description "This parameter specifies the subject name (in ASCII + string) of the CA/RA. The use is described in 3GPP TS 33.310 + clause 9.5.3."; + } + + leaf protocol { + type enumeration { + enum HTTP; + enum HTTPS; + } + description "This parameter specifies the protocol (HTTP or HTTPS) + to be used for certificate enrolment. The use is described in + 3GPP TS 33.310 clause 9.6."; + } + } + + grouping MnrOamIPConfigGrp { + description "This data type includes the configutation for OAM connectivity + used for mobile NR node (e.g., IAB-node, MWAB-node) to establish connection with + management system. The configuration attributes include: + Configuration of certification authority (CA/RA) server, + Configuration of security gateway (SeGW), and + Configuration of software configuration server (SCS)"; + + list caraConfiguration { + description "configuration used for mobile NR node (e.g., IAB-node, MWAB-node) + to perform certificate enrolment procedure as specified in TS 28.315."; + uses CaraConfigurationGrp; + max-elements 1; + key caraAddress; + } + + leaf seGwConfiguration { + description "this parameter specifies IP address or + FQDN of security gateway (SeGW) used for mobile NR + node (e.g., IAB-node, MWAB-node) to establish secure connection + as specified in TS 28.315."; + type inet:host; + + } + + leaf scsConfiguration { + description "this parameter specifies IP address or FQDN of + configuration server (SCS) used for mobile NR node + (e.g., IAB-node, MWAB-node) to establish connection as + specified in TS 28.315."; + type inet:host; + } + } + + grouping LocationInfoGrp { + description "This data type contains location information + of mobile NR node (e.g., IAB-node, MWAB-node)."; + + leaf gNBId { + type int64 { range "0..4294967295"; } + description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU + connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT, or + the gNBId of the gNB that serves MWAB-UE."; + } + + list pLMNId { + uses types3gpp:PLMNId; + max-elements 1; + description "The PLMN ID where IAB-MT or MWAB-UE is connected to"; + key "mcc mnc"; + } + + leaf cellLocalId { + type int32 { range "0..16383"; } + description "Identifies an NR cell where IAB-MT or MWAB-UE + is connected to."; + } + + leaf nRTAC { + type types5g3gpp:NRTAC; + description "It is TAC pertaining to the cells where IAB-MT or MWAB-UE is + connected."; + } + + list tAI { + uses types3gpp:TaiGrp; + key idx; + leaf idx { type string; } + max-elements 1; + description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining + to the cells where IAB-MT or MWAB-UE is connected"; + } + list geoArea { + uses types3gpp:GeoAreaGrp; + key idx; + leaf idx {type string;} + max-elements 1; + description "It specifies geographical area of mobile NR node + (e.g., IAB-node or MWAB-node)."; + } + } + + } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 80004ae19..7d6e781f2 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -3,8 +3,6 @@ module _3gpp-nr-nrm-iabfunction { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-iabfunction"; prefix "iab3gpp"; - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -18,157 +16,33 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; + revision 2025-11-02 { reference "CR-1658" ; } revision 2025-10-01 { reference "CR-1617" ; } revision 2025-08-15 { reference "CR-1598"; } - grouping CaraConfigurationGrp { - description "This data type represents the configuration used for mobile - NR node (e.g., IAB-node) to perform certificate enrolment procedure with - Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; - - leaf caraAddress { - type inet:host; - description "IP address or FQDN of CA/RA server"; - } - - leaf portNumber { - type inet:port-number; - description "This parameter specifies the port number used by - CMP (Certificate Management Protocol) server. The port for HTTP/HTTPSs - transfer of CMP messages is not explicitly given in RFC 9811, therefore - this parameter is required. The port number is usually - represented as 2 octets."; - } - - leaf path { - type inet:uri; - mandatory true; - description "This parameter specifies the path (in ASCII string) to - the CMP server directory. A CMP server may be located in an - arbitrary path other than root."; - } - - leaf subjectName { - type string; - mandatory true; - description "This parameter specifies the subject name (in ASCII - string) of the CA/RA. The use is described in 3GPP TS 33.310 - clause 9.5.3."; - } - - leaf protocol { - type enumeration { - enum HTTP; - enum HTTPS; - } - description "This parameter specifies the protocol (HTTP or HTTPS) - to be used for certificate enrolment. The use is described in - 3GPP TS 33.310 clause 9.6."; - } - } - - grouping MnrOamIPConfigGrp { - description "This data type includes the configutation for OAM connectivity - used for mobile NR node (e.g., IAB-node) to establish connection with - management system. The configuration attributes include: - Configuration of certification authority (CA/RA) server, - Configuration of security gateway (SeGW), and - Configuration of software configuration server (SCS)"; - - list caraConfiguration { - description "configuration used for mobile NR node (e.g., IAB-node) - to perform certificate enrolment procedure as specified in TS 28.315."; - uses CaraConfigurationGrp; - max-elements 1; - key caraAddress; - } - - leaf seGwConfiguration { - description "configuration of security - gateway (SeGW) used for mobile NR node (e.g., IAB-node) to establish - secure connection as specified in TS 28.315."; - type inet:host; - - } - - leaf scsConfiguration { - description "configuration of software - configuration server (SCS) used for mobile NR node (e.g., IAB-node) - to establish connection to SCS as specified in TS 28.315."; - type inet:host; - } - } - - grouping LocationInfoGrp { - description "This data type contains location information - of mobile NR node (e.g., IAB-node)."; - - leaf gNBId { - type int64 { range "0..4294967295"; } - description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU - connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT"; - } - - list pLMNId { - uses types3gpp:PLMNId; - max-elements 1; - description "The PLMN ID where IAB-MT or MWAB-UE is connected to"; - key "mcc mnc"; - } - - leaf cellLocalId { - type int32 { range "0..16383"; } - description "Identifies an NR cell where IAB-MT or MWAB-UE - is connected to."; - } - - leaf nRTAC { - type types5g3gpp:NRTAC; - description "It is TAC pertaining to the cells where IAB-MT or MWAB-UE is - connected."; - } - - list tAI { - uses types3gpp:TaiGrp; - key idx; - leaf idx { type string; } - max-elements 1; - description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining - to the cells where IAB-MT or MWAB-UE is connected"; - } - list geoArea { - uses types3gpp:GeoAreaGrp; - key idx; - leaf idx {type string;} - max-elements 1; - description "It specifies geographical area of mobile NR node - (e.g., IAB-node or MWAB)."; - } - } - grouping IABGrp { description "IAB-node architecture is specified in TS 38.401. This IOC defines the configuration information for the IAB management, it is name contained by SubNetwork or ManagedElement"; list mnrOamIPConfig { - description "It is IP configutation for OAM connectivity used IAB-node + description "It is IP configutation for OAM connectivity used by + a mobile NR node (e.g., IAB-node, MWAB-node) to establish connection with management system as specified in TS 28.314[x] clause 6.1.2"; key id; leaf id { type uint32; } - uses MnrOamIPConfigGrp ; + uses types5g3gpp:MnrOamIPConfigGrp ; } - list locationInfo { - description "It is Location information of IAB-node that is used for - IAB-node OAM connection and IAB configuration as specified in - TS 28.314 clause 6.1.2 and TS 28.531 clause 5.1.27"; + list currentLocation { + description "This parameter specifies the current location + of mobile NR node (e.g., IAB-node, MWAB-node)."; key id; leaf id { type uint32; } - uses LocationInfoGrp; + uses types5g3gpp:LocationInfoGrp; } } diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index 9f8af2af9..815de23d2 100644 --- a/yang-models/_3gpp-nr-nrm-mwab.yang +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -5,6 +5,7 @@ module _3gpp-nr-nrm-mwab { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -15,10 +16,21 @@ module _3gpp-nr-nrm-mwab { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1658 ; } revision 2025-04-25 { reference CR-1527 ; } grouping MWABGrp { - description "Represets the ExternalENBFunction IOC."; + description "Represents the MWAB IOC."; + + list mnrOamIPConfig { + description "It is IP configutation for OAM connectivity used + by a mobile NR node (e.g., IAB-node, MWAB-node) + to establish connection with management system as specified + in TS 28.314[x] clause 6.1.2"; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:MnrOamIPConfigGrp ; + } leaf operationalState { description "It indicates the operational state of the MWAB instance. @@ -58,6 +70,13 @@ module _3gpp-nr-nrm-mwab { leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } + list currentLocation { + description "This parameter specifies the current location + of mobile NR node (e.g., IAB-node, MWAB-node)."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:LocationInfoGrp; + } } grouping MWABSubTree { -- GitLab