From 5ff1c53048edcbe6d27c36a46b70725d861f1791 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 31 Jan 2025 14:26:19 +0100 Subject: [PATCH 01/27] yang implementation CR1442 --- .../_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang | 5 +- yang-models/_3gpp-5gc-nrm-neffunction.yang | 5 +- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 41 +++---- yang-models/_3gpp-5gc-nrm-nfservice.yang | 109 +++++++++++++----- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 5 +- yang-models/_3gpp-common-yang-types.yang | 98 +++++++++++++++- .../_3gpp-nr-nrm-eutranfreqrelation.yang | 5 +- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 13 ++- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 46 +------- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 5 +- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 5 +- .../_3gpp-ns-nrm-networkslicesubnet.yang | 39 +++++-- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 54 +-------- 13 files changed, 260 insertions(+), 170 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang index 10e0ee414..82d33842e 100755 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -11,10 +11,11 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description " This IOC represents the set of mapping between 5QIs and DSCP. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-05-27 { reference "CR-0287"; } @@ -38,7 +39,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { grouping FiveQiDscpMappingSetGrp { description "Represents the FiveQiDscpMappingSet IOC."; - list FiveQiDscpMappingList { + list fiveQiDscpMappingList { key "dscp"; uses FiveQiDscpMapping; } diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index fec93a992..1c48c30c8 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -17,10 +17,11 @@ module _3gpp-5gc-nrm-neffunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-01-25 { reference CR-1442 ; } revision 2024-05-18 { reference CR-1273 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-09-18 { reference CR-1103 ; } @@ -156,7 +157,7 @@ module _3gpp-5gc-nrm-neffunction { uses types3gpp:TaiGrp; } - list taiRangelist { + list taiRangeList { config false; description "Range of TAIs"; yext3gpp:inVariant; diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 15dc5e0a1..35ed626ff 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -12,10 +12,11 @@ module _3gpp-5gc-nrm-nfprofile { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2025-01-25 { reference CR-1442 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-11-18 { reference CR-1103 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -23,7 +24,7 @@ module _3gpp-5gc-nrm-nfprofile { revision 2019-06-17 { reference "initial revision"; } grouping NFProfileGrp { - leaf nfInstanceID { + leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; @@ -588,8 +589,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -604,8 +605,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -620,8 +621,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -636,8 +637,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -652,8 +653,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -668,8 +669,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -684,8 +685,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } @@ -700,8 +701,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId{ description "String uniquely identifying a NF instance."; type string; } @@ -716,8 +717,8 @@ module _3gpp-5gc-nrm-nfprofile { locally configured in the NRF or the NRF received during NF registration."; - key nfInstanceID; - leaf nfInstanceID { + key nfInstanceId; + leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 82cf61e87..d3d3a71cd 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -12,10 +12,11 @@ module _3gpp-5gc-nrm-nfservice { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF service class. - Copyright 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 29.510"; + revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-05 { reference CR-0412 ; } @@ -98,7 +99,7 @@ module _3gpp-5gc-nrm-nfservice { uses types3gpp:DefaultNotificationSubscription; } - list allowedPlmns { + list allowedPLMNs { description "PLMNs allowed to access the service instance. The absence of this attribute indicates that any PLMN is allowed to access the service instance."; @@ -108,15 +109,21 @@ module _3gpp-5gc-nrm-nfservice { key "mcc mnc"; uses types3gpp:PLMNId; } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the service instance. - The absence of this attribute indicates that any NF type is allowed - to access the service instance."; + list allowedSnpns { + description "PLMNs allowed to access the service instance. + The absence of this attribute indicates that any PLMN is allowed to + access the service instance."; min-elements 1; //optional support - type types3gpp:NfType; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf-list allowedNfTypes { + description "SNPNs allowed to access the NF instance"; + min-elements 1; + //optional support + type types3gpp:NfType; } leaf-list allowedNfDomains { @@ -126,7 +133,7 @@ module _3gpp-5gc-nrm-nfservice { type string; } - list allowedNssais { + list allowedNSSAI { description "S-NSSAI of the allowed slices to access the service instance. The absence of this attribute indicates that any slice is allowed to access the service instance."; @@ -135,13 +142,51 @@ module _3gpp-5gc-nrm-nfservice { key "sd sst"; uses types5g3gpp:SNssai; } - + leaf-list allowedOperationsPerNfType { + description "It indicates the allowed operations on resources for each type + of NF; the key of the map is the NF Type, and the value is an array of scopes"; + //optional support + type string; + min-elements 1; + } + leaf-list allowedOperationsPerNfInstance { + description "It indicates the allowed operations on resources for a given NF + Instance; the key of the map is the NF Instance Id, and the value is an array of scopes"; + //optional support + type string; + min-elements 1; + } + leaf allowedOperationsPerNfInstanceOverrides { + type boolean; + default false; + description "When it is present and set to true, indicates that the scopes defined in + attribute allowedOperationsPerNfInstance for a given NF Instance ID take precedence over + the scopes defined in attribute allowedOperationsPerNfType for the corresponding NF type + of the NF Instance associated to such NF Instance ID.."; + } + + leaf-list oauth2Required { + type boolean; + max-elements 1; + description "It indicates whether the NF Service Instance requires Oauth2-based authorization"; + } + + leaf-list sharedServiceDataId { + type string; + max-elements 1; + description "String uniquely identifying SharedServiceData. The format of the + sharedServiceDataId shall be a Universally Unique Identifier (UUID) version 4, + as described in IETF RFC 4122 [44]. The hexadecimal letters should be formatted + as lower-case characters by the sender, and they shall be handled as case-insensitive + by the receiver."; + } + leaf priority { description "Priority (relative to other services of the same type) in the range of 0-65535, to be used for NF Service selection; lower values indicate a higher priority."; //optional support - type uint16; + type uint16 { range "0..65535"; } } leaf capacity { @@ -151,31 +196,17 @@ module _3gpp-5gc-nrm-nfservice { type uint16; } - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates - the current load percentage of the NF Service."; - //optional support - type types3gpp:Load; - } - + leaf recoveryTime { description "Timestamp when the NF was (re)started."; //optional support type yang:date-and-time; } - - list chfServiceInfo { //is the key unique - description "Specific data for a CHF service instance."; - //optional support - max-elements 1; - key "primaryChfServiceInstance secondaryChfServiceInstance"; - uses ChfServiceInfo; - } - - leaf supportedFeatures { - description "Supported Features of the NF Service instance."; + + leaf vendorId { + description "Vendor ID of the NF instance"; //optional support - type SupportedFeatures; + type string; } } @@ -302,4 +333,22 @@ module _3gpp-5gc-nrm-nfservice { type string; } } + grouping SNPNIdGrp { + description "This <> represents the information of a SNPN + identification"; + leaf mCC { + description "This is the Mobile Country Code (MCC) of the PLMN + identifier. See TS 23.003 [13] subclause 2.2 and 12.1"; + type string; + } + leaf mNC { + description "This is the Mobile Network Code (MNC) of the PLMN identifier. + See TS 23.003 [13] subclause 2.2 and 12.1."; + type string; + } + leaf nId { + description "Network Identity; Shall be present if PlmnIdNid identifies an SNPN"; + type string; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 25507c96a..e8a8ff3bc 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -16,10 +16,11 @@ module _3gpp-5gc-nrm-nrffunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. For more information about the NRF, see 3GPP TS 23.501 [2]. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } @@ -72,7 +73,7 @@ module _3gpp-5gc-nrm-nrffunction { list nFProfileList { description "Set of NFProfile(s) to be registered in the NRF instance."; //optional support - key nfInstanceID; + key nfInstanceId; uses nfp3gpp:NFProfileGrp; } } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 37fadf04a..0195a23c3 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -12,10 +12,12 @@ module _3gpp-common-yang-types { description "The model defines a YANG mapping of the top level information classes used for management of 5G networks and network slicing. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2024-11-25 { reference CR-1442; } + revision 2024-11-25 { reference CR-1412; } revision 2024-11-01 { reference CR-0463; } revision 2024-08-13 { reference CR-0387; } revision 2024-05-18 { reference CR-0359; } @@ -299,6 +301,44 @@ module _3gpp-common-yang-types { yext3gpp:notNotifyable; } } + grouping NPNIdGrp { + description "Represents the NPN supported by the <> using this + <> as one of its attributes in case of the cell is a + NPN-only cell."; + + list plmnid { + key "mcc mnc"; + min-elements 1; + description "PLMNId"; + uses types3gpp:PLMNId; + } + + leaf cAGIdList { + type string; + mandatory true; + description "It identifies a CAG list containing up to 12 CAG-identifiers + per PLMN Identity, see TS 38.331. + + CAG is used for the PNI-NPNs to prevent UE(s), which are not allowed + to access the NPN via the associated cell(s), from automatically + selecting and accessing the associated CAG cell(s). + + CAG ID is used to combine with PLMN ID to identify a PNI-NPN. + + Exist if the cell is a NPN-only cell see TS 38.331"; + } + + leaf nIDList { + type string; + mandatory true; + description "It identifies a list of NIDs containing up to 12 NIDs per + PLMN Identity, see TS 38.331. + + NID is used to combine with PLMN ID to identify an SNPN. + + Exist if the cell is a NPN-only cell see TS 38.331"; + } + } typedef TenthOfDegrees { type uint16 { @@ -369,7 +409,7 @@ module _3gpp-common-yang-types { leaf idx { type uint32 ; } - leaf nfInstanceID { + leaf nfInstanceId { config false; mandatory true; type yang:uuid ; @@ -829,6 +869,11 @@ module _3gpp-common-yang-types { type inet:uri; } + leaf interPlmnCallbackUri { + description "It indicates the callback URI to be used by NF Service + Producers located in PLMNs that are different from the PLMN of the NF consumer."; + type inet:uri; + } leaf n1MessageClass { type N1MessageClass; } @@ -836,6 +881,55 @@ module _3gpp-common-yang-types { leaf n2InformationClass { type N2InformationClass; } + + leaf versions { + description "This attribute identifies the API versions + (e.g. v1) supported for the default notification type"; + //optional + type N2InformationClass; + } + leaf binding { + description "This attribute shall contain the value of the Binding Indication + for the default subscription notification "; + reference " i.e. the value part of 3gpp-Sbi-Binding header, as specified in + clause 6.12.4 of 3GPP TS 29.500 76. "; + //optional + type string; + config false; + } + leaf acceptedEncoding { + description "It indicates the content encodings that are accepted by a NF Service + Consumer when receiving a notification related to a default notification subscription"; + reference "IETF RFC 9110 clause 12.5.3 "; + //optional + type string; + config false; + } + leaf supportedFeatures { + description "It is a string, which indicates the features of the service corresponding + to the subscribed default notification, which are supported by the NF (Service) instance + acting as NF service consumer. The string shall contain a bitmask indicating supported + features in hexadecimal representation:Each character in the string shall take a value + of 0 to 9, a to f or A to F "; + reference "shall represent the support of 4 features as described in table 5.2.2-3 of TS 29.571 [61]."; + //optional + type string; + config false; + } + leaf serviceInfoList { + description "It indicates a list of service specific information. It may be present + when the notification request of the notification type may be generated by multiple + services, i.e. notifications from different services may be received by the subscription."; + //optional + type string; + config false; + } + leaf callbackUriPrefix { + description "It indicates the optional path segment(s) used to construct the prefix of the + Callback URIs during the reselection of an NF service consumer, as described in 3GPP TS 29.501"; + //optional + type inet:uri; + } } grouping Ipv4AddressRange { diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 0ebea1981..b5479dfd0 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -13,10 +13,11 @@ module _3gpp-nr-nrm-eutranfreqrelation { organization "3GPP SA5"; description "Defines the YANG mapping of the EUtranFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference CR-; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2019-10-28 { reference S5-193518 ; } @@ -44,7 +45,7 @@ module _3gpp-nr-nrm-eutranfreqrelation { blocklisted in E-UTRAN measurements."; reference "3GPP TS 38.331"; min-elements 0; - type uint16 { range "0..1007"; } + type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index aaf83c7ee..9b0452ac3 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -16,10 +16,11 @@ module _3gpp-nr-nrm-gnbcucpfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference "CR-1442"; } revision 2024-11-07 { reference "CR-1443"; } revision 2024-08-19 { reference "CR-1405"; } revision 2024-08-19 { reference "CR-1337 CR-1352"; } @@ -87,7 +88,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { description "This data type represents the properties describing the mapping relationship between set ID and backhaul address of gNB."; - leaf setID { + leaf setId { type uint32 { range 0..4194304; // 22 bits } @@ -109,7 +110,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { } } - grouping tceIDMappingInfoGrp { + grouping TceIDMappingInfoGrp { description "This data type represents the properties describing the mapping relationship between TCE ID, PLMN where TCE resides and IP address of TCE."; @@ -236,7 +237,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { min-elements 1; key idx; leaf idx { type uint32; } - uses tceIDMappingInfoGrp; + uses TceIDMappingInfoGrp; } leaf dDAPSHOControl { @@ -311,6 +312,10 @@ module _3gpp-nr-nrm-gnbcucpfunction { NRECMappingRule contained by parent, e.g. ManagedElement or SubNetwork, applies."; } + + leaf mWABRef { + type types3gpp:DistinguishedName; + } } grouping QceIdMappingInfoGrp { diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index da3e12195..94420e4df 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -15,10 +15,11 @@ module _3gpp-nr-nrm-nrcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-05-25 { reference CR-1412 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } @@ -42,46 +43,7 @@ module _3gpp-nr-nrm-nrcelldu { description "Class representing Centralized SON function of PCI configuration feature"; } - - grouping NPNIdentityGrp { - description "Represents the NPN supported by the <> using this - <> as one of its attributes in case of the cell is a - NPN-only cell."; - - list plmnid { - key "mcc mnc"; - min-elements 1; - description "PLMNId"; - uses types3gpp:PLMNId; - } - - leaf cAGIdList { - type string; - mandatory true; - description "It identifies a CAG list containing up to 12 CAG-identifiers - per PLMN Identity, see TS 38.331. - - CAG is used for the PNI-NPNs to prevent UE(s), which are not allowed - to access the NPN via the associated cell(s), from automatically - selecting and accessing the associated CAG cell(s). - - CAG ID is used to combine with PLMN ID to identify a PNI-NPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; - } - - leaf nIDList { - type string; - mandatory true; - description "It identifies a list of NIDs containing up to 12 NIDs per - PLMN Identity, see TS 38.331. - - NID is used to combine with PLMN ID to identify an SNPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; - } - } - + grouping NRCellDUGrp { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; @@ -143,7 +105,7 @@ module _3gpp-nr-nrm-nrcelldu { corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; reference "3GPP TS 38.331"; leaf idx { type uint32 ; } - uses NPNIdentityGrp; + uses types3gpp:NPNIdGrp; } leaf nRPCI { diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 90705d9b9..46b942353 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -12,10 +12,11 @@ module _3gpp-nr-nrm-nrfreqrelation { organization "3GPP SA5"; description "Defines the YANG mapping of the NRFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference CR-; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } @@ -81,7 +82,7 @@ module _3gpp-nr-nrm-nrfreqrelation { blocklisted in NR measurements."; reference "3GPP TS 38.331"; min-elements 0; - type uint16 { range "0..1007"; } + type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index a1589ef2b..1ae6f94fc 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -11,10 +11,11 @@ module _3gpp-nr-nrm-nrfrequency { organization "3GPP SA5"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -33,7 +34,7 @@ module _3gpp-nr-nrm-nrfrequency { type uint32 { range "0.. 3279165"; } } - leaf sSBSubCarrierSpacing { + leaf ssBSubCarrierSpacing { description "Sub-carrier spacing of the SSB."; mandatory true; type uint8 { range "15 | 30 | 60 | 120"; } diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 3453e5166..7aba7f7e6 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -15,7 +15,7 @@ module _3gpp-ns-nrm-networkslicesubnet { "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the properties of a network slice subnet instance in a 5G network. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 Management and orchestration; @@ -23,6 +23,7 @@ module _3gpp-ns-nrm-networkslicesubnet { Information model definitions for network slice NRM (chapter 6) "; + revision 2025-01-25 { reference CR-1412 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-26 { reference CR-0770 ; } revision 2021-05-05 { @@ -45,7 +46,27 @@ module _3gpp-ns-nrm-networkslicesubnet { type string; reference "ETSI GS NFV-IFA 013"; } - + grouping ConnectionPointInfoGrp { + description "TThis datatype contains information required to identify a + connection point outside of scope of 3GPP MIB (e.g. transport domain), "; + reference "FC 8345 [89] and YANG Data Models for 'Attachment + Circuits'-as-a-Service (ACaaS) [90]"; + leaf connectionPointId { + description "This parameter specifies the identifier of a TN object"; + type string; + } + leaf connectionPointIdType { + description "This parameter specifies the type of the connection point identifier"; + type enumeration { + enum VLAN; + enum MPLS; + enum SEGMENT; + enum IPV4; + enum IPV6; + enum ATTACHMENT_CIRCUIT; + } + } + } grouping EPTransportGrp { leaf ipAddress { description "This parameter specifies the IP address assigned to a @@ -61,13 +82,6 @@ module _3gpp-ns-nrm-networkslicesubnet { mandatory true; type string; } - leaf-list nextHopInfo { - description "This parameter is used to identify ingress transport - node. Each node can be identified by any of combination of IP - address of next-hop router of transport network, system name, - port name, IP management address of transport nodes."; - type string; - } leaf-list qosProfile { description "This parameter specifies reference to QoS Profile for a logical transport interface. A QoS profile includes a set of @@ -81,8 +95,13 @@ module _3gpp-ns-nrm-networkslicesubnet { min-elements 1; type types3gpp:DistinguishedName; } + list externalEndPointRefList { + description "This parameter is used to identify a list of connection + point info(s)"; + uses ConnectionPointInfoGrp; + } uses top3gpp:Top_Grp; - } + } grouping NsInfoGrp { description "The NsInfo of the NS instance corresponding to the network diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 8745dd815..6ba9a70cb 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -13,7 +13,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Represents the properties of network slice subnet related requirement that should be supported by the network slice subnet instance in a 5G network. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 Management and orchestration; @@ -21,6 +21,7 @@ submodule _3gpp-ns-nrm-sliceprofile { Information model definitions for network slice NRM (chapter 6) "; + revision 2025-01-25 { reference CR-1442; } revision 2023-11-04 { reference CR-1129; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -502,6 +503,7 @@ submodule _3gpp-ns-nrm-sliceprofile { list maxNumberofPDUSessions { description "Represents the maximum number of concurrent PDU sessions supported by the network slice"; + //optional config false; key idx; max-elements 1; @@ -621,54 +623,6 @@ submodule _3gpp-ns-nrm-sliceprofile { } } - grouping PositioningRANSubnetGrp { - description "Represents positioning support in RAN domain"; - leaf-list availability { - type enumeration { - enum CIDE_CID ; - enum OTDOA; - enum RF_FINGERPRINTING; - enum AECID; - enum HYBRID_POSITIONING; - enum NET_RTK; - } - config false; - description "Specifies if this attribute is provided by the RAN domain - of the network slice and contains a list of positioning methods - provided by the RAN domain. If the list is empty this attribute is - not available in the RAN domain and the other parameters might be - ignored, see NG.116. Values allowed: are - CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, - Hybrid positioning, NET-RTK."; - } - leaf predictionfrequency { - type enumeration { - enum PERSEC; - enum PERMIN; - enum PERHOUR; - } - mandatory true; - description "Specifies how often location information is provided. - This parameter simply defines how often the customer is allowed to - request location information. This is not related to the time it - takes to determine the location, which is a characteristic of the - positioning method. - If leaf-list availability is empty, the value has no meaning."; - reference "NG.116"; - } - leaf accuracy { - type decimal64 { - fraction-digits 2; - } - units meter; - mandatory true; - description "Specifies the accuracy of the location information. - Accuracy depends on the respective positioning solution applied in the - RAN domain of the network slice."; - reference "NG.116"; - } - } - grouping RANSliceSubnetProfileGrp { description "Represents the RANSliceSubnetProfile datatype"; leaf latency { @@ -936,7 +890,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Specifies whether the RAN domain of the network slice provides geo-localization methods or supporting methods."; reference "Clause 3.4.20 of NG.116 [50]."; - uses PositioningRANSubnetGrp; + uses PositioningGrp; } } -- GitLab From fce5e7f634cb13d2655921504abe9c462eba78c9 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 4 Feb 2025 09:31:41 +0100 Subject: [PATCH 02/27] Updated YANG models for compliance and corrections --- .../_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang | 1 + yang-models/_3gpp-5gc-nrm-nfservice.yang | 48 +++++++++-------- yang-models/_3gpp-common-yang-types.yang | 53 +++++++++++-------- .../_3gpp-nr-nrm-eutranfreqrelation.yang | 18 ++++--- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 7 +-- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 18 +++---- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 7 +-- .../_3gpp-ns-nrm-networkslicesubnet.yang | 7 +-- 8 files changed, 90 insertions(+), 69 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang index 82d33842e..0a1adaef4 100755 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -40,6 +40,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { grouping FiveQiDscpMappingSetGrp { description "Represents the FiveQiDscpMappingSet IOC."; list fiveQiDscpMappingList { + description "It provides the list of mapping between 5QIs and DSCP."; key "dscp"; uses FiveQiDscpMapping; } diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index d3d3a71cd..2577809c6 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -127,31 +127,34 @@ module _3gpp-5gc-nrm-nfservice { } leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed to access the service instance."; + description "Pattern representing the NF domain names allowed to + access the service instance."; //optional support min-elements 1; type string; } list allowedNSSAI { - description "S-NSSAI of the allowed slices to access the service instance. - The absence of this attribute indicates that any slice is allowed to - access the service instance."; + description "S-NSSAI of the allowed slices to access the service + instance. The absence of this attribute indicates that any slice + is allowed to access the service instance."; min-elements 1; //optional support key "sd sst"; uses types5g3gpp:SNssai; } leaf-list allowedOperationsPerNfType { - description "It indicates the allowed operations on resources for each type - of NF; the key of the map is the NF Type, and the value is an array of scopes"; + description "It indicates the allowed operations on resources for + each type of NF; the key of the map is the NF Type, and the value + is an array of scopes"; //optional support type string; min-elements 1; } leaf-list allowedOperationsPerNfInstance { - description "It indicates the allowed operations on resources for a given NF - Instance; the key of the map is the NF Instance Id, and the value is an array of scopes"; + description "It indicates the allowed operations on resources for + a given NF Instance; the key of the map is the NF Instance Id, and + the value is an array of scopes"; //optional support type string; min-elements 1; @@ -159,26 +162,28 @@ module _3gpp-5gc-nrm-nfservice { leaf allowedOperationsPerNfInstanceOverrides { type boolean; default false; - description "When it is present and set to true, indicates that the scopes defined in - attribute allowedOperationsPerNfInstance for a given NF Instance ID take precedence over - the scopes defined in attribute allowedOperationsPerNfType for the corresponding NF type - of the NF Instance associated to such NF Instance ID.."; + description "When it is present and set to true, indicates that + the scopes defined in attribute allowedOperationsPerNfInstance + for a given NF Instance ID take precedence over the scopes defined + in attribute allowedOperationsPerNfType for the corresponding + NF type of the NF Instance associated to such NF Instance ID.."; } leaf-list oauth2Required { type boolean; max-elements 1; - description "It indicates whether the NF Service Instance requires Oauth2-based authorization"; + description "It indicates whether the NF Service Instance requires + Oauth2-based authorization"; } leaf-list sharedServiceDataId { type string; max-elements 1; - description "String uniquely identifying SharedServiceData. The format of the - sharedServiceDataId shall be a Universally Unique Identifier (UUID) version 4, - as described in IETF RFC 4122 [44]. The hexadecimal letters should be formatted - as lower-case characters by the sender, and they shall be handled as case-insensitive - by the receiver."; + description "String uniquely identifying SharedServiceData. The format + of the sharedServiceDataId shall be a Universally Unique Identifier + (UUID) version 4, as described in IETF RFC 4122 [44]. The hexadecimal + letters should be formatted as lower-case characters by the sender, + and they shall be handled as case-insensitive by the receiver."; } leaf priority { @@ -342,12 +347,13 @@ module _3gpp-5gc-nrm-nfservice { type string; } leaf mNC { - description "This is the Mobile Network Code (MNC) of the PLMN identifier. - See TS 23.003 [13] subclause 2.2 and 12.1."; + description "This is the Mobile Network Code (MNC) of the PLMN + identifier. See TS 23.003 [13] subclause 2.2 and 12.1."; type string; } leaf nId { - description "Network Identity; Shall be present if PlmnIdNid identifies an SNPN"; + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN"; type string; } } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 0195a23c3..de9ff55c9 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -731,9 +731,9 @@ module _3gpp-common-yang-types { grouping GeoAreaGrp { description "This data type defines a geographical area. The geo-area is defined using a convex polygon in the attribute - 'convexGeoPolygon'."; + 'geoPolygon'."; - list convexGeoPolygon { + list geoPolygon { description "Specifies the geographical area with a convex polygon. The convex polygon is specified by its corners."; key "latitude longitude"; @@ -871,7 +871,8 @@ module _3gpp-common-yang-types { leaf interPlmnCallbackUri { description "It indicates the callback URI to be used by NF Service - Producers located in PLMNs that are different from the PLMN of the NF consumer."; + Producers located in PLMNs that are different from the PLMN of + the NF consumer."; type inet:uri; } leaf n1MessageClass { @@ -889,44 +890,50 @@ module _3gpp-common-yang-types { type N2InformationClass; } leaf binding { - description "This attribute shall contain the value of the Binding Indication - for the default subscription notification "; - reference " i.e. the value part of 3gpp-Sbi-Binding header, as specified in + description "This attribute shall contain the value of the Binding + Indication for the default subscription notification "; + reference " i.e. the value part of 3gpp-Sbi-Binding header, as + specified in clause 6.12.4 of 3GPP TS 29.500 76. "; //optional type string; config false; } leaf acceptedEncoding { - description "It indicates the content encodings that are accepted by a NF Service - Consumer when receiving a notification related to a default notification subscription"; + description "It indicates the content encodings that are accepted by a + NF Service Consumer when receiving a notification related to a default + notification subscription"; reference "IETF RFC 9110 clause 12.5.3 "; //optional type string; config false; } leaf supportedFeatures { - description "It is a string, which indicates the features of the service corresponding - to the subscribed default notification, which are supported by the NF (Service) instance - acting as NF service consumer. The string shall contain a bitmask indicating supported - features in hexadecimal representation:Each character in the string shall take a value + description "It is a string, which indicates the features of the service + corresponding to the subscribed default notification, which are supported + by the NF (Service) instance acting as NF service consumer. The string + shall contain a bitmask indicating supported features in hexadecimal + representation:Each character in the string shall take a value of 0 to 9, a to f or A to F "; - reference "shall represent the support of 4 features as described in table 5.2.2-3 of TS 29.571 [61]."; + reference "shall represent the support of 4 features as described in + table 5.2.2-3 of TS 29.571 [61]."; //optional type string; config false; } leaf serviceInfoList { - description "It indicates a list of service specific information. It may be present - when the notification request of the notification type may be generated by multiple - services, i.e. notifications from different services may be received by the subscription."; + description "It indicates a list of service specific information. It may + be present when the notification request of the notification type may be + generated by multiple services, i.e. notifications from different + services may be received by the subscription."; //optional type string; config false; } leaf callbackUriPrefix { - description "It indicates the optional path segment(s) used to construct the prefix of the - Callback URIs during the reselection of an NF service consumer, as described in 3GPP TS 29.501"; + description "It indicates the optional path segment(s) used to construct + the prefix of the Callback URIs during the reselection of an NF service + consumer, as described in 3GPP TS 29.501"; //optional type inet:uri; } @@ -1104,9 +1111,9 @@ module _3gpp-common-yang-types { In addition, the MnS producer shall create on behalf of the MnS consumer a subscription, using 'NtfSubscriptionControl', for the notification types 'notifyMOICreation' and 'notifyMOIDeletion' related - to the 'File' instances that will be produced later. In case an existing - subscription does already include the 'File' instances to be produced, - no new subscription shall be created. The + to the 'File' instances that will be produced later. In case an + existing subscription does already include the 'File' instances to be + produced, no new subscription shall be created. The 'notificationRecipientAddress' attribute in the created 'NtfSubscriptionControl' instance shall be set to the value of the 'notificationRecipientAddress' in the related 'PerfMetricJob'. This @@ -1148,8 +1155,8 @@ module _3gpp-common-yang-types { leaf fileLocation { type string ; description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the MnS - consumer."; + reporting method is supported, and the files are stored on the + MnS consumer."; } } case notification-target { diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index b5479dfd0..50ed647f5 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -11,18 +11,20 @@ module _3gpp-nr-nrm-eutranfreqrelation { import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EUtranFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-01-25 { reference CR-; } + revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { + revision 2019-06-17 {reference CR-; } description "Initial revision"; + } grouping EUtranFreqRelationGrp { @@ -42,16 +44,16 @@ module _3gpp-nr-nrm-eutranfreqrelation { leaf-list blockListEntry { description "A list of Physical Cell Identities (PCIs) that are - blocklisted in E-UTRAN measurements."; + blocklisted in E-UTRAN measurements."; reference "3GPP TS 38.331"; - min-elements 0; + //optional type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { description "A list of Physical Cell Identities (PCIs) that are blocklisted in SIB4 and SIB5."; - min-elements 0; + //optional type uint16 { range "0..1007"; } } @@ -153,7 +155,6 @@ module _3gpp-nr-nrm-eutranfreqrelation { serving frequency. Each frequency of NR and E-UTRAN might have a specific threshold."; reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory false; type int32 { range "0..31"; } units dB; } @@ -196,7 +197,10 @@ module _3gpp-nr-nrm-eutranfreqrelation { } } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + augment + /me3gpp:ManagedElement + /gnbcucp3gpp:GNBCUCPFunction + /nrcellcu3gpp:NRCellCU { list EUtranFreqRelation { description "Represents a frequency relation between an NR cell and an diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 9b0452ac3..b7c05dddd 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -350,7 +350,8 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf gnbIdLength { type int32 {range "22..32";} mandatory true; - description "This indicates the number of bits for encoding the gNB ID. See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; + description "This indicates the number of bits for encoding the gNB ID. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; } leaf gnbId { @@ -367,8 +368,8 @@ module _3gpp-nr-nrm-gnbcucpfunction { uses types3gpp:PLMNId; leaf enbId { - description "It identifies an eNB within a PLMN. The eNB ID is part of the E-UTRAN Cell Global Identifier (ECGI) of the eNB - cells."; + description "It identifies an eNB within a PLMN. The eNB ID is part of + the E-UTRAN Cell Global Identifier (ECGI) of the eNB cells."; reference "eNB ID in 3GPP TS 36.300. Global eNB ID in 3GPP TS 36.413."; mandatory true; type int32 {range "0..4194303";} diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 46b942353..d4b04ea70 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -10,19 +10,20 @@ module _3gpp-nr-nrm-nrfreqrelation { import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-01-25 { reference CR-; } + revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-04-23 { reference CR-0281; } revision 2019-10-28 { reference S5-193518; } - revision 2019-06-17 { + revision 2019-06-17 { reference S5-} description "Initial revision"; } @@ -81,14 +82,12 @@ module _3gpp-nr-nrm-nrfreqrelation { description "A list of Physical Cell Identities (PCIs) that are blocklisted in NR measurements."; reference "3GPP TS 38.331"; - min-elements 0; type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { description "A list of Physical Cell Identities (PCIs) that are blocklisted in SIB4 and SIB5."; - min-elements 0; type uint16 { range "0..1007"; } } @@ -117,7 +116,6 @@ module _3gpp-nr-nrm-nrfreqrelation { description "Used for calculation of the parameter Pcompensation (defined in 3GPP TS 38.304), at cell reselection to a cell."; reference "PEMAX in 3GPP TS 38.101-1"; - mandatory false; type int32 { range "-30..33"; } units dBm; } @@ -125,7 +123,6 @@ module _3gpp-nr-nrm-nrfreqrelation { leaf qOffsetFreq { description "The frequency specific offset applied when evaluating candidates for cell reselection."; - mandatory false; type types3gpp:QOffsetRange; default 0; } @@ -204,7 +201,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units s; } - leaf tReselectionNRSfHigh { + leaf tReselectionNRSfHigh { description "The attribute tReselectionNr (parameter TreselectionNR in 3GPP TS 38.304) is multiplied with this scaling factor if the UE is in high mobility state."; @@ -226,14 +223,17 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf nRFrequencyRef { + leaf nRFrequencyRef { description "Reference to a corresponding NRFrequency instance."; mandatory true; type types3gpp:DistinguishedName; } } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + augment + /me3gpp:ManagedElement + /gnbcucp3gpp:GNBCUCPFunction + /nrcellcu3gpp:NRCellCU { list NRFreqRelation { description "Together with the target NRFrequency, it represents the diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 1ae6f94fc..d3acc7a0f 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -1,6 +1,6 @@ module _3gpp-nr-nrm-nrfrequency { yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfrequency"; prefix "nrfreq3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } @@ -9,6 +9,7 @@ module _3gpp-nr-nrm-nrfrequency { import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, @@ -18,7 +19,7 @@ module _3gpp-nr-nrm-nrfrequency { revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { + revision 2019-06-17 { reference S5-} description "Initial revision"; } @@ -45,7 +46,7 @@ module _3gpp-nr-nrm-nrfrequency { description "List of additional frequency bands the frequency belongs to. The list is automatically set by the gNB."; config false; - min-elements 0; + min-elements 1; type uint16 { range "1..256"; } } } diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 7aba7f7e6..2491ec1c2 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -23,10 +23,10 @@ module _3gpp-ns-nrm-networkslicesubnet { Information model definitions for network slice NRM (chapter 6) "; - revision 2025-01-25 { reference CR-1412 ; } + revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-26 { reference CR-0770 ; } - revision 2021-05-05 { + revision 2021-05-05 { reference CR- } description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; reference "CR-0485"; } @@ -56,7 +56,8 @@ module _3gpp-ns-nrm-networkslicesubnet { type string; } leaf connectionPointIdType { - description "This parameter specifies the type of the connection point identifier"; + description "This parameter specifies the type of the connection point + identifier"; type enumeration { enum VLAN; enum MPLS; -- GitLab From 1c25188be1d0b5c723fba7412c642ca70308d720 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 4 Feb 2025 09:50:55 +0100 Subject: [PATCH 03/27] Updated YANG models for compliance and corrections --- yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang | 11 ++++------- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 8 +++----- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 3 ++- yang-models/_3gpp-ns-nrm-networkslicesubnet.yang | 6 +++--- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 50ed647f5..6318de4ca 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -22,9 +22,9 @@ module _3gpp-nr-nrm-eutranfreqrelation { revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 {reference CR-; } + revision 2019-06-17 { + reference "Initial version"; description "Initial revision"; - } grouping EUtranFreqRelationGrp { @@ -196,11 +196,8 @@ module _3gpp-nr-nrm-eutranfreqrelation { type types3gpp:DistinguishedName; } } - - augment - /me3gpp:ManagedElement - /gnbcucp3gpp:GNBCUCPFunction - /nrcellcu3gpp:NRCellCU { + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { list EUtranFreqRelation { description "Represents a frequency relation between an NR cell and an diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index d4b04ea70..8ca1ce760 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -23,7 +23,8 @@ module _3gpp-nr-nrm-nrfreqrelation { revision 2023-04-26 { reference CR-0916; } revision 2020-04-23 { reference CR-0281; } revision 2019-10-28 { reference S5-193518; } - revision 2019-06-17 { reference S5-} + revision 2019-06-17 { + reference "Initial version"; description "Initial revision"; } @@ -230,10 +231,7 @@ module _3gpp-nr-nrm-nrfreqrelation { } } - augment - /me3gpp:ManagedElement - /gnbcucp3gpp:GNBCUCPFunction - /nrcellcu3gpp:NRCellCU { + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { list NRFreqRelation { description "Together with the target NRFrequency, it represents the diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index d3acc7a0f..5564721df 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -19,7 +19,8 @@ module _3gpp-nr-nrm-nrfrequency { revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { reference S5-} + revision 2019-06-17 { + reference "Initial version"; description "Initial revision"; } diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 2491ec1c2..8b31dd8ed 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -26,10 +26,10 @@ module _3gpp-ns-nrm-networkslicesubnet { revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-26 { reference CR-0770 ; } - revision 2021-05-05 { reference CR- } - description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + revision 2021-05-05 { reference "CR-0485"; - } + description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + } revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; -- GitLab From 53fc99b33e5d940bb696bf5ef0c706218bec37df Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 4 Feb 2025 10:04:30 +0100 Subject: [PATCH 04/27] Updated YANG models for compliance and corrections --- yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang | 3 ++- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 6318de4ca..32e67873d 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -197,7 +197,8 @@ module _3gpp-nr-nrm-eutranfreqrelation { } } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + augment "/me3gpp:ManagedElement" + + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { list EUtranFreqRelation { description "Represents a frequency relation between an NR cell and an diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 8ca1ce760..f3f80a3d9 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -194,15 +194,15 @@ module _3gpp-nr-nrm-nrfreqrelation { units dB; } - leaf tReselectionNR { + leaf tReselectionNR { description "Cell reselection timer for NR."; reference "TreselectionRAT for NR in 3GPP TS 38.331"; mandatory true; type int32 { range "0..7"; } - units s; + units s; } - leaf tReselectionNRSfHigh { + leaf tReselectionNRSfHigh { description "The attribute tReselectionNr (parameter TreselectionNR in 3GPP TS 38.304) is multiplied with this scaling factor if the UE is in high mobility state."; @@ -231,7 +231,8 @@ module _3gpp-nr-nrm-nrfreqrelation { } } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + augment "/me3gpp:ManagedElement" + + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { list NRFreqRelation { description "Together with the target NRFrequency, it represents the -- GitLab From 802978ad7e3fb99a59826dad108bd98f7f553536 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 5 Feb 2025 15:15:44 +0100 Subject: [PATCH 05/27] yang extensions updated --- yang-models/_3gpp-common-yang-extensions.yang | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index dc9c8e5b5..05ab00ea5 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -46,6 +46,7 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2024-12-13 { reference "CR-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"; } @@ -65,7 +66,9 @@ module _3gpp-common-yang-extensions { Zero or one only-system-created statement per parent statement is allowed. No sub-statements are allowed. - Adding this statement is an NBC change, removing it is BC."; + Adding this statement is an NBC change, + removing it is BC, however if the system behavior is also changed in + parallel (the system stops creating the MOIs), this behavior is NBC."; } extension notNotifyable { @@ -73,14 +76,16 @@ module _3gpp-common-yang-extensions { "Indicates that data change notifications shall not be sent for this attribute. If the extension is not present and other conditions are fulfilled data change notification should be sent. + If a list or container already has the notNotifyable extension, that is also valid for all contained data nodes. The statement MUST only be a substatement of a leaf, leaf-list, list, container statement that is contained within the 'attributes' container of an IOC and that represents an attribute or sub-parts of - an attribute . - + an attribute. If the attribute is represented by a container or list, + the statement shall be put on these, not on data nodes inside the + list/container. Zero or one notNotifyable statement is allowed per parent statement. NO substatements are allowed. @@ -103,8 +108,12 @@ module _3gpp-common-yang-extensions { It is unnecessary to use and MUST NOT be used for key leafs. - The statement MUST only be a substatement of a leaf, leaf-list, list - statement that is config=true. + The statement MUST only be a substatement of a leaf, leaf-list, list, + container statement that is contained within the 'attributes' + container of an IOC and that represents an attribute or sub-parts of + an attribute and is config=true. If the attribute is represented by a + container or list, the statement shall be put on these, not on data + nodes inside the list/container. Zero or one inVariant statement is allowed per parent statement. NO substatements are allowed. -- GitLab From 1017cb80bfbd89bcd10e03a09efdaa27e2501315 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 5 Feb 2025 15:25:00 +0100 Subject: [PATCH 06/27] yang extension 2 --- yang-models/_3gpp-common-yang-extensions.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 05ab00ea5..9fc38940c 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -38,7 +38,7 @@ module _3gpp-common-yang-extensions { If support for an extension is missing the extension statement needs individual handling or it SHOULD be removed from the module using the extension e.g. with a deviation. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -46,7 +46,7 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2024-12-13 { reference "CR-0492" ; } + revision 2025-02-07 { reference "CR-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"; } -- GitLab From 015a896de5db730598858e1fac723564bbf684b9 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Feb 2025 01:12:17 +0100 Subject: [PATCH 07/27] yang extension 3 common with r18 --- yang-models/_3gpp-common-yang-extensions.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 9fc38940c..0b1c1ee27 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -46,7 +46,7 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2025-02-07 { reference "CR-0492" ; } + 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"; } -- GitLab From 2df4ca022ef6b75189de6a7dcd9c2d28936c4207 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Feb 2025 15:23:43 +0100 Subject: [PATCH 08/27] thresholdinfo in fm corrected --- yang-models/_3gpp-common-fm.yang | 44 ++------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 223ea0033..62ee4555e 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -7,6 +7,7 @@ module _3gpp-common-fm { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -255,52 +256,11 @@ module _3gpp-common-fm { yext3gpp:notNotifyable; } - grouping ThresholdInfoGrp { - leaf measurementType { - type string; - mandatory true; - } - - leaf direction { - type enumeration { - enum INCREASING; - enum DECREASING; - } - mandatory true; - description " - If it is 'Increasing', the threshold crossing notification is - triggered when the measurement value equals or exceeds a - thresholdValue. - - If it is 'Decreasing', the threshold crossing notification is - triggered when the measurement value equals or below a - thresholdValue."; - } - - leaf thresholdLevel { - type string; - } - - leaf thresholdValue { - type string; - } - - leaf hysteresis { - type string; - description "The hysteresis has a threshold high and a threshold - low value that are different from the threshold value. - A hysteresis, therefore, defines the threshold-high and - threshold-low levels within which the measurementType value is - allowed to oscillate without triggering the threshold crossing - notification."; - } - } - list thresholdInfo { config false ; yext3gpp:notNotifyable; description "Indicates the crossed threshold"; - uses ThresholdInfoGrp; + uses meas3gpp:ThresholdInfoGrp; } list stateChangeDefinition { -- GitLab From 0de183f70f2997b9ecbdca28c36326ad43963f4c Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 6 Feb 2025 16:17:33 +0100 Subject: [PATCH 09/27] Corrrect NpnId defintions for _3gpp-common-trace.yang _3gpp-common-yang-types.yang_3gpp-nr-nrm-nrcelldu.yang --- yang-models/_3gpp-common-trace.yang | 32 +++--------------- yang-models/_3gpp-common-yang-types.yang | 42 ++++++++++-------------- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 3 +- 3 files changed, 24 insertions(+), 53 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 3c0f3401b..8894d92f3 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -26,6 +26,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2024-11-25 { reference CR-0942; } revision 2024-11-07 { reference "CR-0480"; } revision 2024-10-01 { reference "CR-0457"; } revision 2024-08-13 { reference "CR-0387 CR-0377"; } @@ -158,36 +159,11 @@ module _3gpp-common-trace { identified by Network ID with associated plmn-Identity"; key idx; min-elements 1; - uses NpnIdGrp; + uses types3gpp:NpnIdGrp; leaf idx { type string; } } } - grouping NpnIdGrp { - description "Represents the NpnId dataType."; - - list plmnId { - key "mcc mnc"; - description "It specifies the PLMN Id of the NPN network."; - uses types3gpp:PLMNId; - max-elements 1; - } - - list cAGIdList { - key idx; - max-elements 256; - description "It specifies the PNI-NPN identified by CAG ID "; - leaf idx { type string; } - } - - list nIDList { - key idx; - max-elements 16; - description "It specifies the SNPN identified by Network ID"; - leaf idx { type string; } - } - } - grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. This <> defines a excess packet delay threshold information @@ -1430,7 +1406,7 @@ module _3gpp-common-trace { corresponding PNI-NPN or SNPN."; key idx; max-elements 1; - uses NpnIdGrp; + uses types3gpp:NpnIdGrp; leaf idx { type string;} } } @@ -1798,7 +1774,7 @@ module _3gpp-common-trace { several NPNs are supported in the RAN."; key idx; max-elements 1; - uses NpnIdGrp; + uses types3gpp:NpnIdGrp; leaf idx { type string;} } } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index de9ff55c9..f316abd34 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2024-11-25 { reference CR-0942; } revision 2024-11-25 { reference CR-1442; } revision 2024-11-25 { reference CR-1412; } revision 2024-11-01 { reference CR-0463; } @@ -301,42 +302,35 @@ module _3gpp-common-yang-types { yext3gpp:notNotifyable; } } - grouping NPNIdGrp { + grouping NpnIdGrp { description "Represents the NPN supported by the <> using this <> as one of its attributes in case of the cell is a NPN-only cell."; - list plmnid { + list plmnId { key "mcc mnc"; min-elements 1; - description "PLMNId"; + description "It specifies the PLMN Id of the NPN network."; uses types3gpp:PLMNId; } - leaf cAGIdList { - type string; - mandatory true; + list cAGIdList { + key idx; + max-elements 256; description "It identifies a CAG list containing up to 12 CAG-identifiers - per PLMN Identity, see TS 38.331. - - CAG is used for the PNI-NPNs to prevent UE(s), which are not allowed - to access the NPN via the associated cell(s), from automatically - selecting and accessing the associated CAG cell(s). - - CAG ID is used to combine with PLMN ID to identify a PNI-NPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; + 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.CAG ID is + a hexadecimal range with size 32 bit"; + leaf idx { type string; } } - leaf nIDList { - type string; - mandatory true; - description "It identifies a list of NIDs containing up to 12 NIDs per - PLMN Identity, see TS 38.331. - - NID is used to combine with PLMN ID to identify an SNPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; + list nIDList { + key idx; + max-elements 16; + description "It identifies a list of NIDs containing up to 16 NIDs, see + TS 38.331 [38].NID is used to combine with PLMN ID to identify an SNPN. + NID is a hexadecimal range with size 44 bit."; + leaf idx { type string; } } } diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 94420e4df..8db5164c4 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 2024-11-25 { reference CR-0942; } revision 2024-05-25 { reference CR-1412 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -105,7 +106,7 @@ module _3gpp-nr-nrm-nrcelldu { corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; reference "3GPP TS 38.331"; leaf idx { type uint32 ; } - uses types3gpp:NPNIdGrp; + uses types3gpp:NpnIdGrp; } leaf nRPCI { -- GitLab From 8ed5cb9fb45393984722212fa732876c63a3fd4f Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 6 Feb 2025 16:23:13 +0100 Subject: [PATCH 10/27] Corrrect min-elements 0 --- yang-models/_3gpp-common-trace.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 8894d92f3..d4ce40c13 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -1440,7 +1440,6 @@ module _3gpp-common-trace { key "idx"; leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; - min-elements 0; max-elements 1; uses AreaScopeGrp; } -- GitLab From 07059e719879118c83fa6a2f5af63b3d0d18d520 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Feb 2025 18:47:11 +0100 Subject: [PATCH 11/27] added CRno to fm --- yang-models/_3gpp-common-fm.yang | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 62ee4555e..da5d3eaee 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -13,12 +13,14 @@ module _3gpp-common-fm { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines a Fault Management model - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-02-07 { reference CR-0022 ; } revision 2024-05-12 { - description "The definition of the module was from TS 28.623 to TS 28.111"; + description "The definition of the module was moved from TS 28.623 to + TS 28.111"; reference CR-0008 ; } revision 2024-03-06 { reference CR-0333 ; } -- GitLab From df48e356f843187d97f4474bfe556f3b8e5ec0ef Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Feb 2025 17:32:12 +0100 Subject: [PATCH 12/27] correcting crno+copyrigt --- yang-models/_3gpp-common-trace.yang | 4 ++-- yang-models/_3gpp-common-yang-types.yang | 2 +- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index d4ce40c13..9b505b336 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -14,7 +14,7 @@ module _3gpp-common-trace { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Trace handling - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -26,7 +26,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2024-11-25 { reference CR-0942; } + revision 2024-11-25 { reference CR-0492; } revision 2024-11-07 { reference "CR-0480"; } revision 2024-10-01 { reference "CR-0457"; } revision 2024-08-13 { reference "CR-0387 CR-0377"; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index f316abd34..7b2c50ed8 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 2024-11-25 { reference CR-0942; } + revision 2025-02-07 { reference CR-0492; } revision 2024-11-25 { reference CR-1442; } revision 2024-11-25 { reference CR-1412; } revision 2024-11-01 { reference CR-0463; } diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 8db5164c4..392b11cd2 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,7 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-11-25 { reference CR-0942; } + revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } -- GitLab From c1f9fe62978a88a0089a41fc5ed2b5e18ff2808d Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 10 Feb 2025 12:18:32 +0100 Subject: [PATCH 13/27] npnidgrp correction --- yang-models/_3gpp-common-yang-types.yang | 38 +++++++++++++----------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 7b2c50ed8..cfbcd7890 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -302,7 +302,8 @@ module _3gpp-common-yang-types { yext3gpp:notNotifyable; } } - grouping NpnIdGrp { + + grouping NpnIdGrp { description "Represents the NPN supported by the <> using this <> as one of its attributes in case of the cell is a NPN-only cell."; @@ -314,23 +315,24 @@ module _3gpp-common-yang-types { uses types3gpp:PLMNId; } - list cAGIdList { - key idx; - max-elements 256; - description "It identifies a CAG list containing up to 12 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.CAG ID is - a hexadecimal range with size 32 bit"; - leaf idx { type string; } - } - - list nIDList { - key idx; - max-elements 16; - description "It identifies a list of NIDs containing up to 16 NIDs, see - TS 38.331 [38].NID is used to combine with PLMN ID to identify an SNPN. - NID is a hexadecimal range with size 44 bit."; - leaf idx { type string; } + choice npnidChoice { + leaf-list cAGIdList { + type string; + max-elements 256; + description "It identifies a CAG list containing up to 12 + CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, + see TS 38.331. + CAG ID is used to combine with PLMN ID to identify a PNI-NPN.CAG ID is + a hexadecimal range with size 32 bit"; + } + + leaf-list nIDList { + type string; + max-elements 16; + description "It identifies a list of NIDs containing up to 16 NIDs, see + TS 38.331. NID is used to combine with PLMN ID to identify an SNPN. + NID is a hexadecimal range with size 44 bit."; + } } } -- GitLab From e965df00cd5c395560edbaaf54e6c81ebbc9f5da Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 25 Mar 2025 23:38:12 +0100 Subject: [PATCH 14/27] removed invariant from attribute comments --- yang-models/_3gpp-common-fm.yang | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index da5d3eaee..4ffc893ce 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -17,6 +17,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-03-25 { reference CR-0026; } revision 2025-02-07 { reference CR-0022 ; } revision 2024-05-12 { description "The definition of the module was moved from TS 28.623 to @@ -106,12 +107,14 @@ module _3gpp-common-fm { type yang:date-and-time; config false; mandatory true; + yext3gpp:inVariant; description "Date and Time the comment was created."; } leaf commentUserId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the user who made the comment."; } @@ -119,6 +122,7 @@ module _3gpp-common-fm { leaf commentSystemId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the system ( Management System) from which the comment is made. That system supports the user that made the comment."; @@ -127,6 +131,7 @@ module _3gpp-common-fm { leaf commentText { type string; mandatory true; + yext3gpp:inVariant; description "It carries the textual comment."; } } @@ -344,7 +349,6 @@ module _3gpp-common-fm { } list comments { - yext3gpp:inVariant; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; -- GitLab From 3d87e46c59f9bc544088dd812afb96c3b5443911 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 26 Mar 2025 00:06:11 +0100 Subject: [PATCH 15/27] corrected spelling of MeContext --- yang-models/_3gpp-common-mecontext.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index ed183f1a7..b1a261872 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -24,6 +24,7 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-03-24 { reference "CR-0517 CR-0382 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } grouping MeContextGrp { @@ -39,7 +40,7 @@ module _3gpp-common-mecontext { } augment "/subnet3gpp:SubNetwork" { - list Mecontext { + list MeContext { description "This IOC is introduced for naming purposes. It may support creation of unique DNs in scenarios when some MEs have the same RDNs due to the fact that they have been manufacturer pre-configured. -- GitLab From 664a6d008d9bc5e740455a63bad1392e26e7691d Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 26 Mar 2025 02:27:09 +0100 Subject: [PATCH 16/27] corrected containment of dynamic5qiset --- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 12ef3c65c..cf9383462 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -6,6 +6,9 @@ module _3gpp-5gc-nrm-dynamic5qiset { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } organization "3gpp SA5"; @@ -16,6 +19,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-01-07 { reference CR-0643; } @@ -52,11 +56,41 @@ module _3gpp-5gc-nrm-dynamic5qiset { } } - augment "/subnet3gpp:SubNetwork" { + feature Dynamic5QISetUnderSubNetwork { + description "Dynamic5QISet shall be contained under SubNetwork."; + } + augment "/subnet3gpp:SubNetwork" { + if-feature Dynamic5QISetUnderSubNetwork; uses Dynamic5QISetSubtree; } + feature Dynamic5QISetUnderManagedElement { + description "Dynamic5QISet shall be contained under ManagedElement."; + } augment "/me3gpp:ManagedElement" { + if-feature Dynamic5QISetUnderManagedElement; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBDUFunction { + description "Dynamic5QISet shall be contained under GNBDUFunction."; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature Dynamic5QISetUnderGNBDUFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUCPFunction { + description "Dynamic5QISet shall be contained under GNBCUCPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUUPFunction { + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { uses Dynamic5QISetSubtree; } } \ No newline at end of file -- GitLab From ee24573dfadd30d295e9d6695abd5e13731c90d1 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 27 Mar 2025 20:28:56 +0100 Subject: [PATCH 17/27] added invariant to dnprefix --- yang-models/_3gpp-common-managed-element.yang | 4 +++- yang-models/_3gpp-common-mecontext.yang | 3 +++ yang-models/_3gpp-common-subnetwork.yang | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index d8ab19d68..785522ae4 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -4,6 +4,7 @@ module _3gpp-common-managed-element { prefix "me3gpp"; import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -35,7 +36,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2024-11-19 { reference "Add STM"; } + revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } @@ -147,6 +148,7 @@ module _3gpp-common-managed-element { A Distingushed Name(DN) is defined by 3GPP TS 32.300, which splits the DN into a DN Prefix and Local DN"; type types3gpp:DistinguishedName; + yext3gpp:inVariant; } leaf userLabel { diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index b1a261872..5b6b0c0ad 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -4,6 +4,7 @@ module _3gpp-common-mecontext { prefix "mectx3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import ietf-yang-schema-mount { prefix yangmnt; } @@ -24,6 +25,7 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-03-25 { reference "CR-0516"; } revision 2025-03-24 { reference "CR-0517 CR-0382 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } @@ -32,6 +34,7 @@ module _3gpp-common-mecontext { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; description "It carries the DN Prefix information or no information. The instance of MeContext is the local root instance of the MIB. Otherwise the attribute shall be absent or carry no information."; diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 59868e1c6..e4fafa21f 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -4,6 +4,7 @@ module _3gpp-common-subnetwork { prefix "subnet3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -35,6 +36,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-03-25 { reference "CR-0516"; } revision 2024-11-19 { reference "Add STM"; } revision 2024-01-30 { reference CR-1337 ; } revision 2024-01-30 { reference CR-0328 ; } @@ -158,6 +160,7 @@ module _3gpp-common-subnetwork { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } -- GitLab From 5193c6717b558d6695d58526b2f375893cf2fe2e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 27 Mar 2025 20:35:54 +0100 Subject: [PATCH 18/27] corrected if-feature --- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index cf9383462..c14d427de 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -84,6 +84,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { description "Dynamic5QISet shall be contained under GNBCUCPFunction."; } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature Dynamic5QISetUnderGNBCUCPFunction; uses Dynamic5QISetSubtree; } @@ -91,6 +92,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { description "Dynamic5QISet shall be contained under GNBCUUPFunction."; } augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file -- GitLab From 167be630c354913209b28c4b3b124142fcaca8da Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 27 Mar 2025 22:50:20 +0100 Subject: [PATCH 19/27] Add and update NFProfile-related YANG models including HssInfoGrp, GmlcFunction, and other fixes foryang validation --- yang-models/_3gpp-5g-common-yang-types.yang | 45 +++ yang-models/_3gpp-5gc-nrm-amffunction.yang | 7 +- yang-models/_3gpp-5gc-nrm-gmlcfunction.yang | 114 ++++++ yang-models/_3gpp-5gc-nrm-lmffunction.yang | 6 +- yang-models/_3gpp-5gc-nrm-neffunction.yang | 6 +- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 353 +++++++++++++++--- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 4 +- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 1 + 8 files changed, 466 insertions(+), 70 deletions(-) create mode 100644 yang-models/_3gpp-5gc-nrm-gmlcfunction.yang diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 421940541..9ecc12b82 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -14,6 +14,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-05-24 { reference CR-1273 ; } @@ -192,6 +193,50 @@ module _3gpp-5g-common-yang-types { type string; } } + grouping TaiRangeGrp { + list plmnId { + description "PLMN ID related to the TacRange."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list tacRangeList { + description "The range of the TACs."; + min-elements 1; + key "start end"; + uses TacRange; + } + } + + grouping TacRange { + leaf start { + description "First value identifying the start of a TAC range, + to be used when the range of TAC's can be represented + as a hexadecimal range (e.g., TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; + } + } + + leaf end { + description "Last value identifying the end of a TAC range, + to be used when the range of TAC's can be represented as + a hexadecimal range (e.g. TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; + } + } + + leaf nRTACpattern { + description "Pattern (regular expression according to the ECMA-262) + representing the set of TAC's belonging to this range. + A TAC value is considered part of the range if and only if the + TAC string fully matches the regular expression."; + type string; + } + } grouping SupportedFunc { leaf function { diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index cf6b290f2..c810e811d 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -10,7 +10,7 @@ module _3gpp-5gc-nrm-amffunction { import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -18,7 +18,8 @@ module _3gpp-5gc-nrm-amffunction { Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-04-04 { reference CR-1139; } @@ -392,7 +393,7 @@ module _3gpp-5gc-nrm-amffunction { description "The range of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list gUAMIdList { diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang new file mode 100644 index 000000000..689f35673 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -0,0 +1,114 @@ +module _3gpp-5gc-nrm-gmlcfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-gmlcfunction"; + prefix gmlc3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This module defines the GMLC Function IOC per 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved.";"; + reference "3GPP TS 28.541"; + + revision 2025-03-25 { reference CR-1489 ; } + revision 2025-03-25 { + description "Initial revision."; + reference "3GPP TS 28.541"; + } + + grouping GmlcInfoGrp { + description "Information of a GMLC NF Instance (see TS 29.510, clause 6.1.6.2.41)."; + + leaf servingClientTypes { + description "Identity of the GMLC group that is served by the GMLC instance."; + type enumeration { + enum EMERGENCY_SERVICES { + description "External client for emergency services"; + } + enum VALUE_ADDED_SERVICES { + description "External client for value added services"; + } + enum PLMN_OPERATOR_SERVICES { + description "External client for PLMN operator services"; + } + enum LAWFUL_INTERCEPT_SERVICES { + description "External client for Lawful Intercept services"; + } + enum EXTERNAL_CLIENT_FOR_LAWFUL_INTERCEPT_SERVICES { + description "External client for PLMN Operator Broadcast services"; + } + enum PLMN_OPERATOR_OM { + description "External client for PLMN Operator O&M"; + } + enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { + description "External client for PLMN Operator anonymous statistics"; + } + enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { + description "External client for PLMN Operator target MS service support"; + } + } + + } + leaf gmlcNumbers{ + type string{ + pattern "^[0-9]{5,15}$"; + } + description "This attribute represents each item of the array + shall carry an OctetString indicating the ISDN number of the GMLC in + international number format as described in ITU-T Rec. E.164 [94] and + shall be encoded as a TBCD-string."; + + } + } + + grouping GMLCFunctionGrp { + description "GMLC Function IOC grouping."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + key "idx"; + leaf idx { type uint32; } + min-elements 1; + uses types3gpp:PLMNId; + uses types5g3gpp:SNssai; + } + leaf sBIFqdn { + type string; + description "FQDN of the registered NF instance in the service-based interface."; + } + list managedNFProfile { + description "This parameter defines profile for managed NF. See TS 23.501"; + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + list commModelList { + key "groupId"; + min-elements 1; + uses types5g3gpp:CommModel; + } + list gmlcInfo { + key "idx"; + leaf idx { type uint32; } + max-elements 1; + uses GmlcInfoGrp; + } + } + augment "/me3gpp:ManagedElement" { + list GMLCFunction { + description "5G Core LMF Function defined in TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GMLCFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang index 2a612372f..af59f9fab 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -9,7 +9,6 @@ module _3gpp-5gc-nrm-lmffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } organization "3gpp SA5"; @@ -18,7 +17,8 @@ module _3gpp-5gc-nrm-lmffunction { Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5193518"; } @@ -125,7 +125,7 @@ module _3gpp-5gc-nrm-lmffunction { min-elements 1; key idx; leaf idx { type uint32; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf-list supportedGADShapes { diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 1c48c30c8..8e1a8a514 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -20,13 +20,13 @@ module _3gpp-5gc-nrm-neffunction { Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2024-05-18 { reference CR-1273 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-09-18 { reference CR-1103 ; } revision 2023-09-18 { reference CR-1043 ; } - revision 2023-04-26 { reference CR-0916; } + revision 2023-04-26 { reference CR-0916 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-20 { reference "initial revision"; } @@ -164,7 +164,7 @@ module _3gpp-5gc-nrm-neffunction { yext3gpp:notNotifyable; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf nefId { diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 35ed626ff..696f47231 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -8,7 +8,11 @@ module _3gpp-5gc-nrm-nfprofile { import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } - + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } + import _3gpp-5gc-nrm-lmffunction {prefix lmf3gpp; } + import _3gpp-5gc-nrm-gmlcfunction {prefix gmlc3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. @@ -16,6 +20,7 @@ module _3gpp-5gc-nrm-nfprofile { TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-11-18 { reference CR-1103 ; } @@ -340,7 +345,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; key idx; leaf idx { type uint32; } - uses TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list backupInfoAmfFailure { @@ -411,7 +416,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; key idx; leaf idx { type uint32; } - uses TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } leaf pgwFqdn { @@ -580,7 +585,140 @@ module _3gpp-5gc-nrm-nfprofile { uses types3gpp:PLMNId; } } - + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; + + leaf-list accessType { + description "It provides the condition of access type of the UE when + the session AMBR shall be enforced, see TS 29.512 [60].If this + attribute is included in SmfInfo, it shall contain the access type + (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not + included, it shall be assumed the both access types are supported."; + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + min-elements 1; + max-elements 2; + } + leaf-list dnnList { + description "It represents the DNNs supported by the PCF. The DNN, + as defined in clause 9A of TS 23.003 [13], shall contain the Network + Identifier and it may additionally contain an Operator Identifier, + as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator + Identifier is not included, the DNN is supported for all the PLMNs in + the plmnList of the NF Profile.If not provided, the PCF can serve any + DNN."; + min-elements 1; + type string; + } + leaf-list gmFqdn { + description "This attribute represents FQDN of the P-CSCF for the Gm + interface.."; + max-elements 1; + type string; + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of + the P-CSCF for the Gm interface."; + type inet:ipv4-address; + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the + P-CSCF for the Gm interface."; + type inet:ipv6-address; + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw + interface."; + type string; + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + type inet:ipv4-address; + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; + } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + grouping HssInfoGrp { + description " Information of an HSS NF Instance"; + leaf groupID{ + description "This attribute defines the identity of the HSS group + that is served by the HSS instance.If not provided, the HSS instance + does not pertain to any HSS group."; + type string; + } + list imsiRanges { + description "This attribute defines the list of ranges of IMSIs whose + profile data is available in the HSS instance."; + min-elements 1; + key "id"; + uses ImsiRange; + } + list imsPrivateIdentityRanges{ + description "This attribute defines the list of ranges of IMS Private + Identities whose profile data is available in the HSS instance."; + min-elements 1; + key "id"; + uses IdentityRange; + } + list imsPublicIdentityRanges{ + description "This attribute defines the list of ranges of MSISDNs whose + profile data is available in the HSS instance. "; + min-elements 1; + key "id"; + uses IdentityRange; + } + list msisdnRanges{ + description "This attribute defines the list of ranges of IMS Public + Identities whose profile data is available in the HSS instance "; + min-elements 1; + key "id"; + uses IdentityRange; + } + list externalGroupIdentifiersRanges{ + description "This attribute defines the list of ranges of external + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; + min-elements 1; + key "id"; + uses IdentityRange; + } + list hssDiameterAddress{ + description "This attribute defines the Diameter Address of the HSS "; + max-elements 1; + uses NetworkNodeDiameterAddress; + } + list additionalDiamAddresses{ + description "This attribute defines the Additional Diameter Addresses + of the HSS;may be present if hssDiameterAddress is present "; + min-elements 1; + + uses NetworkNodeDiameterAddress; + } + + list dnnUpfInfoList { + description "List of parameters supported by the UPF per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItem; + } + } grouping nrfInfoGrp { list servedUdrInfo { @@ -726,8 +864,95 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses chfInfo; } + + list servedNwdafInfo { + description "This attribute contains all the nwdafInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nwdafInfo belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses nwdaf3gpp:NwdafInfoGrp; + } + list servedPcscfInfoList { + description "This attribute contains all the pcscfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId to which + the map entry belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses pcscfInfo; + } + list servedGmlcInfo { + description "This attribute contains all the gmlcInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nefInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses gmlc3gpp:GmlcInfoGrp; + } + list servedLmfInfo { + description "This attribute contains all the lmfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the lmfInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses lmf3gpp:LmfInfoGrp; + } + list servedNfInfo { + description "This attribute contains information of other NFs + without corresponding NF type specific Info extensions locally + configured in the NRF or the NRF received during NF registration. + The key of the map is the nfInstanceId of the NF. The map entry + is the NfInfo as defined in clause 5.3.229 representing the + information of a generic NF instance."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses nfInfoGrp; + } + list servedHssInfoList { + description "This attribute contains list of HssInfo attribute + locally configured in the NRF or that the NRF received during NF + registration. The key of the map is the nfInstanceId to which the + map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + min-elements 1; + uses HssInfoGrp; + } } - list nrfInfo { description "nrfinfo"; key idx; @@ -735,6 +960,21 @@ module _3gpp-5gc-nrm-nfprofile { max-elements 1; uses nrfInfoGrp; } + list nfInfo { + description "nrfinfo"; + key idx; + leaf idx { type uint32; } + max-elements 1; + uses nfInfoGrp; + } + grouping nfInfoGrp { + description "This data type represents the information of a + generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23])."; + leaf nfType { + description "This parameter defines type of Network Function"; + type uint16; + } + } leaf customInfo { description "Specific data for custom Network Functions."; @@ -887,34 +1127,6 @@ module _3gpp-5gc-nrm-nfprofile { } } - grouping TacRange { - leaf start { - description "First value identifying the start of a TAC range, - to be used when the range of TAC's can be represented - as a hexadecimal range (e.g., TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; - } - } - - leaf end { - description "Last value identifying the end of a TAC range, - to be used when the range of TAC's can be represented as - a hexadecimal range (e.g. TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; - } - } - - leaf nRTACpattern { - description "Pattern (regular expression according to the ECMA-262) - representing the set of TAC's belonging to this range. - A TAC value is considered part of the range if and only if the - TAC string fully matches the regular expression."; - type string; - } - } - grouping SnssaiUpfInfoItem { list sNssai { description "Supported S-NSSAI."; @@ -923,15 +1135,8 @@ module _3gpp-5gc-nrm-nfprofile { key "sst sd"; uses Snssai; } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } } - + grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; @@ -1056,24 +1261,7 @@ module _3gpp-5gc-nrm-nfprofile { enum N9; } } - - grouping TaiRangeGrp { - list plmnId { - description "PLMN ID related to the TacRange."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list tacRangeList { - description "The range of the TACs."; - min-elements 1; - key "start end"; - uses TacRange; - } - } - + typedef AccessType { type enumeration { enum 3GPP_ACCESS; @@ -1158,4 +1346,51 @@ module _3gpp-5gc-nrm-nfprofile { uses Snssai; } } + grouping ImsiRange{ + leaf-list start{ + description "This attribute indicates the first value identifying + the start of a IMSI range. "; + max-elements 1; + type string{ + pattern "^[0-9]+$"; + } + } + leaf-list end{ + description "This attribute indicates the last value identifying + the end of a IMSI range."; + max-elements 1; + type string{ + pattern "^[0-9]+$"; + } + } + leaf-list pattern{ + description "This attribute indicates pattern (regular expression + according to the ECMA-262 dialect [75]) representing the set of + IMSIs belonging to this range. An IMSI value is considered part + of the range if and only if the IMSI string fully matches the + regular expression.Either the start and end attributes, or the + pattern attribute, shall be present."; + max-elements 1; + type string; + } + } + grouping NetworkNodeDiameterAddress { + leaf-list name{ + description "This attribute indicates the Diameter + name of the network node diameter address."; + reference " See TS 29.571 [61]. String contains a Diameter Identity + (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + leaf-list realm{ + description "This attribute indicates the Diameter realm of the + network node diameter addres. See TS 29.571 [61]. String contains + a Diameter Identity (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + } } diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index be566c2b3..56ddd282c 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -11,7 +11,6 @@ module _3gpp-5gc-nrm-nwdaffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -21,6 +20,7 @@ module _3gpp-5gc-nrm-nwdaffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } revision 2024-04-12 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } @@ -203,7 +203,7 @@ module _3gpp-5gc-nrm-nwdaffunction { key idx ; leaf idx { type uint32; } description "The range of TAIs."; - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } list nwdafCapability { diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index ca2dc8cbc..22346b760 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-10-04 { reference "CR-0393"; } -- GitLab From b410a0375e1d0e69d1bb016ab22c2fc0eed7861a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 27 Mar 2025 23:34:21 +0100 Subject: [PATCH 20/27] small updates --- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 2 +- yang-models/_3gpp-common-managed-element.yang | 2 +- yang-models/_3gpp-common-mecontext.yang | 4 ++-- yang-models/_3gpp-common-subnetwork.yang | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index c14d427de..9e3a4a1c0 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -15,7 +15,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the dynamic 5QIs including their QoS characteristics. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 785522ae4..40fb72275 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -21,7 +21,7 @@ module _3gpp-common-managed-element { description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index 5b6b0c0ad..9a5b420ec 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -13,7 +13,7 @@ module _3gpp-common-mecontext { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic MeContext which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -25,7 +25,7 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; - revision 2025-03-25 { reference "CR-0516"; } + revision 2025-03-25 { reference "CR-00525"; } revision 2025-03-24 { reference "CR-0517 CR-0382 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index e4fafa21f..8f0b9787e 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -21,7 +21,7 @@ module _3gpp-common-subnetwork { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic SubNetwork which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 20254, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) -- GitLab From ac76dc59dcc5544c19933ea671f8d01e0b235bab Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 28 Mar 2025 00:48:54 +0100 Subject: [PATCH 21/27] small updates 2 --- yang-models/_3gpp-common-mecontext.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index 9a5b420ec..9f5dceae0 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -26,7 +26,7 @@ module _3gpp-common-mecontext { Information Service (IS)"; revision 2025-03-25 { reference "CR-00525"; } - revision 2025-03-24 { reference "CR-0517 CR-0382 CR-0516"; } + revision 2025-03-24 { reference "CR-0517 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } grouping MeContextGrp { -- GitLab From 39adf37d9ff73339885f36752564371dd6356679 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 28 Mar 2025 09:43:29 +0100 Subject: [PATCH 22/27] added ProSeCapability to _3gpp-5gc-nrm-nfprofile.yang and corrected yang errors --- yang-models/_3gpp-5gc-nrm-gmlcfunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 141 ++++++++++++++++++-- 2 files changed, 130 insertions(+), 13 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang index 689f35673..f516d33f7 100644 --- a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -13,7 +13,7 @@ module _3gpp-5gc-nrm-gmlcfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This module defines the GMLC Function IOC per 3GPP TS 28.541. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved.";"; + TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2025-03-25 { reference CR-1489 ; } diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 696f47231..534e310d3 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -272,7 +272,7 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } - + grouping ausfInfo { leaf groupId { @@ -486,7 +486,68 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } - + grouping ProSeCapability { + leaf proseDirectDiscovery { + type boolean; + description "Indicates support for ProSe Direct Discovery."; + } + leaf proseDirectCommunication { + type boolean; + description "Indicates support for ProSe Direct Communication."; + } + leaf proseL2UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-2 UE-to-Network Relay.."; + } + leaf proseL3UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE-to-Network Relay."; + } + leaf proseL2RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-2 Remote UE."; + } + leaf proseL3RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-3 Remote UE."; + } + leaf proseL2UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-2 UE-to-UE Relay."; + } + leaf proseL3UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE-to-UE Relay."; + } + leaf proseL2EndUe { + type boolean; + description "Indicates support for ProSe Layer-2 End UE."; + } + leaf proseL3EndUe { + type boolean; + description "Indicates support for ProSe Layer-3 End UE."; + } + leaf proseL3IntermRelay { + type boolean; + description "Indicates support for ProSe Layer-3 Intermediate Relay."; + } + leaf proseL3MultihopRemote { + type boolean; + description "Indicates support for ProSe Layer-3 Multihop Remote."; + } + leaf proseL3NetMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 Network Multihop Relay."; + } + leaf proseL3UeMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE Multihop Relay."; + } + leaf proseL3EndUeMultihop { + type boolean; + description "Indicates support for ProSe Layer-3 End UE Multihop."; + } + } grouping pcfInfo { leaf-list dnnList { @@ -522,6 +583,11 @@ module _3gpp-5gc-nrm-nfprofile { type string; } + list proseCapability { + description "It indicates the supported ProSe Capability by the PCF."; + uses ProSeCapability; + config false; + } } grouping bsfInfo { @@ -668,6 +734,10 @@ module _3gpp-5gc-nrm-nfprofile { profile data is available in the HSS instance."; min-elements 1; key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses ImsiRange; } list imsPrivateIdentityRanges{ @@ -675,6 +745,10 @@ module _3gpp-5gc-nrm-nfprofile { Identities whose profile data is available in the HSS instance."; min-elements 1; key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses IdentityRange; } list imsPublicIdentityRanges{ @@ -682,6 +756,10 @@ module _3gpp-5gc-nrm-nfprofile { profile data is available in the HSS instance. "; min-elements 1; key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses IdentityRange; } list msisdnRanges{ @@ -689,6 +767,10 @@ module _3gpp-5gc-nrm-nfprofile { Identities whose profile data is available in the HSS instance "; min-elements 1; key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses IdentityRange; } list externalGroupIdentifiersRanges{ @@ -697,18 +779,31 @@ module _3gpp-5gc-nrm-nfprofile { the HSS instance does not serve any external groups. "; min-elements 1; key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses IdentityRange; } list hssDiameterAddress{ description "This attribute defines the Diameter Address of the HSS "; max-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses NetworkNodeDiameterAddress; } list additionalDiamAddresses{ description "This attribute defines the Additional Diameter Addresses of the HSS;may be present if hssDiameterAddress is present "; min-elements 1; - + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } uses NetworkNodeDiameterAddress; } @@ -718,7 +813,19 @@ module _3gpp-5gc-nrm-nfprofile { key dnn; uses DnnUpfInfoItem; } - } + } + grouping FiveGDdnmfInfo { + description "This data type represents the specific data for the 5G DDMF NF. + See clause 6.1.6.2.74 of TS 29.510."; + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } grouping nrfInfoGrp { list servedUdrInfo { @@ -951,7 +1058,20 @@ module _3gpp-5gc-nrm-nfprofile { } min-elements 1; uses HssInfoGrp; - } + } + list served5gDdnmfInfo { + description "This attribute contains all the 5gDdnmfInfo + attribute locally configured in the NRF or that the NRF + received during NF registration. The key of the map is + the nfInstanceId to which the map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + min-elements 1; + uses FiveGDdnmfInfo ; + } } list nrfInfo { description "nrfinfo"; @@ -1347,30 +1467,27 @@ module _3gpp-5gc-nrm-nfprofile { } } grouping ImsiRange{ - leaf-list start{ + leaf start{ description "This attribute indicates the first value identifying the start of a IMSI range. "; - max-elements 1; type string{ pattern "^[0-9]+$"; } } - leaf-list end{ + leaf end{ description "This attribute indicates the last value identifying the end of a IMSI range."; - max-elements 1; type string{ pattern "^[0-9]+$"; + } } - } - leaf-list pattern{ + leaf pattern{ description "This attribute indicates pattern (regular expression according to the ECMA-262 dialect [75]) representing the set of IMSIs belonging to this range. An IMSI value is considered part of the range if and only if the IMSI string fully matches the regular expression.Either the start and end attributes, or the pattern attribute, shall be present."; - max-elements 1; type string; } } -- GitLab From f302f4163de7b13b44850d15d162a6a3d23c5f08 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 28 Mar 2025 20:38:52 +0100 Subject: [PATCH 23/27] correcting yang validation error --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 5 +---- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 5 +---- yang-models/_3gpp-common-fm.yang | 3 --- yang-models/_3gpp-common-trace.yang | 8 ++------ yang-models/_3gpp-common-yang-types.yang | 4 +--- 5 files changed, 5 insertions(+), 20 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 56cf7c0f0..8b65a1276 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -20,11 +20,8 @@ module _3gpp-5gc-nrm-neffunction { Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; -<<<<<<< HEAD + revision 2025-03-25 { reference CR-1489 ; } -======= - ->>>>>>> ac76dc59dcc5544c19933ea671f8d01e0b235bab revision 2025-01-25 { reference CR-1442 ; } revision 2024-05-18 { reference CR-1273 ; } revision 2024-04-12 { reference CR-1218 ; } diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index acdd5c9a9..1fe9b0671 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -19,11 +19,8 @@ module _3gpp-5gc-nrm-nfprofile { Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; - -<<<<<<< HEAD + revision 2025-03-25 { reference CR-1489 ; } -======= ->>>>>>> ac76dc59dcc5544c19933ea671f8d01e0b235bab revision 2025-01-25 { reference CR-1442 ; } revision 2024-04-12 { reference CR-1218 ; } revision 2023-11-18 { reference CR-1103 ; } diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 996928652..4ffc893ce 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -17,10 +17,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; -<<<<<<< HEAD -======= revision 2025-03-25 { reference CR-0026; } ->>>>>>> ac76dc59dcc5544c19933ea671f8d01e0b235bab revision 2025-02-07 { reference CR-0022 ; } revision 2024-05-12 { description "The definition of the module was moved from TS 28.623 to diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index ab8c69125..2ec6b33ea 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -20,18 +20,14 @@ module _3gpp-common-trace { Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions - 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)" ; -<<<<<<< HEAD -======= - revision 2025-02-07 { reference "CR-0504"; } + revision 2025-02-07 { reference "CR-0504" ; } revision 2025-02-05 { reference "CR-0461" ; } ->>>>>>> ac76dc59dcc5544c19933ea671f8d01e0b235bab - revision 2024-11-25 { reference CR-0492; } + revision 2024-11-25 { reference "CR-0492" ; } revision 2024-11-07 { reference "CR-0480"; } revision 2024-10-01 { reference "CR-0457"; } revision 2024-08-13 { reference "CR-0387 CR-0377"; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 373f25071..e060a1203 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,10 +16,8 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; -<<<<<<< HEAD -======= + revision 2025-02-19 { reference CR-0512; } ->>>>>>> ac76dc59dcc5544c19933ea671f8d01e0b235bab revision 2025-02-07 { reference CR-0492; } revision 2024-11-25 { reference CR-1442; } revision 2024-11-25 { reference CR-1412; } -- GitLab From bb23ae0d975adc369ab7a6b666416cf5ab319d19 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 28 Mar 2025 20:49:16 +0100 Subject: [PATCH 24/27] correcting long line innfprofile --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 28 +++++++++++++++--------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 1fe9b0671..354d8b8ac 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -497,27 +497,33 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL2UetoNetworkRelay { type boolean; - description "Indicates support for ProSe Layer-2 UE-to-Network Relay.."; + description "Indicates support for ProSe Layer-2 + UE-to-Network Relay.."; } leaf proseL3UetoNetworkRelay { type boolean; - description "Indicates support for ProSe Layer-3 UE-to-Network Relay."; + description "Indicates support for ProSe Layer-3 + UE-to-Network Relay."; } leaf proseL2RemoteUe { type boolean; - description "Indicates support for ProSe Layer-2 Remote UE."; + description "Indicates support for ProSe Layer-2 + Remote UE."; } leaf proseL3RemoteUe { type boolean; - description "Indicates support for ProSe Layer-3 Remote UE."; + description "Indicates support for ProSe Layer-3 + Remote UE."; } leaf proseL2UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-2 UE-to-UE Relay."; + description "Indicates support for ProSe Layer-2 + UE-to-UE Relay."; } leaf proseL3UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-3 UE-to-UE Relay."; + description "Indicates support for ProSe Layer-3 + UE-to-UE Relay."; } leaf proseL2EndUe { type boolean; @@ -529,7 +535,8 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL3IntermRelay { type boolean; - description "Indicates support for ProSe Layer-3 Intermediate Relay."; + description "Indicates support for ProSe Layer-3 + Intermediate Relay."; } leaf proseL3MultihopRemote { type boolean; @@ -537,7 +544,8 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL3NetMultihopRelay { type boolean; - description "Indicates support for ProSe Layer-3 Network Multihop Relay."; + description "Indicates support for ProSe Layer-3 Network Multihop + Relay."; } leaf proseL3UeMultihopRelay { type boolean; @@ -989,8 +997,8 @@ module _3gpp-5gc-nrm-nfprofile { } 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 + 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; -- GitLab From d20ac4b8bce24b4d1c06a9edb347a2fe56bf8a54 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 28 Mar 2025 21:42:20 +0100 Subject: [PATCH 25/27] updated subscriptioncontrol --- .../_3gpp-common-subscription-control.yang | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index b637e1ff5..48aa7bb05 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -5,12 +5,13 @@ module _3gpp-common-subscription-control { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - + import ietf-yang-types { prefix yang; } + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines IOCs for subscription and heartbeat control. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -18,6 +19,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-03-24 { reference CR-0516 ; } revision 2024-05-18 { reference CR-0359 ; } revision 2024-01-18 { reference "CR-0309 CR-0329" ; } revision 2023-09-18 { reference CR-0271 ; } @@ -84,11 +86,26 @@ module _3gpp-common-subscription-control { } } case dataNodeSelector { - leaf dataNodeSelector { - type string; + container dataNodeSelector { description "The value shall follow the rules of RFC 8641 filter-spec"; - reference "RFC 8641 section 5."; + reference "RFC 8641 section 5. and ietf-yang-push.yang"; + choice dataNodeSelector { + anydata datastore-subtree-filter { + description "Subtree filter"; + reference + "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; + } + leaf datastore-xpath-filter { + type yang:xpath1.0; + description "XPath-filter"; + reference + "XML Path Language (XPath) Version 1.0 + (https://www.w3.org/TR/1999/REC-xpath-19991116) + RFC 7950: The YANG 1.1 Data Modeling Language, + Section 10"; + } + } } } } @@ -114,7 +131,7 @@ module _3gpp-common-subscription-control { list scope { description "Scopes (selects) data nodes in an object tree."; key idx; - max-elements 8; + max-elements 1; leaf idx { type string; } uses ScopeGrp; } -- GitLab From f454918799553555b0516c03dd4a05a0a034a5a2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 11 Apr 2025 01:10:19 +0200 Subject: [PATCH 26/27] updated thresholdinfo, thereby removed CR22, file is same in R18 and R19 --- yang-models/_3gpp-common-fm.yang | 146 +++++++++++++++++++++++++++++-- 1 file changed, 140 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 4ffc893ce..308f0dfd6 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -7,7 +7,6 @@ module _3gpp-common-fm { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,11 +16,9 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; - revision 2025-03-25 { reference CR-0026; } - revision 2025-02-07 { reference CR-0022 ; } + revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { - description "The definition of the module was moved from TS 28.623 to - TS 28.111"; + description "The definition of the module was from TS 28.623 to TS 28.111"; reference CR-0008 ; } revision 2024-03-06 { reference CR-0333 ; } @@ -136,6 +133,141 @@ module _3gpp-common-fm { } } + grouping ThresholdHysteresisGrp { + description "The ThresholdHysteresis defines the threshold boundaries to + control the hysteresis mechanism. + + The high attribute of ThresholdHysteresis identifies the higher value of + a threshold with hysteris, the integer type is used for counter + thresholds and the float type for gauge thresholds. The low attribute + of ThresholdHysteresis identifies the lower value of a threshold with + hysteresis, applicable only to gauge thresholds."; + + leaf high { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "Higher value of a threshold with hysteris, the integer type + is used for counter thresholds and the float type for gauge + thresholds."; + } + + leaf low { + type decimal64 { + fraction-digits 7; + } + description "Lower value of a threshold with hysteresis, applicable + only to gauge thresholds."; + } + } + + grouping ThresholdLevelIndGrp { + description "The up attribute indicates for counter and gauge thresholds + that the threshold crossing occurred when going up. The down attribute + only indicates for gauge thresholds that the threshold crossing occurred + when going down, applicable only to gauge thresholds."; + + list up { + description "Indicates for counter and gauge thresholds that the + threshold crossing occurred when going up."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + + list down { + description "Indicates for gauge thresholds that the threshold crossing + occurred when going down, applicable only to gauge thresholds."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + } + + grouping ThresholdCrossingGrp { + description "The datatype indicates the crossed threshold + information regardless of the gauge threshold, which represents an + instantaneous value that changes over time, or the counter threshold, + which represents monotonically increasing cumulative quantity. + + The observedMeasurement attribute of TheresholdInfo specifies the name + of the monitored measurement that crossed the threshold and that + caused the notification (Rec. ITU-T X. 733[8]). The observedValue + attribute indicates the value of the gauge or counter which crossed + the threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. Integer values + are used for counters and float values for gauges (Rec. ITU-T X. 733). + Note that a 'number' type property can contain both integers and + floating point numbers. + + For the thresholdLevel attribute, in the case of a gauge, it specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case of + a counter, it specifies only the threshold value (Rec. ITU-T X. 733). + + For the armTime attribute, for a gauge threshold, it specifies the + time at which the threshold was last re-armed, namely the time after + the previous threshold crossing at which the hysteresis value of the + threshold was exceeded thus again permitting generation of + notifications when the threshold is crossed; for a counter threshold, + the later of the time at which the threshold offset was last applied, + or the time at which the counter was last initialized (for resettable + counters) (Rec. ITU-T X. 733)."; + + leaf observedMeasurement { + type string; + mandatory true; + description "The name of the monitored measurement that crossed the + threshold and that caused the notification (Rec. ITU-T X. 733 "; + } + + leaf observedValue { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "The value of the gauge or counter which crossed the + threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. + Integer values are used for counters and float values for gauges + (Rec. ITU-T X. 733). Note that a 'number' type property can contain + both integers and floating point numbers."; + } + + list thresholdLevel { + description "In the case of a gauge the threshold level specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case + of a counter the threshold level specifies only the threshold value + (Rec. ITU-T X. 733)."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdLevelIndGrp; + } + + leaf armTime { + type yang:date-and-time; + description "For a gauge threshold, the time at which the threshold + was last re-armed, namely the time after the previous threshold + crossing at which the hysteresis value of the threshold was + exceeded thus again permitting generation of notifications when the + threshold is crossed. For a counter threshold, the later of the time + at which the threshold offset was last applied, or the time at + which the counter was last initialized (for resettable counters) + (Rec. ITU-T X. 733)"; + } + } + grouping AlarmRecordGrp { description "Contains alarm information of an alarmed object instance. A new record is created in the alarm list when an alarmed object @@ -267,7 +399,9 @@ module _3gpp-common-fm { config false ; yext3gpp:notNotifyable; description "Indicates the crossed threshold"; - uses meas3gpp:ThresholdInfoGrp; + key idx; + leaf idx { type int32; } + uses ThresholdCrossingGrp; } list stateChangeDefinition { -- GitLab From 82920df312a3084235d073c042245c5636717630 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 11 Apr 2025 01:33:21 +0200 Subject: [PATCH 27/27] updated date of common-files as the previous date was used also in r18 --- yang-models/_3gpp-common-files.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index 726292a70..fb22a847a 100644 --- a/yang-models/_3gpp-common-files.yang +++ b/yang-models/_3gpp-common-files.yang @@ -25,7 +25,7 @@ module _3gpp-common-files { Integration Reference Point (IRP); Information Service (IS)"; - revision 2024-05-11 { reference CR-0362 ; } + revision 2024-05-25 { reference CR-0362 ; } revision 2023-09-18 { reference CR-0271 ; } revision 2022-09-28 { reference CR-0191; } -- GitLab