From 574a9a086bce8b2dd5e8b2c5487775ad7ba104d0 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 16 Jun 2025 15:03:33 +0200 Subject: [PATCH] Locally rebased Integration_Rel19_SA5_161_YANG --- yang-models/_3gpp-5g-common-yang-types.yang | 47 +- yang-models/_3gpp-5gc-nrm-amffunction.yang | 24 +- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 40 +- yang-models/_3gpp-5gc-nrm-gmlcfunction.yang | 114 +++++ yang-models/_3gpp-5gc-nrm-lmffunction.yang | 8 +- yang-models/_3gpp-5gc-nrm-neffunction.yang | 7 +- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 484 +++++++++++++++--- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 6 +- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 31 +- yang-models/_3gpp-5gc-nrm-stmfunction.yang | 103 ---- yang-models/_3gpp-common-antennafunction.yang | 196 +++++++ yang-models/_3gpp-common-files.yang | 12 +- yang-models/_3gpp-common-fm.yang | 155 +++++- yang-models/_3gpp-common-managed-element.yang | 18 +- .../_3gpp-common-managed-function.yang | 279 +++++----- yang-models/_3gpp-common-measurements.yang | 3 +- yang-models/_3gpp-common-mecontext.yang | 8 +- .../_3gpp-common-sectorequipmentfunction.yang | 88 ++++ yang-models/_3gpp-common-subnetwork.yang | 47 +- .../_3gpp-common-subscription-control.yang | 144 +++++- yang-models/_3gpp-common-trace.yang | 158 +++--- yang-models/_3gpp-common-yang-types.yang | 1 + .../_3gpp-engy-nrm-energyinformation.yang | 196 +++++++ .../_3gpp-nr-nrm-danrmanagementfunction.yang | 4 +- ...3gpp-nr-nrm-drachoptimizationfunction.yang | 11 +- yang-models/_3gpp-nr-nrm-ecmappingrule.yang | 10 +- yang-models/_3gpp-nr-nrm-ep.yang | 79 ++- yang-models/_3gpp-nr-nrm-eutranetwork.yang | 57 +-- yang-models/_3gpp-nr-nrm-eutranfrequency.yang | 32 +- .../_3gpp-nr-nrm-externalamffunction.yang | 16 +- .../_3gpp-nr-nrm-externalenbfunction.yang | 32 +- .../_3gpp-nr-nrm-externaleutrancell.yang | 35 +- .../_3gpp-nr-nrm-externalgnbcucpfunction.yang | 48 +- .../_3gpp-nr-nrm-externalgnbcuupfunction.yang | 48 +- .../_3gpp-nr-nrm-externalgnbdufunction.yang | 58 ++- .../_3gpp-nr-nrm-externalnrcellcu.yang | 66 +-- ...3gpp-nr-nrm-externalservinggwfunction.yang | 8 +- .../_3gpp-nr-nrm-externalupffunction.yang | 12 +- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 22 +- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 14 +- yang-models/_3gpp-nr-nrm-mwab.yang | 76 +++ yang-models/_3gpp-nr-nrm-nrfrequency.yang | 40 +- yang-models/_3gpp-nr-nrm-nrnetwork.yang | 39 +- .../_3gpp-nr-nrm-nroperatorcelldu.yang | 4 +- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 5 +- yang-models/_3gpp-nr-nrm-operatordu.yang | 13 +- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 16 +- yang-models/_3gpp-stm-nrm-stmfunction.yang | 191 +++++++ 48 files changed, 2343 insertions(+), 762 deletions(-) create mode 100644 yang-models/_3gpp-5gc-nrm-gmlcfunction.yang delete mode 100644 yang-models/_3gpp-5gc-nrm-stmfunction.yang create mode 100644 yang-models/_3gpp-common-antennafunction.yang create mode 100644 yang-models/_3gpp-common-sectorequipmentfunction.yang create mode 100644 yang-models/_3gpp-engy-nrm-energyinformation.yang create mode 100644 yang-models/_3gpp-nr-nrm-mwab.yang create mode 100644 yang-models/_3gpp-stm-nrm-stmfunction.yang diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 421940541..0fd31f956 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -10,10 +10,11 @@ module _3gpp-5g-common-yang-types { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "The model defines common types for 5G networks and network slicing. - Copyright 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-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..4fe06e700 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -10,15 +10,17 @@ 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; } + import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "AMFFunction derived from basic ManagedFunction. - 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-03-25 { reference "CR-1489 CR-1512" ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-04-04 { reference CR-1139; } @@ -392,7 +394,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 { @@ -454,7 +456,10 @@ module _3gpp-5gc-nrm-amffunction { } grouping AMFFunctionGrp { - description "Represents the AMFFunction IOC"; + description "Represents the AMFFunction IOC. + This IOC contains instances of NTNTimeBasedConfig to support + time-based configuration of the following NTN related entities: + AMFFunction and EP_N2."; uses mf3gpp:ManagedFunctionGrp; list pLMNInfoList { @@ -580,6 +585,15 @@ module _3gpp-5gc-nrm-amffunction { type types3gpp:DistinguishedName; description "This is the DN of AMFSet"; } + + list NTNTimeBasedConfig { + description "This is the NTN time-based configuration."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ntn3gpp:NTNTimeBasedConfigGrp; + } + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 12ef3c65c..9e3a4a1c0 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -6,16 +6,20 @@ 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"; 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"; + 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,43 @@ 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" { + if-feature Dynamic5QISetUnderGNBCUCPFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUUPFunction { + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang new file mode 100644 index 000000000..f516d33f7 --- /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..b7b954153 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -9,16 +9,16 @@ 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"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the LMF function defined in 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-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..8b65a1276 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -20,13 +20,14 @@ 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 +165,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..354d8b8ac 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -8,14 +8,19 @@ 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. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 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 ; } @@ -267,7 +272,7 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } - + grouping ausfInfo { leaf groupId { @@ -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 { @@ -481,7 +486,76 @@ 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 { @@ -517,6 +591,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 { @@ -580,7 +659,181 @@ 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"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses ImsiRange; + } + list imsPrivateIdentityRanges{ + description "This attribute defines the list of ranges of IMS Private + Identities whose profile data is available in the HSS instance."; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + 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"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + 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"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + 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"; + 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; + } + + list dnnUpfInfoList { + description "List of parameters supported by the UPF per DNN."; + min-elements 1; + 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 { @@ -726,8 +979,108 @@ 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 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"; key idx; @@ -735,6 +1088,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 +1255,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 +1263,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 +1389,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 +1474,48 @@ module _3gpp-5gc-nrm-nfprofile { uses Snssai; } } + grouping ImsiRange{ + leaf start{ + description "This attribute indicates the first value identifying + the start of a IMSI range. "; + type string{ + pattern "^[0-9]+$"; + } + } + leaf end{ + description "This attribute indicates the last value identifying + the end of a IMSI range."; + type string{ + pattern "^[0-9]+$"; + } + } + 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."; + 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..3ed04046e 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -11,16 +11,16 @@ 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"; description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, 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-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..34db5ada0 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -14,10 +14,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the predefined PCC rules, which are configured to SMF and referenced by PCF. - Copyright 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-04-25 { reference CR-1520 ; } + 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"; } @@ -608,6 +610,33 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; uses TscaiInputContainer; } + leaf easRedisIndRequired { + type boolean; + default false; + description "Indicates whether the EAS rediscovery is required for the application."; + } + leaf tscaiTimeDom { + type uint32; + description "Indicates the (g)PTP domain that the (TSN)AF is located in."; + } + leaf capBatNotificationCapable { + type boolean; + default false; + description "Indicates the capability for AF to adjust the burst sending time."; + } + leaf ueNotifEnabled { + type boolean; + default false; + description "Indicates whether QoS flow parameter signalling to the UE is enabled (TRUE), when the SMF is notified by the NG-RAN of changes in the fulfilled QoS situation,"; + } + leaf packFiltAllPrec { + type uint32; + description "Determines the order of TFT packet filter allocation for PCC rules."; + } + leaf nscSupportedFeats { + type uint32; + description "Indicates the Network Function Service Consumer features supported per service."; + } } grouping PredefinedPccRuleSetGrp { diff --git a/yang-models/_3gpp-5gc-nrm-stmfunction.yang b/yang-models/_3gpp-5gc-nrm-stmfunction.yang deleted file mode 100644 index 5ad40a9c2..000000000 --- a/yang-models/_3gpp-5gc-nrm-stmfunction.yang +++ /dev/null @@ -1,103 +0,0 @@ -module _3gpp-5gc-nrm-stmfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-stmfunction; - prefix stm3gpp; - - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the STM function defined in 3GPP TS 28.abc. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 28.abc - Signalling traffic monitoring management"; - - revision 2024-11-07 { reference "S5-247077"; } - - grouping StmCtrlGrp { - description "Represents the StmCtrl IOC."; - - leaf-list reportingNFList { - type types3gpp:DistinguishedName; - description "List of Network Function Distinguished Name, which - specifies the target network interface type to be monitored. If - this parameter is not present or it is empty, then all applicable - interface types from the target NF shall be monitored"; - } - - leaf-list networkInterfaceTypeList { - type enumeration { - enum ALL; - enum N4; - enum N5; - enum N7; - enum N8; - enum N10; - enum N11; - enum N12; - enum N13; - enum N14; - enum N15; - enum N22; - enum N58; - enum N59; - enum N80; - enum N81; - } - default ALL; - description "List of network interface type. it specifies the network - function whose signalling traffic is to be monitored. If this - parameter is not present or it is empty, then all Network Functions - within the SubNetwork or ManagedElement shall be monitored. This - parameter shall be omitted if the STM control object is specified - under a ManagedFunction. "; - reference "Clause 4.2.3 of 3GPP TS 23.501 for details on the - allowed values."; - } - - leaf stmTargetUri { - type inet:uri; - mandatory true; - description "It specifies the Uniform Resource Identifier (URI) of the STM - consumer that shall receive the monitored signalling message copies "; - reference "Clause 4.4 of 3GPP TS 32.158"; - } - - leaf administrativeState { - default LOCKED; - type types3gpp:BasicAdministrativeState ; - description "It is used by the STM consumer to lock or unlock the - StmCtrl instance in order to stop or start the signalling traffic - monitoring"; - } - - leaf operationalState { - config false; - mandatory true; - type types3gpp:OperationalState ; - description "It is used by STM consumer to report its working state"; - } - } - - grouping StmCtrlSubTree { - description "Contains classes that manage Signalling traffic monitoring - management"; - - list StmCtrl { - description "This IOC represents the STM Control and Configuration - parameters of a particular STM controlling. It can be - name-contained by SubNetwork, ManagedElement, or ManagedFunction."; - - key id; - uses top3gpp:Top_Grp ; - container attributes { - uses StmCtrlGrp ; - } - - } - } -} \ No newline at end of file diff --git a/yang-models/_3gpp-common-antennafunction.yang b/yang-models/_3gpp-common-antennafunction.yang new file mode 100644 index 000000000..330c5c748 --- /dev/null +++ b/yang-models/_3gpp-common-antennafunction.yang @@ -0,0 +1,196 @@ +module _3gpp-common-antennafunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-antennafunction"; + prefix "antfunc3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Antenna Function Information + Object Class (IOC) that is part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.662 Generic Network Resource Model (NRM)"; + + revision 2025-05-01 { description "Initial revision"; + } + grouping AntennaFunctionGrp { + description "Represents the AntennaFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf beamTilt { + description "The beam tilt of the wanted antenna beam + in the vertical plane. A positive value on the + beamtilt indicates an antenna beam direction below the + vertical plane."; + units degree; + type types3gpp:TenthOfDegrees; + } + + leaf bearing { + description "The bearing in degrees that the antenna is pointing in. + AllowedValues: See \"Antenna bearing\" in 3GPP TS 25.463."; + reference "3GPP TS 25.463, UTRAN Iuant interface: + Remote Electrical Tilting (RET) + antennas Application Part (RETAP) signalling"; + type types3gpp:TenthOfDegrees; + } + + leaf elevation { + description "The elevation the antenna function should have, + based on World Geodetic System (1984 version) global + reference frame (WGS 84). Positive values correspond to + meters above sea level, negative values correspond to meters + below sea level. If empty, value is not defined."; + type types3gpp:Altitude; + } + + leaf horizBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern + in the horizontal plane. + A value of 360 indicates an omnidirectional antenna. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to 3GPP TS37.466. + A single integral value corresponding to an angle in degrees + between 0 and 360."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf latitude { + description "Latitude of transmitter antenna position. + Positive value means north, negative value means south. + + Specification: WGS 84 + Allowed Values: { -90.000000..90.000000 }"; + units degree; + type types3gpp:Latitude; + } + + leaf longititude { + description "Longitude of transmitter antenna position. + Positive value means east, negative value means west. + Specification: WGS 84 + Allowed Values: { -180.000000..180.000000 }"; + units degree; + type types3gpp:Longitude; + } + + leaf maxAzimuthValue { + description "The maximum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + leaf minAzimuthValue { + description "The minimum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + + leaf-list referencedBy { + description "This attribute contains the DNs of one or more objects + that refer to this object. + + In the case of AntennaFunction, these referring objects may + include DNs of SectorEquipmentFunction instances if associations + between them and the AntennaFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + + + leaf retGroupName { + description "The group name is a textual, alpha-numeric string to + define a logical grouping of antennas which may be in different cells. + + This attribute permits the definition of a logical grouping + of the antennas. This may be defined either at + installation time, or by management activity"; + type string; + } + + leaf retTiltValue { + description "The electrical tilt setting of the antenna, \"Tilt value\" in + 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf vertBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern in + the vertical plane. + The value of this attribute has no operational impact on + the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + This attribute is not supported over the Iuant interface + according to Ref. 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type uint32 { + range "0..180"; + } + } + + leaf-list theCellList { + description "This attribute contains the DNs of EUtranGenericCell + or UtranGenericCell if associations between them exist. + This attribute contains the DNs of GSMCellPart if association + between them exist. "; + config false; + status deprecated; + type types3gpp:DistinguishedName; + } + + } + + augment "/me3gpp:ManagedElement" { + + list AntennaFunction { + key id; + uses top3gpp:Top_Grp; + description "This MOI represents an array of radiating elements that + may be tilted to adjust the RF coverage of a cell(s)."; + + container attributes { + uses AntennaFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index 726292a70..cc0ba8f55 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; } @@ -313,9 +313,13 @@ module _3gpp-common-files { the file data reporting MnS. When the file is not created at all or deleted, the 'objectClass' and 'objectInstance' parameters of the notification header are populated as described in 3GPP TS 28.532, - clause 11.6.1.1.1. Note that to receive 'notifyFilePreparationError' - in that case the notification subscription needs to include these - objects in its scope."; + clause 11.6.1.1.1. The parameter 'fileCreationErrorInfoList' + shall provide details about files and job which failed to create them. + The error information about such files shall only be emitted once, + at the time the MnS producer fails to create them, to inform the MnS + consumer about files which the node could not create. Note that to + receive 'notifyFilePreparationError' in that case the notification + subscription needs to include these objects in its scope."; key id; uses top3gpp:Top_Grp ; container attributes { diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index da5d3eaee..b067ace3f 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,10 +16,10 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; - revision 2025-02-07 { reference CR-0022 ; } + revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 + 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 ; } @@ -44,6 +43,10 @@ module _3gpp-common-fm { typedef eventType { type enumeration { + enum OTHER { + value 1; + } + enum COMMUNICATIONS_ALARM { value 2; } @@ -106,12 +109,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 +124,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,10 +133,146 @@ module _3gpp-common-fm { leaf commentText { type string; mandatory true; + yext3gpp:inVariant; description "It carries the textual comment."; } } + 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 @@ -262,7 +404,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 { @@ -344,7 +488,6 @@ module _3gpp-common-fm { } list comments { - yext3gpp:inVariant; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index d8ab19d68..70e53be99 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; } @@ -13,14 +14,15 @@ module _3gpp-common-managed-element { import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } import _3gpp-nr-nrm-ecmappingrule { prefix ecmap3gpp ; } - import _3gpp-5gc-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-nr-nrm-mwab { prefix mwab3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; 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) @@ -35,7 +37,8 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2024-11-19 { reference "Add STM"; } + revision 2025-04-25 { reference "CR-0532 CR0541" ; } + 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 ; } @@ -132,6 +135,10 @@ module _3gpp-common-managed-element { description "The StmCtrlSubtree shall be contained under ManagedElement"; } + feature MWABUnderManagedElement { + description "The MWAB shall be contained under ManagedElement"; + } + grouping ManagedElement_Grp { description "Abstract class representing telecommunications resources. An ME communicates with a manager (directly or indirectly) for the @@ -147,6 +154,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 { @@ -324,5 +332,9 @@ module _3gpp-common-managed-element { uses stm3gpp:StmCtrlSubTree { if-feature StmCtrlUnderManagedElement ; } + + uses mwab3gpp:MWABSubTree { + if-feature MWABUnderManagedElement ; + } } } diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 8a012d09a..2bffe8a90 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -8,13 +8,13 @@ module _3gpp-common-managed-function { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } - import _3gpp-5gc-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "The module defines a base class/grouping for major 3GPP functions. - 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.622 @@ -25,6 +25,7 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-04-19 { reference "CR-0541"; } revision 2024-11-19 { reference "Add STM"; } revision 2024-02-24 { reference CR-0346; } revision 2023-09-18 { reference CR-0271; } @@ -161,7 +162,131 @@ module _3gpp-common-managed-function { description "A user-friendly (and user assignable) name of this object."; } } - + grouping VnfParametersGrp { + description "This <> represents the parameter set of the VNF + instance(s) corresponding to an NE."; + + leaf vnfInstanceId { + type string ; + description "VNF instance identifier"; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2 + + ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); + Management and Orchestration; Report on NFV Information Model + section B2.4.2.1.2.3"; + } + + leaf vnfdId { + type string ; + description "Identifier of the VNFD on which the VNF instance is based. + The absence of the leaf or a string length of zero for vnfInstanceId + means the VNF instance(s) does not exist (e.g. has not been + instantiated yet, has already been terminated)."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2"; + } + + leaf flavourId { + type string ; + description "Identifier of the VNF Deployment Flavour applied to this + VNF instance."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV) Management and Orchestration"; + } + + leaf autoScalable { + type boolean ; + mandatory true; + description "Indicator of whether the auto-scaling of this + VNF instance is enabled or disabled."; + } + } + + grouping PeeParametersGrp { + description "This <> represents the parameter list for the + control and monitoring of power, energy and environmental parameters + of ManagedFunction instance(s)."; + leaf idx { type uint32; } + leaf siteIdentification { + type string; + mandatory true; + description "The identification of the site where the + ManagedFunction resides."; + } + + leaf siteLatitude { + type decimal64 { + fraction-digits 4; + range "-90.0000..+90.0000"; + } + description "The latitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + the northern hemisphere. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier instance(s)."; + } + + leaf siteLongitude { + type decimal64 { + fraction-digits 4; + range "-180.0000..+180.0000"; + } + description "The longitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + degrees east of 0 degrees longitude. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier + instance(s)."; + } + + leaf siteAltitude { + type decimal64 { + fraction-digits 4; + } + description "The altitude of the site where the ManagedFunction + instance resides, in the unit of meter. This attribute is + optional for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier instance(s)."; + } + + leaf siteDescription { + type string; + mandatory true; + description "An operator defined description of the site where + the ManagedFunction instance resides."; + } + + leaf equipmentType { + type string; + mandatory true; + description "The type of equipment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf environmentType { + type string; + mandatory true; + description "The type of environment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf powerInterface { + type string; + mandatory true; + description "The type of power."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + } + grouping ManagedFunctionGrp { description "Abstract root class to be inherited/reused by classes representing 3GPP functions. @@ -178,145 +303,23 @@ module _3gpp-common-managed-function { "; uses Function_Grp; - list vnfParametersList { - key vnfInstanceId; - description "Contains the parameter set of the VNF - instance(s) corresponding to an NE. - The presence of this list indicates that the ManagedFunction - represented is realized by one or more VNF instance(s). Otherwise it - shall be absent. - The presence of a vnfParametersList entry, whose vnfInstanceId with a - string length of zero, in createMO operation can trigger the - instantiation of the related VNF/VNFC instances."; - - leaf vnfInstanceId { - type string ; - description "VNF instance identifier"; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2 - - ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); - Management and Orchestration; Report on NFV Information Model - section B2.4.2.1.2.3"; - } - - leaf vnfdId { - type string ; - description "Identifier of the VNFD on which the VNF instance is based. - The absence of the leaf or a string length of zero for vnfInstanceId - means the VNF instance(s) does not exist (e.g. has not been - instantiated yet, has already been terminated)."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2"; - } - - leaf flavourId { - type string ; - description "Identifier of the VNF Deployment Flavour applied to this - VNF instance."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV) Management and Orchestration"; - } - - leaf autoScalable { - type boolean ; - mandatory true; - description "Indicator of whether the auto-scaling of this - VNF instance is enabled or disabled."; - } + key "vnfInstanceId"; + uses VnfParametersGrp; + description "This attribute contains the parameter set of the VNF + instance(s) corresponding to an NE. The presence of this attribute + indicates that the ManagedFunction represented by the MOI is a + virtualized function "; } - - list peeParametersList { - key idx; - description "Contains the parameter set for the control - and monitoring of power, energy and environmental parameters of - ManagedFunction instance(s)."; - - leaf idx { type uint32; } - - leaf siteIdentification { - type string; - mandatory true; - description "The identification of the site where the - ManagedFunction resides."; - } - - leaf siteLatitude { - type decimal64 { - fraction-digits 4; - range "-90.0000..+90.0000"; - } - description "The latitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - the northern hemisphere. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier instance(s)."; - } - - leaf siteLongitude { - type decimal64 { - fraction-digits 4; - range "-180.0000..+180.0000"; - } - description "The longitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - degrees east of 0 degrees longitude. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier - instance(s)."; - } - - leaf siteAltitude { - type decimal64 { - fraction-digits 4; - } - description "The altitude of the site where the ManagedFunction - instance resides, in the unit of meter. This attribute is - optional for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier instance(s)."; - } - - - leaf siteDescription { - type string; - mandatory true; - description "An operator defined description of the site where - the ManagedFunction instance resides."; - } - - leaf equipmentType { - type string; - mandatory true; - description "The type of equipment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } - - leaf environmentType { - type string; - mandatory true; - description "The type of environment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } - - leaf powerInterface { - type string; - mandatory true; - description "The type of power."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } + list peeParameterslist{ + key "idx"; + uses PeeParametersGrp; + description "This attribute contains the parameter list for the control + and monitoring of power, energy and environmental parameters of + ManagedFunction instance(s). "; } - + leaf priorityLabel { - mandatory true; type uint32; } diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 02df31bf7..27541b18e 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -43,7 +43,7 @@ module _3gpp-common-measurements { Measurements can be contained under ManagedElement, SubNetwork, or any list representing a class inheriting from Subnetwork or - ManagedFunction. Note: KPIs will only be supported under SubNetwork + ManagedFunction. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 @@ -56,6 +56,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-05-19 { reference CR-0532; } revision 2025-02-07 { reference CR-0461; } revision 2025-01-29 { reference CR-0512; } revision 2024-11-01 { reference CR-0488; } diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index ed183f1a7..9f5dceae0 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; } @@ -12,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) @@ -24,6 +25,8 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-03-25 { reference "CR-00525"; } + revision 2025-03-24 { reference "CR-0517 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } grouping MeContextGrp { @@ -31,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."; @@ -39,7 +43,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. diff --git a/yang-models/_3gpp-common-sectorequipmentfunction.yang b/yang-models/_3gpp-common-sectorequipmentfunction.yang new file mode 100644 index 000000000..985e77639 --- /dev/null +++ b/yang-models/_3gpp-common-sectorequipmentfunction.yang @@ -0,0 +1,88 @@ +module _3gpp-common-sectorequipmentfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-sectorequipmentfunction"; + prefix "scteqpfun3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Sector Equipment Function + Information Object Class (IOC) that is part of the Generic Network Resource + Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.662 Generic Network Resource Model (NRM)"; + + revision 2025-05-01 { description "Initial revision"; } + + grouping SectorEquipmentFunctionGrp { + description "Represents the SectorEquipmentFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf confOutputPower { + description "It defines the allowed total power to use for all + cells together in this sector. + It may be set by the operator and/or limited by HW limitation + or licensed power, e.g.: 20, 40, 60, 80,120 watts"; + type uint32; + } + + leaf-list fqBandList { + description "The list of frequency bands/ranges supported by the + hardware associated with the SectorEquipmentFunction. The + earfcnDl and earfcnUl or earfcn of cells associated with the + SectorEquipmentFunction must be assigned one of the specified + frequency range values within the supported range. + + Valid frequency bands/ranges may be found in 3GPP TS 25.104 (UTRA), + 36.104 (E-UTRA) and 38.104 (NR). + + AllowedValues: + Operating band id or supported frequency tuple + expressed as a string. + + Examples for NR: + Bands: {'n1', 'n12'} + Frequencies: {'1920–1980, 2110–2170, FDD', '699–716, 729–746, FDD'}"; + config false; + type string; + } + + leaf-list referencedBy { + description "This attribute contains the DNs of one or more objects + that refer to this object. + + In the case of SectorEquipmentFunction , these referring objects + may include Cells, NRSectorCarriers if associations between them + and the SectorEquipmentFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement" { + list SectorEquipmentFunction { + key id; + uses top3gpp:Top_Grp; + description "This IOC represents a set of cells within a geographical + area that has common functions relating to AntennaFunction, TMAFunction + and supporting equipment, such as power amplifier."; + + must 'id != ""' { + error-message "Empty id value is not allowed."; + } + + container attributes { + uses SectorEquipmentFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } +} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 59868e1c6..c94f40638 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; } @@ -14,13 +15,14 @@ module _3gpp-common-subnetwork { import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } import _3gpp-nr-nrm-ecmappingrule { prefix ecmap3gpp ; } - import _3gpp-5gc-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-nr-nrm-mwab { prefix mwab3gpp; } organization "3GPP SA5"; 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 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -35,6 +37,8 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-04-25 { reference "CR-0532 CR0541" ; } + revision 2025-03-25 { reference "CR-0516 CR-0527"; } revision 2024-11-19 { reference "Add STM"; } revision 2024-01-30 { reference CR-1337 ; } revision 2024-01-30 { reference CR-0328 ; } @@ -148,6 +152,10 @@ module _3gpp-common-subnetwork { description "The StmCtrlSubtree shall be contained under SubNetwork"; } + feature MWABUnderSubNetwork { + description "The MWAB shall be contained under SubNetwork"; + } + grouping Domain_Grp { description "A domain is a partition of instances of managed entities such that : @@ -158,6 +166,7 @@ module _3gpp-common-subnetwork { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } @@ -214,34 +223,13 @@ module _3gpp-common-subnetwork { list SubNetwork { key id; - description "Represents a set of managed entities"; + description "Represents a set of managed entities + Contained ManagedElements and SubNetworks shall be connected via + YANG Schema-mount."; uses top3gpp:Top_Grp; container attributes { uses SubNetworkGrp; - leaf-list parents { - description "Reference to all containg SubNetwork instances - in strict order from the root subnetwork down to the immediate - parent subnetwork. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetworks. - This reference MUST NOT be present for the top level SubNetwork and - MUST be present for other SubNetworks."; - type leafref { - path "../../../SubNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained SubNetwork instances. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetwork."; - type leafref { - path "../../../SubNetwork/id"; - } - } } uses meas3gpp:MeasurementSubtree { @@ -284,8 +272,13 @@ module _3gpp-common-subnetwork { if-feature StmCtrlUnderManagedSubNetwork ; } + + uses mwab3gpp:MWABSubTree { + if-feature MWABUnderSubNetwork ; + } + yangmnt:mount-point children-of-SubNetwork { - description "Mountpoint for ManagedElement"; + description "Mountpoint for contained ManagedElements and SubNetworks"; reference "RFC8528 YANG Schema Mount"; } // augment external parts here diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index b637e1ff5..fcc5451e6 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -5,12 +5,14 @@ module _3gpp-common-subscription-control { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - + import _3gpp-common-yang-types { prefix types3gpp; } + 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 +20,8 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-05-13 { reference "CR-0548" ; } + revision 2025-03-24 { reference "CR-0516 0518" ; } revision 2024-05-18 { reference CR-0359 ; } revision 2024-01-18 { reference "CR-0309 CR-0329" ; } revision 2023-09-18 { reference CR-0271 ; } @@ -84,16 +88,59 @@ 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"; + } + } } } } } + typedef NotificationTypes { + description "An extensible enumeration of notification types"; + type union { + type enumeration { + enum notifyMOICreation; + enum notifyMOIDeletion; + enum notifyMOIAttributeValueChanges; + enum notifyMOIChanges; + enum notifyEvent; + enum notifyNewAlarm; + enum notifyChangedAlarm; + enum notifyAckStateChanged; + enum notifyComments; + enum notifyCorrelatedNotificationChanged; + enum notifyChangedAlarmGeneral; + enum notifyClearedAlarm; + enum notifyAlarmListRebuilt; + enum notifyPotentialFaultyAlarmList; + enum notifyFileReady; + enum notifyFilePreparationError; + enum notifyThresholdCrossing ; + enum notifyPotentialFaultyDataNodeTree; + enum notifyDataNodeTreeSyncRecommended; + } + type string; + } + } + grouping NtfSubscriptionControlGrp { description "Attributes of a specific notification subscription"; @@ -103,7 +150,7 @@ module _3gpp-common-subscription-control { } leaf-list notificationTypes { - type string; + type NotificationTypes; description "Defines the types of notifications that are candidates for being forwarded to the notification recipient. If the notificationTypes attribute is not supported or not present @@ -114,7 +161,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; } @@ -132,6 +179,32 @@ module _3gpp-common-subscription-control { JSON expressions (Jex) 'JexConditionsExpr'"; reference "3GPP TS 32.161"; } + + leaf lastSequenceNo { + type uint64; + config false; + mandatory true; + description "The sequence number of the last notification that was sent + by a 'NtfSubscriptionControl' instance."; + } + + leaf operationalState { + type types3gpp:OperationalState; + config false; + mandatory true; + description "Operational state of manged object instance. + The operational state describes if an object instance is operable + ('ENABLED') or inoperable ('DISABLED'). + This state is set by the object instance or the MnS producer and + is hence READ-ONLY."; + } + + leaf-list availabilityStatus { + type types3gpp:AvailabilityStatus; + config false; + description "The availability status provides additional information + about the operational state"; + } } grouping HeartbeatControlGrp { @@ -210,19 +283,68 @@ module _3gpp-common-subscription-control { When a MnS consumer does not wish to receive notifications any more the MnS consumer shall delete the corresponding NtfSubscriptionControl instance. - + When a subscription is created and the notification scope inludes the created subscription object and the subscribed notification types include notifications reporting object creation (notifyMOICreation or notifyMOIChanges), the first notification sent related to the new subscription shall report the creation of the NtfSubscriptionControl instance. Likewise, when a subscription is - deleted and the notification scope inludes the deleted subscription + deleted and the notification scope includes the deleted subscription object and the subscribed notification types include notifications reporting object deletion (notifyMOIDeletion or notifyMOIChanges), the last notification sent related to the subscription shall report the deletion of the NtfSubscriptionControl instance. - + + If multiple NtfSubscriptionControl instances are configured to send + the same notification to the same notificationRecipientAddress, then + a separate notification message shall be sent for each such + NtfSubscriptionControl instance. + + A 'NtfSubscriptionControl' class optionally supports adding a sequence + number parameter to the notification header. For each notification + sent from a 'NtfSubscriptionControl' instance to the configured + notification recipient, the sequence number is increased by one. + This allows the notification recipient to detect notifications lost or + reordered in transit. The sequence number sent last is reflected in + the 'lastSequenceNo' attribute. This allows the MnS consumer to check + if he missed notifications in situations where he did not receive + any notification for some time. + + The 'operationalState' attribute represents the operability of the + subscription. The 'availabilityStatus' further qualifies the + opertational state. Both attributes are set by the MnS producer. + + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + has no value the subscription process is fully operational and + notifications are forwarded to the subscribed consumer. + + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + is set to 'DEGRADED' the subscription process is degraded. There is + no guarantee that all notifications, that should be forwarded to the + notification recipient, are forwarded. + + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'FAILED' the subscription process is not operational, and + no notifications are sent to the notification recipient. + + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'DEPENDENCY' the subscription process itself has no problems + but some other process on which it depends such as downstream + processes in the event channel that feeds events into the subscription + process. As a result, events are not delivered to the subscription + process and no notifications are sent to the notification recipient. + + When the subscription process is disabled or degraded and becomes + fully operational again, the MnS producer sends- the related data node + tree change notifications to subscribed MnS consumers. The MnS consumer + may use the reception of these notifications as a trigger to synchronize + his data node tree with the data node tree on the MnS producer. + However, the state change notifications contain no information about + which part of the data node tree should be synchronized. For this + purpose the 'notifyDataNodeTreeSyncRecommended' (TS 28.532 [27]) and + 'alarmListRebuilt' (TS 28.111 [58]) notifications are provided. + Creation and deletion of NtfSubscriptionControl instances by MnS consumers is optional; when not supported, the NtfSubscriptionControl instances may be created and deleted by the system or be @@ -289,7 +411,7 @@ module _3gpp-common-subscription-control { description "Attributes of SupportedNotifications."; leaf-list notificationTypes { - type string; + type NotificationTypes; config false; description "List of notification types supported by the MnS producer"; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index a989450d9..bec576ffc 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -20,15 +20,15 @@ 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)" ; - revision 2025-02-07 { reference "CR-0504"; } + revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } + revision 2025-02-07 { reference "CR-0504" ; } revision 2025-02-05 { reference "CR-0461" ; } - 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"; } @@ -1479,16 +1479,6 @@ module _3gpp-common-trace { reference "clause 5.10.38 of TS 32.422"; } - list plmnList { - when '../../../jobType = "LOGGED_MDT_ONLY"'; - key "mcc mnc"; - uses types3gpp:PLMNId; - max-elements 16; - description "It indicates the PLMNs where measurement collection, status - indication and log reporting is allowed."; - reference "Clause 5.10.24 of 3GPP TS 32.422."; - } - list areaConfigurationForNeighCells { when '../../../jobType = "LOGGED_MDT_ONLY"'; key "idx"; @@ -1599,6 +1589,15 @@ module _3gpp-common-trace { both MN and SN. The value TRUE means the MDT configuration is for MN only."; } + + list plmnList { + key "mcc mnc"; + uses types3gpp:PLMNId; + max-elements 16; + description "It indicates the PLMNs where measurement collection, status + indication and log reporting is allowed."; + reference "Clause 5.10.24 of 3GPP TS 32.422."; + } } grouping UECoreMeasConfigGrp { @@ -1750,7 +1749,6 @@ module _3gpp-common-trace { type string; yext3gpp:inVariant; description "Identifier of a TraceJob"; - yext3gpp:inVariant; } leaf traceReportingFormat { @@ -1765,8 +1763,14 @@ module _3gpp-common-trace { } list traceTarget { - key "targetIdType targetIdValue"; + key "targetIdType"; max-elements 1; + description "It specifies the target object of the Trace, MDT and + 5GC UE level measurements collection. The attribute is applicable for + Trace, MDT, and 5GC UE level measurements collection. + In case of management based Immediate MDT, RLF reporting, RCEF + reporting or RRC reposring, the traceTarget attribute shall be null + value."; leaf targetIdType { type enumeration { @@ -1781,73 +1785,75 @@ module _3gpp-common-trace { enum RNC; enum GNB; enum SUPI; + enum N4_SESSION_ID; } + description "It specifies the target object of the Trace, MDT and + 5GC UE level measurements collection. The attribute is applicable for + Trace, MDT, and 5GC UE level measurements collection. + + The targetIdType shall be PUBLIC_ID in case of a Management Based + Activation is done to an SCSCFFunction (Serving Call Session Control + Function) or PCSCFFunction (Proxy Call Session Control Function) + + The targetIdType shall be UTRAN_CELL only in case of + UTRAN cell traffic trace function. + + The targetIdType shall be E-UTRAN_CELL only in case of E-UTRAN cell + traffic trace function. + + The targetIdType shall be NG-RAN_CELL only in case of NR cell + traffic trace function. + + The targetIdType shall be either IMSI, IMEI or + IMEISV if the Trace Session is activated to any of the following + ManagedEntity(ies): + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + - ServingGWFunction + - PGWFunction + + The targetIdType shall be either SUPI or IMEISV if the Trace Session + is activated to any of the following ManagedEntity(ies): + - AFFunction + - AMFFunction + - AUSFunction + - NEFFunction + - NRFFunction + - NSSFFunction + - PCFFunction + - SMFFunction + - UPFFunction + - UDMFunction + + In case of signalling based MDT, the targetIdType shall be + able to carry PUBLIC_ID, IMSI, IMEI, IMEISV or SUPI. + + In case of management based Logged MDT, the targetIdType + shall carry an eNB or a gNB or an RNC. + The Logged MDT should be initiated on the specified eNB/gNB/RNC in + targetIdValueList. + + In case of signalling based 5GC UE level measurements collection, + the targetIdTypee shall be able to carry IMEISV or SUPI. + + In case of management based 5GC UE level measurements collection, + the targetIdType shall be able to carry the corresponding + Measured UE Identifier as defined by the bullet g) of the 5GC UE + level measurements (see TS 28.558) when the TraceJob is created at + the subject ManagedEntity."; } - leaf targetIdValue { + leaf-list targetIdValueList { type string; + description "It specifies the ID value(s) of the target object defined + by traceTargetType"; } - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute - includes the ID type of the target as an enumeration and the ID value. - - The traceTarget shall be 'PUBLIC_ID' in case of a Management Based - Activation is done to an SCSCFFunction (Serving Call - Session Control Function) - or PCSCFFunction (Proxy Call Session Control Function). - The traceTarget shall be 'UTRAN_CELL' only in case of the UTRAN - cell traffic trace function. - - The traceTarget shall be 'E-UTRAN_CELL' only in case of E-UTRAN cell - traffic trace function. - - The traceTarget shall be 'NG-RAN_CELL' only in case of NR cell - traffic trace function. - - The traceTarget shall be either 'IMSI', 'IMEI' or - 'IMEISV' if the Trace Session is activated to any of the following - ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - ServingGWFunction - - PGWFunction - - The traceTarget shall be either 'SUPI' or 'IMEISV' if the Trace Session - is activated to any of the followed ManagedEntity(ies): - - AFFunction - - AMFFunction - - AUSFFunction - - NEFFunction - - NRFFunction - - NSSFFunction - - PCSCFFunction - - SMFFunction - - UPFFunction - - UDMFunction - - In case of signalling based MDT, the traceTarget attribute should - be able to carry 'PUBLIC_ID', 'IMSI', 'IMEI', 'IMEISV' or 'SUPI'. - - In case of management based Immediate MDT, the traceTarget attribute - shall be null value. In case of management based Logged MDT, the - traceTarget attribute shall carry an 'eNB' or a 'gNB' or an 'RNC'. - The Logged MDT should be initiated on the specified - eNB/gNB/RNC in traceTarget. - - In case of RLF reporting, or RCEF reporting, or RRC reporting, the - traceTarget attribute shall be null value. - - In case of signalling based GC UE level measurements collection, - the traceTarget attribute shall be able to carry the corresponding - Measured UE Identifier as defined by the bullet g) of the 5GC UE - level measurements (see TS 28.558) when the TraceJob is created - at the subject ManagedEntity."; reference "3GPP TS 32.422"; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 7590af02d..e060a1203 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 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } revision 2024-11-25 { reference CR-1442; } diff --git a/yang-models/_3gpp-engy-nrm-energyinformation.yang b/yang-models/_3gpp-engy-nrm-energyinformation.yang new file mode 100644 index 000000000..38b72c25e --- /dev/null +++ b/yang-models/_3gpp-engy-nrm-energyinformation.yang @@ -0,0 +1,196 @@ +module _3gpp-engy-nrm-energyinformation { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-engy-nrm-energyinformation; + prefix engyinfo3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the Energy Information NRM. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, + TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.310"; + + revision 2025-05-07 { reference CR-0082 ; } + + + feature energyinformationUnderSubNetwork { + description "The energyinformation shall be contained under SubNetwork"; + } + + feature energyinformationUnderManagedElement { + description "The energyrelatedinformation shall be contained under + ManagedElement"; + } + + grouping EnergySourceInfoGrp { + description "This data type defines the information related to a type + of energy source. This information is configured by the operator with + the information obtained from sources external to 3GPP. The attribute + energySourceType is used to indicate the type of energy source used by + an energy supply mode to produce the energy. The attribute energySourceCef + is used to indicate the carbon emission factor of the energy source. + The attribute renewableEnergy is used to indicate if the energy source + is renewable or non-renewable. The attribute energyCompositionPercentage + is used to indicate the percentage of energy source used to produce the + energy."; + + leaf energySourceType { + type string; + mandatory true; + description "The attribute is used to indicate the type of energy source + used by an energy supply mode to produce the energy."; + } + + leaf energySourceCef { + type decimal64 { + fraction-digits 2; + } + mandatory true; + units "kg CO2eq/kWh"; + description "The attribute is used to indicate the Carbon Emission Factor + of a type of energy source. Its unit is kg CO2eq / kWh."; + } + + leaf renewableEnergy { + description "This attribute represents if the energy source is renewable + or non-renewable. This information is configured by the operator with the + information obtained from external sources."; + type boolean; + mandatory true; + } + + leaf energyCompositionPercentage { + type uint8 { + range 0..100; + } + default 100; + description "The attribute is used to indicate the percentage of energy + source type used by the energy supply mode."; + } + + } + + grouping EnergyInfoGroupGrp { + + leaf energySupplyModeRefList { + description "The list of energy supply modes for the Network Elements + of the group. This information is configured by the operator with the + information obtained from external sources."; + type types3gpp:DistinguishedName; + } + + leaf memberDNList { + description "This attribute contains the DNs of managed entities + that are members of the energy info group."; + type types3gpp:DistinguishedName; + } + + } + + grouping EnergySupplyInfoGrp { + + leaf energySupplyMode { + description "The mode by which energy is supplied to a Network Element. + This information is configured by the operator with the information + obtained from external sources.The mode can be one of the following: + GRID_ELECTRICITY: Energy from local grid electricity + (See Grid electricity in clause 6 of ITU-T Recommendation L.1333 [D]) + BACKUP_ENERGY: Energy from backup diesel or other types (from battery + banks/UPS), or from generators such as solar panels. (See Backup energy + in clause 6 of ITU-T Recommendation L.1333[D]) LOCALLY_GENERATED_ENERGY: + Energy provided by local generators not used for backup functionality, + e.g., solar panels, wind generator etc. (See Locally generated energy + in clause 6 of ITU-T Recommendation L.1333[D])"; + mandatory true; + type enumeration { + enum GRID_ELECTRICITY; + enum BACKUP_ENERGY; + enum LOCALLY_GENERATED_ENERGY; + } + } + + list energySourceList { + description "This attribute represents the list of sources used to + produce the energy by the supplier. This includes energy related + information i.e., carbon emission and renewable energy related + information, and the percentage of the energy produced using the + source."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses EnergySourceInfoGrp; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature energyinformationUnderSubNetwork; + list EnergyInfoGroup { + description "This IOC represents a group of Network Elements, represented + by ManagedElement IOC and information related to the energy supply modes + that are used to power them. This information is configured by the + operator. Attribute memberDNList can be configured with the DNs of + ManagedElement or DNs of SubNetwork. This attribute provides the list + of Network Elements in the group, represented using ManagedElement MOIs + or represented using SubNetwork MOIs. In the case, memberDNList is + configured by DN of SubNetwork, then all the ManagedElement MOIs that + are name-contained by the SubNetwork MOI are part of the group. Attribute + energySupplyModeRefList is used to indicate the mode of energy supply + for powering the Network Elements of the group."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + list EnergySupplyInfo { + description "This IOC defines the information related to energy supply + and the sources used to produce the energy. This information is configured + by the operator with the information obtained from sources external to + 3GPP e.g an energy supplier. "; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + } + + augment "/me3gpp:ManagedElement" { + if-feature energyinformationUnderManagedElement; + list EnergyInfoGroup { + description "This IOC represents a group of Network Elements, represented + by ManagedElement IOC and information related to the energy supply modes + that are used to power them. This information is configured by the + operator. Attribute memberDNList can be configured with the DNs of + ManagedElement or DNs of SubNetwork. This attribute provides the list + of Network Elements in the group, represented using ManagedElement MOIs + or represented using SubNetwork MOIs. In the case, memberDNList is + configured by DN of SubNetwork, then all the ManagedElement MOIs that + are name-contained by the SubNetwork MOI are part of the group. Attribute + energySupplyModeRefList is used to indicate the mode of energy supply + for powering the Network Elements of the group."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + list EnergySupplyInfo { + description "This IOC defines the information related to energy supply + and the sources used to produce the energy. This information is configured + by the operator with the information obtained from sources external to + 3GPP e.g an energy supplier. "; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang index 3260d3646..5dbbc4e4f 100755 --- a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang @@ -11,10 +11,11 @@ module _3gpp-nr-nrm-danrmanagementfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the DANRManagementFunction 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-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2024-08-19 { reference CR-1314 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2020-05-08 { reference S5-203316; } @@ -40,6 +41,7 @@ module _3gpp-nr-nrm-danrmanagementfunction { description "This IOC contains attributes to support the D-SON function of ANR Management (See clause 6.4.1.3 in TS 28.313 ."; key id; + max-elements 1; uses top3gpp:Top_Grp; container attributes { uses DANRManagementFunctionGrp; diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index 399bd2bfd..6b4ac81bb 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-drachoptimizationfunction { description "Defines the YANG mapping of the DRACHOptimizationFunction 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-03-25 { reference CR-1504 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2021-01-25 { reference CR-0454 ; } @@ -52,7 +53,13 @@ module _3gpp-nr-nrm-drachoptimizationfunction { type TargetProbabilityT; } leaf numberofpreamblessent { - description "This attribute determines the number of preambles sent."; + description "This attribute indicates the number of preambles sent + used to configure a wanted distribution of RACH preambles in a + vendor implemented DRACH optimisation function. + Note: The DRACH optimization function may configure preambleTransMax + as defined in TS 38.331 [54]. The allowed values for preambleTransMax + are 3, 4, 5, 6, 7, 8, 10, 20, 50, 100, 200 (see 38.331 [54], + subclause 6.3.2)."; mandatory true; type NumberofpreamblessentT; } diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index ac5fbfe30..00f44bc9a 100644 --- a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -13,7 +13,8 @@ module _3gpp-nr-nrm-ecmappingrule { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2024-08-21 { reference CR-1337 ; } + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 + revision 2024-08-12 { reference "CR-1336 CR-1337"; } grouping NRECMappingRuleGrp { description "Represents the unified mapping rule to support Energy Cost Mapping @@ -43,11 +44,16 @@ module _3gpp-nr-nrm-ecmappingrule { grouping NRECMappingRuleSubtree { description "Helps augmenting NRECMappingRule into multiple places."; list NRECMappingRule { + description "Represents the unified mapping rule, applicable for the + group of gNBs (within a certain area), for the calculation of the + energy cost (see TS 34.423). + + NRECMappingRule can be name-contained by SubNetwork or ManagedElement. + It applies to all ManagedEntity contained by the parent."; key id; uses top3gpp:Top_Grp; min-elements 1; max-elements 1; - leaf idx { type uint32; } container attributes { uses NRECMappingRuleGrp; } diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 927bc49b1..60bc8091f 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -15,10 +15,11 @@ module _3gpp-nr-nrm-ep { description "Defines the YANG mapping of the NR related endpoint Information Object Classes (IOCs) that are 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-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2021-05-01 { reference CR-0490; } @@ -46,16 +47,30 @@ module _3gpp-nr-nrm-ep { uses eprp3gpp:EP_Common; } - grouping EP_F1CGrp { - description "Represents the EP_F1C IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; + grouping EP_F1CSubtree { + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the gNB-DU and gNB-CU or gNB-CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses eprp3gpp:EP_Common; + } + } } - grouping EP_F1UGrp { - description "Represents the EP_F1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; + grouping EP_F1USubtree { + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the gNB-DU and gNB-CU or gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses eprp3gpp:EP_Common; + } + } } grouping EP_XnCGrp { @@ -114,16 +129,7 @@ module _3gpp-nr-nrm-ep { } } - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the gNB-DU and gNB-CU or gNB-CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } + uses EP_F1CSubtree; list EP_NgC { description "Represents the local end point of the control plane @@ -176,16 +182,7 @@ module _3gpp-nr-nrm-ep { } } - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the gNB-DU and gNB-CU or gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } + uses EP_F1USubtree; list EP_NgU { description "Represents the local end point of the NG user plane @@ -236,26 +233,12 @@ module _3gpp-nr-nrm-ep { augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { if-feature EPClassesUnderGNBDUFunction; - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; + uses EP_F1CSubtree { + refine EP_F1C { + max-elements 1; } } + + uses EP_F1USubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang index 3958b9c1a..ab7dc74f8 100755 --- a/yang-models/_3gpp-nr-nrm-eutranetwork.yang +++ b/yang-models/_3gpp-nr-nrm-eutranetwork.yang @@ -3,62 +3,35 @@ module _3gpp-nr-nrm-eutranetwork { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; prefix "eutranet3gpp"; - import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } 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 EUtraNetwork Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderEUtraNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalENBFunction are contained under a EUtraNetwork list/class."; - } + revision 2019-06-17 {reference "Initial revision"; } grouping EUtraNetworkGrp { - description "Represents the EUtraNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; + description "Represents the EUtraNetwork IOC. + Contains no additiona attributes."; } - list EUtraNetwork { - description "A subnetwork containing gNB external E-UTRAN entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtraNetworkGrp; - leaf-list parents { - description "Reference to all containg EUtraNetwork instances - in strict order from the root EUtraNetwork down to the immediate - parent EUtraNetwork. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetworks. - This reference MUST NOT be present for the top level EUtraNetwork and - MUST be present for other EUtraNetworks."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained EUtraNetwork instances. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetwork."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { + list EUtraNetwork { + description "A subnetwork containing gNB external E-UTRAN entities."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtraNetworkGrp; + } } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang index 0698485b4..70508b134 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang @@ -3,29 +3,29 @@ module _3gpp-nr-nrm-eutranfrequency { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; prefix "eutraneteutranfreq3gpp"; - import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } 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 EUtranFrequency 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), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping EUtranFrequencyGrp { description "Represents the EUtranFrequency IOC."; reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; leaf earfcnDL { description "Specifies the channel number for the central DL frequency."; @@ -51,17 +51,25 @@ module _3gpp-nr-nrm-eutranfrequency { container attributes { uses EUtranFrequencyGrp; } - uses mf3gpp:ManagedFunctionContainedClasses; } } + feature EUtranFrequencyUnderSubNetwork { + description "The EUtranFrequency shall be contained under SubNetwork"; + } + augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses EUtranFrequencyWrapper ; + if-feature EUtranFrequencyUnderSubNetwork ; + uses EUtranFrequencyWrapper; } - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses EUtranFrequencyWrapper ; + feature EUtranFrequencyUnderEUtraNetwork { + description "The EUtranFrequency shall be contained under EUtraNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "eutranet3gpp:EUtraNetwork" { + if-feature EUtranFrequencyUnderEUtraNetwork; + uses EUtranFrequencyWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang index eb0547390..f74c5d3a0 100755 --- a/yang-models/_3gpp-nr-nrm-externalamffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalamffunction.yang @@ -5,26 +5,24 @@ module _3gpp-nr-nrm-externalamffunction { import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalAMFFunction 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-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalAMFFunctionGrp { description "Represents the ExternalAMFFunction IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { @@ -61,12 +59,6 @@ module _3gpp-nr-nrm-externalamffunction { } augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalAMFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; uses ExternalAMFFunctionWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang index cdb1611c4..ed8cb6683 100755 --- a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang @@ -4,24 +4,27 @@ module _3gpp-nr-nrm-externalenbfunction { prefix "extenb3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-nr-nrm-externaleutrancell { prefix exteutrancell3gpp; } 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 ExternalENBFunction 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), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalENBFunctionGrp { description "Represets the ExternalENBFunction IOC."; @@ -48,16 +51,29 @@ module _3gpp-nr-nrm-externalenbfunction { uses ExternalENBFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; + uses exteutrancell3gpp:ExternalEUtranCellFDDSubtree; + uses exteutrancell3gpp:ExternalEUtranCellTDDSubtree; } } + feature ExternalENBFunctionUnderSubNetwork { + description "The ExternalENBFunction shall be contained under + SubNetwork"; + } + augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + if-feature ExternalENBFunctionUnderSubNetwork ; uses ExternalENBFunctionWrapper; } - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + feature ExternalENBFunctionUnderEUtraNetwork { + description "The ExternalENBFunction shall be contained under + EUtraNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "eutranet3gpp:EUtraNetwork" { + if-feature ExternalENBFunctionUnderEUtraNetwork; uses ExternalENBFunctionWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index d3306bc8c..2a5ff1f39 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -5,25 +5,22 @@ module _3gpp-nr-nrm-externaleutrancell { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } 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 ExternalEUtranCellFDD and ExternalEUtranCellTDD Information Object Classes (IOCs) that are 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), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalEUtranGenericCellGrp { description "Represents the ExternalEUtranGenericCell IOC."; @@ -106,7 +103,7 @@ module _3gpp-nr-nrm-externaleutrancell { } } - grouping ExternalEUtranCellFDDWrapper { + grouping ExternalEUtranCellFDDSubtree { list ExternalEUtranCellFDD { description "Represents the common properties of external E-UTRAN FDD cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; @@ -120,7 +117,7 @@ module _3gpp-nr-nrm-externaleutrancell { } } - grouping ExternalEUtranCellTDDWrapper { + grouping ExternalEUtranCellTDDSubtree { list ExternalEUtranCellTDD { description "Represents the common properties of external E-UTRAN cell TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; @@ -133,24 +130,4 @@ module _3gpp-nr-nrm-externaleutrancell { uses mf3gpp:ManagedFunctionContainedClasses; } } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellTDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellTDDWrapper; - } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang index cbe2baff3..ff466a30b 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang @@ -5,40 +5,44 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-externalnrcellcu { prefix extnrcellcu3gpp; } 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 ExternalGNBCUCPFunction 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-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBCUCPFunctionGrp { description "Represets the ExternalGNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } @@ -57,23 +61,35 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { list ExternalGNBCUCPFunction { description "Represents the properties, known by the management function, of a GNBCUCPFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { uses ExternalGNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; + + uses extnrcellcu3gpp:ExternalNRCellCUSubtree; } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + feature ExternalGNBCUCPFunctionUnderNRNetwork { + description "The ExternalGNBCUCPFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBCUCPFunctionUnderNRNetwork; uses ExternalGNBCUCPFunctionWrapper; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; + feature ExternalGNBCUCPFunctionUnderSubNetwork { + description "The ExternalGNBCUCPFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBCUCPFunctionUnderSubNetwork ; uses ExternalGNBCUCPFunctionWrapper; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang index 2445a1e99..41ac84351 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang @@ -4,11 +4,14 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { prefix "extgnbcuup3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } 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 ExternalGNBCUUPFunction Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). @@ -16,11 +19,10 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBCUUPFunctionGrp { description "Represets the ExternalGNBCUUPFunction IOC."; @@ -28,26 +30,27 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } } - grouping ExternalGNBCUUPFunctionWrapper { + grouping ExternalGNBCUUPFunctionSubtree { list ExternalGNBCUUPFunction { description "Represents the properties, known by the management function, of a GNBCUUPFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { @@ -57,13 +60,24 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUUPFunctionWrapper; + feature ExternalGNBCUUPFunctionUnderNRNetwork { + description "The ExternalGNBCUUPFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBCUUPFunctionUnderNRNetwork; + uses ExternalGNBCUUPFunctionSubtree; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUUPFunctionWrapper; - } + feature ExternalGNBCUUPFunctionUnderSubNetwork { + description "The ExternalGNBCUUPFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBCUUPFunctionUnderSubNetwork ; + uses ExternalGNBCUUPFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang index 064b98db3..115fdf6c8 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang @@ -3,26 +3,27 @@ module _3gpp-nr-nrm-externalgnbdufunction { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; prefix "extgnbdu3gpp"; - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } 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 ExternalGNBDUFunction 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-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBDUFunctionGrp { description "Represets the ExternalGNBDUFunction IOC."; @@ -30,36 +31,28 @@ module _3gpp-nr-nrm-externalgnbdufunction { uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } yext3gpp:inVariant; } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } } - grouping ExternalGNBDUFunctionWrapper { + grouping ExternalGNBDUFunctionSubtree { list ExternalGNBDUFunction { description "Represents the properties, known by the management function, of a GNBDUFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { @@ -69,13 +62,24 @@ module _3gpp-nr-nrm-externalgnbdufunction { } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBDUFunctionWrapper; + feature ExternalGNBDUFunctionUnderNRNetwork { + description "The ExternalGNBDUFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBDUFunctionUnderNRNetwork; + uses ExternalGNBDUFunctionSubtree; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBDUFunctionWrapper; + feature ExternalGNBDUFunctionUnderSubNetwork { + description "The ExternalGNBDUFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBDUFunctionUnderSubNetwork ; + uses ExternalGNBDUFunctionSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang index b982aa12c..1586cad43 100755 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -5,43 +5,57 @@ module _3gpp-nr-nrm-externalnrcellcu { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } 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 ExternalNRCellCU 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-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalNRCellCUGrp { description "Represents the ExternalNRCellCU IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - reference "NCI in 3GPP TS 38.300"; + leaf cellLocalId { + description "It identifies a NR cell of a gNB. + + It, together with the gNB Identifier (using gNBId of the parent + GNBCUCPFunction or GNBDUFunction or OperatorDU (for MOCN network + sharing scenario) or ExternalCUCPFunction), identifies a NR cell within + a PLMN. This is the NR Cell Identity(NCI). See subclause 8.2 of TS38.300. + + The NCI can be constructed by encoding the gNB Identifier using gNBId + (of the parent GNBCUCPFunction or GNBDUFunction or OperatorDU + (for MOCN network sharing scenario) or ExternalCUCPFunction) and + cellLocalId where the gNB Identifier field is of length specified by + gNBIdLength (of the parent GNBCUCPFunction or GNBDUFunction or + ExternalCUCPFunction). See 'Global gNB ID' in subclause 9.3.1.6 of + TS 38.413. + + The NR Cell Global identifier (NCGI) is constructed from the + PLMN identity the cell belongs to and the NR Cell Identifier (NCI) of + the cell. + + See relation between NCI and NCGI subclause 8.2 of TS 38.300 "; mandatory true; - type int32 {range "0..16383"; } + type int32; } leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; + description "This holds the Physical Cell Identity (PCI) of the NR cell. + + allowedValues: + See 3GPP TS 36.211 subclause 6.11 for legal values of pci."; mandatory true; - type int32 { range "0..1007"; } + type int64; } list pLMNIdList { @@ -62,11 +76,11 @@ module _3gpp-nr-nrm-externalnrcellcu { } } - grouping ExternalNRCellCUWrapper { + grouping ExternalNRCellCUSubtree { list ExternalNRCellCU { - description "Represents the properties of an NRCellCU controlled by - another Management Service Provider."; - reference "3GPP TS 28.541"; + description "This IOC contains necessary attributes for inter-system + and intra-system handover. It also contains a subset of the attributes + of related IOCs controlled by Management Service Provider."; key id; uses top3gpp:Top_Grp; container attributes { @@ -75,14 +89,4 @@ module _3gpp-nr-nrm-externalnrcellcu { uses mf3gpp:ManagedFunctionContainedClasses; } } - - augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalNRCellCUWrapper; - } - - augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalNRCellCUWrapper; - } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang index 1fd046946..dcaba95b4 100755 --- a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang @@ -4,8 +4,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { prefix "extservgw3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + //import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; @@ -16,6 +15,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -43,7 +43,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { } } - augment "/subnet3gpp:SubNetwork" { + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalServingGWFunctionWrapper; } @@ -51,5 +51,5 @@ module _3gpp-nr-nrm-externalservinggwfunction { augment "/eutranet3gpp:EUtraNetwork" { if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; uses ExternalServingGWFunctionWrapper; - } + }*/ } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang index 11e924dab..abe82b6c8 100755 --- a/yang-models/_3gpp-nr-nrm-externalupffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalupffunction.yang @@ -4,17 +4,19 @@ module _3gpp-nr-nrm-externalupffunction { prefix "extupf3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + /*import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; }*/ 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 ExternalUPFFunction 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-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -42,7 +44,7 @@ module _3gpp-nr-nrm-externalupffunction { } } - augment "/subnet3gpp:SubNetwork" { + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalUPFFunctionWrapper; } @@ -50,5 +52,5 @@ module _3gpp-nr-nrm-externalupffunction { augment "/nrnet3gpp:NRNetwork" { if-feature nrnet3gpp:ExternalsUnderNRNetwork; uses ExternalUPFFunctionWrapper; - } + }*/ } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index b7c05dddd..d776bf37a 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -20,6 +20,9 @@ module _3gpp-nr-nrm-gnbcucpfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-05-25 { reference "CR-1527" ; } + revision 2025-05-07 { reference "CR-1548"; } + revision 2025-03-25 { reference "CR-1509"; } revision 2025-01-25 { reference "CR-1442"; } revision 2024-11-07 { reference "CR-1443"; } revision 2024-08-19 { reference "CR-1405"; } @@ -288,13 +291,28 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf idx { type uint32; } uses types5g3gpp:MappedCellIdInfoGrp; } - + leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; } + leaf isOnboardSatellite { + type boolean; + default false; + description "This attribute indicates whether the function is + on board the satellite."; + } + + leaf onboardSatelliteId { + type string; + config false; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; description "DN of the Dynamic5QISet that the GNBCUCPFunction supports @@ -349,7 +367,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf gnbIdLength { type int32 {range "22..32";} - mandatory true; + 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"; } diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 4932b44d8..5f9de8da5 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -18,6 +18,7 @@ module _3gpp-nr-nrm-gnbdufunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-05-07 { reference "CR-1527 CR-1548"; } revision 2025-02-05 { reference CR-1441; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043 ; } @@ -185,7 +186,18 @@ module _3gpp-nr-nrm-gnbdufunction { information derived from the detected RIM-RS to OAM."; uses RimRSReportConfGrp; } - + leaf isOnboardSatellite { + type boolean; + default false; + description "This attribute indicates whether the function is + on board the satellite."; + } + leaf onboardSatelliteId { + type string; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits “0” to complete a 5-digit length."; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the GNBDUFunction supports diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang new file mode 100644 index 000000000..e57a85bf1 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -0,0 +1,76 @@ +module _3gpp-nr-nrm-mwab { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mwab"; + prefix "mwab3gpp"; + + import ietf-yang-types { prefix yang; } + import _3gpp-common-yang-types { prefix types3gpp; } + 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 ExternalGNBCUCPFunction + 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-04-25 { reference CR-1527 ; } + + grouping MWABGrp { + description "Represets the ExternalENBFunction IOC."; + + leaf operationalState { + description "It indicates the operational state of the MWAB instance. + It describes whether the resource is installed and partially or fully + operable (Enabled) or the resource is not installed or not + operable (Disabled)."; + mandatory true; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "It indicates the administrative state of the MWAB instance. + It describes the permission to use or prohibition against using the + MWAB functionalities, imposed through the OAM services."; + default LOCKED; + type types3gpp:AdministrativeState; + } + + list allowedArea { + description "This specifies the area where the MWAB can act as MWAB-gNB. + If the OAM indicates that the MWAB can act as MWAB-gNB is allowed areas, + it acts as MWAB-gNB only on the allowed area only. + (See sub clause 5.49 TS 28.662)."; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + leaf-list allowedTime { + description "This species the time window for which the MWAB can act as + MWAB-gNB. If the allowed time window/validity indicates 20th June, + 10 am to 5 pm of the day, the MWAB acts as an MWAB g-NB only during + 20th June, 10 am to 5 pm of the day, and does not act as MWAB-gNB for + any other time. (See sub clause 5.49 TS 28.662)."; + type yang:date-and-time; + } + } + + grouping MWABSubTree { + list MWAB { + description "MWAB provides an NR access link to UEs in proximity and + connects to the 5GC serving the UE through an IP connectivity provided + by a Backhaul PDU session(s). The MWAB consists of a gNB component + (MWAB-gNB) and a UE component (MWAB-UE). This IOC defines the + configuration information for the MWAB-gNB."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MWABGrp; + } + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 5564721df..734a4da74 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -3,7 +3,8 @@ module _3gpp-nr-nrm-nrfrequency { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfrequency"; prefix "nrfreq3gpp"; - import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -16,18 +17,14 @@ module _3gpp-nr-nrm-nrfrequency { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference CR-1527 ; } 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 "Initial version"; - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial version"; } grouping NRFrequencyGrp { description "Represents the NRFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; leaf absoluteFrequencySSB { description "The absolute frequency applicable for a downlink NR carrier @@ -37,17 +34,19 @@ module _3gpp-nr-nrm-nrfrequency { } leaf ssBSubCarrierSpacing { - description "Sub-carrier spacing of the SSB."; + description "Sub-carrier spacing of the SSB. + Note that the allowed values of SSB used for representing data, + by e.g. a BWP, are: 15, 30, 60 and 120 in units of kHz."; mandatory true; - type uint8 { range "15 | 30 | 60 | 120"; } + type uint8 { range "15 | 30 | 60 | 120 | 240"; } units "kHz"; } - leaf-list multiFrequencyBandListNR { + leaf multiFrequencyBandListNR { description "List of additional frequency bands the frequency belongs to. The list is automatically set by the gNB."; + mandatory true; config false; - min-elements 1; type uint16 { range "1..256"; } } } @@ -55,23 +54,30 @@ module _3gpp-nr-nrm-nrfrequency { grouping NRFrequencyWrapper { list NRFrequency { description "Represents certain NR frequency properties."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { uses NRFrequencyGrp; } - uses mf3gpp:ManagedFunctionContainedClasses; } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + feature NRFrequencyUnderNRNetwork { + description "NRFrequency shall be contained under NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature NRFrequencyUnderNRNetwork; uses NRFrequencyWrapper; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; + feature NRFrequencyUnderSubNetwork { + description "NRFrequency shall be contained under SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature NRFrequencyUnderSubNetwork; uses NRFrequencyWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang index 9e622884d..044c2d0db 100755 --- a/yang-models/_3gpp-nr-nrm-nrnetwork.yang +++ b/yang-models/_3gpp-nr-nrm-nrnetwork.yang @@ -3,40 +3,37 @@ module _3gpp-nr-nrm-nrnetwork { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; prefix "nrnet3gpp"; - import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } 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 NRNetwork 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-04-25 { reference "CR-1526 CR-1527" ; } // common r17, r18 revision 2023-09-18 { reference CR-1043 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderNRNetwork { - description "Classes representing external entities like NRFrequency, - ExternalGNBCUCPFunction, ExternalGNBDUFunction - are contained under a NRNetwork list/class."; - } + revision 2019-06-17 { reference "Initial revision"; } grouping NRNetworkGrp { - description "Represents the NRNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; + description "Represents the NRNetwork IOC. + Contains no additiona attributes."; } - list NRNetwork { - description "A subnetwork containing gNB external NR entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRNetworkGrp; + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { + list NRNetwork { + description "Represents a set of NR frequencies and external NR entities + (e.g. ExternalGNBCUCPFunction). This is used to differentiate these + entities and frequencies from those in EUTRAN."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRNetworkGrp; + } } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang index 42afcf248..b4d490fbb 100755 --- a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-nroperatorcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the OperatorDU 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-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-01 { reference "Initial revision"; } @@ -79,7 +80,6 @@ module _3gpp-nr-nrm-nroperatorcelldu { container attributes { uses NROperatorCellDUGrp; } - uses gnbdu3gpp:GNBDUFunctionGrp; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 20dd62cf4..43e2a86eb 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-ntnfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-27 { reference CR-1512; } revision 2025-02-17 { reference CR-1479 ; } revision 2024-05-24 { reference CR-1273 ; } @@ -326,7 +327,9 @@ module _3gpp-nr-nrm-ntnfunction { NR access. This IOC contains instances of NTNTimeBasedConfig to support time-based configuration of the following NTN related entities: EP_NgC, NRCellCU, NRCellDU, NRSectorCarrier, SectorEquipmentFunction, - and NRCellRelation."; + and NRCellRelation. The IP Configuration of the feeder links may be + configured via IP Autoconfiguration services [x] and/or configured via + instances of NTNTimeBasedConfig in anticipation of feeder link switchovers."; key id; max-elements 1; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-operatordu.yang b/yang-models/_3gpp-nr-nrm-operatordu.yang index 98a702b77..f50f7873a 100755 --- a/yang-models/_3gpp-nr-nrm-operatordu.yang +++ b/yang-models/_3gpp-nr-nrm-operatordu.yang @@ -7,15 +7,17 @@ module _3gpp-nr-nrm-operatordu { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-gnbdufunction {prefix gnbdu3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-nr-nrm-ep { prefix ep3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the OperatorDU 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-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2024-02-24 { reference CR-1218; } revision 2023-11-14 { reference "CR1136"; } revision 2023-09-30 { reference "CR1048"; } @@ -76,7 +78,14 @@ module _3gpp-nr-nrm-operatordu { container attributes { uses OperatorDUGrp; } - uses gnbdu3gpp:GNBDUFunctionGrp; + + uses ep3gpp:EP_F1CSubtree { + refine EP_F1C { + max-elements 1; + } + } + + uses ep3gpp:EP_F1USubtree; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index aad5c5e9f..0d89212f6 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -26,7 +26,7 @@ module _3gpp-nr-nrm-rrmpolicy { revision 2020-04-28 { reference "CR0285"; } revision 2020-02-14 { reference "Initial revision"; } - grouping rRMPolicyMemberGrp { + grouping RRMPolicyMemberGrp { description "This data type represents an RRM Policy member that will be part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI). @@ -70,7 +70,7 @@ module _3gpp-nr-nrm-rrmpolicy { the PLMNId <> and S-NSSAI <>." ; min-elements 1; key "mcc mnc sd sst"; - uses rRMPolicyMemberGrp; + uses RRMPolicyMemberGrp; } } // grouping @@ -114,7 +114,7 @@ module _3gpp-nr-nrm-rrmpolicy { } } - grouping RrmPolicySubtree { + grouping RRMPolicySubtree { description "Contains RrmPolicy related classes. Should be used in all classes (or classes inheriting from) - NRCellCU, NRCellDU, GNBCUUPFunction, GNBCUCPFunction, GNBDUFunction @@ -179,24 +179,24 @@ module _3gpp-nr-nrm-rrmpolicy { augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrcellcu3gpp:NRCellCU" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/" + "nrcelldu3gpp:NRCellDU" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-stm-nrm-stmfunction.yang b/yang-models/_3gpp-stm-nrm-stmfunction.yang new file mode 100644 index 000000000..b26ef7fb2 --- /dev/null +++ b/yang-models/_3gpp-stm-nrm-stmfunction.yang @@ -0,0 +1,191 @@ +module _3gpp-stm-nrm-stmfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-stm-nrm-stmfunction; + prefix stm3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the STM function defined in 3GPP TS 28.560. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.abc + Signalling traffic monitoring management"; + + revision 2025-05-07 { reference "CR-0009"; } + revision 2025-04-19 { reference "CR-0010"; } + revision 2024-11-07 { reference "S5-247077"; } + + grouping NetworkInterfaceGrp { + description "Represents the network interfaces for which signalling + traffic messages are to be copied and sent to the external entity. + The attribute networkInterfaceType specifies the network interface type + to be monitored. The optional attribute networkInterfaceInstanceList + specifies the network interface instances to be monitored. It is a list + of applicable network interface instances of the network interface type + specified by networkInterfaceType. The optional attribute + serviceOperationList specifies the service operations to be monitored. + It is a list of applicable service operations exchanged over the network + interface instances specified by networkInterfaceInstanceList, or, if + networkInterfaceInstanceList is not present, it is list of applicable + service operations exchanged over the network interface type specified + by networkInterfaceType."; + + leaf networkInterfaceType { + type enumeration { + enum ALL; + enum N2; + enum N4; + enum N5; + enum N7; + enum N8; + enum N10; + enum N11; + enum N12; + enum N13; + enum N14; + enum N15; + enum N16; + enum N17; + enum N18; + enum N20; + enum N21; + enum N22; + enum N23; + enum N26; + enum N28; + enum N29; + enum N30; + enum N33; + enum N34; + enum N35; + enum N36; + enum N37; + enum N40; + enum N41; + enum N42; + enum N51; + enum N52; + enum N58; + enum N59; + enum N60; + enum N61; + enum N62; + enum N63; + enum N80; + enum N81; + enum N82; + enum N83; + enum N84; + enum N85; + enum N86; + enum N87; + enum N88; + enum N89; + enum N96; + enum NL1; + enum NL2; + enum NL5; + enum NL6; + enum NL8; + enum NL9; + } + description "List of network interface type to be monitored. The + applicable network interface type names are specified based on + subclause 4.2.3 of 3GPP TS 23.501 and clause 4.2.1 of 3GPP + TS 23.273. + The value ALL is specified for the case if all the applicable + interface type of the network function shall be monitored."; + reference "Clause 4.2.3 of 3GPP TS 23.501 and clause 4.2.1 of + 3GPP TS 23.273 for details on the allowed values."; + } + + leaf-list networkInterfaceInstanceList { + type types3gpp:DistinguishedName; + description "The list of applicable network interface instances, for + which the monitoring is to be performed, of the network interface + type specified by networkInterfaceType."; + reference "allowedValues: DN of the following MOIs as specified + in subclause 5.2.1 of 3GPP TS 28.541"; + } + + leaf-list serviceOperationList { + type string; + description "The list of applicable service operations exchanged + over the network interface instances specified by + networkInterfaceInstanceList, that needs to be monitored. Or, + If networkInterfaceInstanceList is not present, the list of + applicable service operations exchanged over the network + interface type specified by networkInterfaceType."; + reference "allowedValues: refer to subclause 5.2 of 3GPP + TS 23.502"; + } + } + + grouping StmCtrlGrp { + description "Represents the StmCtrl IOC."; + + leaf-list reportingNFList { + type types3gpp:DistinguishedName; + description "List of Network Function Distinguished Name, which + specifies the target network interface type to be monitored. If + this parameter is not present or it is empty, then all applicable + interface types from the target NF shall be monitored"; + } + + list targetInterfaceInfoList { + uses NetworkInterfaceGrp; + key "networkInterfaceType"; + description "List of network interface to be monitored. If this + parameter is not present or it is empty, then all Network Functions + within the SubNetwork or ManagedElement shall be monitored. This + parameter shall be omitted if the STM control object is specified + under a ManagedFunction. "; + } + + leaf stmTargetUri { + type inet:uri; + mandatory true; + description "It specifies the Uniform Resource Identifier (URI) of the STM + consumer that shall receive the monitored signalling message copies "; + reference "Clause 4.4 of 3GPP TS 32.158"; + } + + leaf administrativeState { + default LOCKED; + type types3gpp:BasicAdministrativeState ; + description "It is used by the STM consumer to lock or unlock the + StmCtrl instance in order to stop or start the signalling traffic + monitoring"; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "It is used by STM consumer to report its working state"; + } + } + + grouping StmCtrlSubTree { + description "Contains classes that manage Signalling traffic monitoring + management"; + + list StmCtrl { + description "This IOC represents the STM Control and Configuration + parameters of a particular STM controlling. It can be + name-contained by SubNetwork, ManagedElement, or ManagedFunction."; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses StmCtrlGrp ; + } + + } + } +} \ No newline at end of file -- GitLab