From ca845082e5be338c773a044ea729440c5fcb436d Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 20 Jun 2025 14:28:51 +0200 Subject: [PATCH 01/46] updated revision dates to avoid duplicate dates --- yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang | 1 + yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index 34db5ada0..5489a5413 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-05-01 { reference CR-xxxx ; } revision 2025-04-25 { reference CR-1520 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 0d89212f6..3f3f5e61b 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -20,7 +20,7 @@ module _3gpp-nr-nrm-rrmpolicy { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-19 { reference CR-1043 ; } //date updated; it was already used in R18 revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-04-28 { reference "CR0285"; } -- GitLab From 5a7d0bcdb45fea411d957945c70f624f1b7163af Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 20 Jun 2025 16:54:33 +0200 Subject: [PATCH 02/46] corrected duplicate revision dates and CR numbers --- yang-models/_3gpp-nr-nrm-ecmappingrule.yang | 2 +- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index 00f44bc9a..f971ade81 100644 --- a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -9,7 +9,7 @@ module _3gpp-nr-nrm-ecmappingrule { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the unified mapping rule input to support Energy Cost Index Mapping when Energy Cost Reporting. - Copyright 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"; diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 734a4da74..6f5d07659 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -17,8 +17,7 @@ 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 2025-04-25 { "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 { reference "Initial version"; } -- GitLab From b456fee5c8b4eca4fe15979152440f2827a38ee7 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 20 Jun 2025 16:57:37 +0200 Subject: [PATCH 03/46] yang fault correction --- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 6f5d07659..bd045b52d 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -17,7 +17,7 @@ module _3gpp-nr-nrm-nrfrequency { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-04-25 { "CR-1526 CR-1527"; } // common for r18, r19 + 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 { reference "Initial version"; } -- GitLab From c73f2097c6ff39dad21a7923fd90c8af03ce6a13 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 12:12:27 +0200 Subject: [PATCH 04/46] Aliging yaml CR S5-253105 Rel-19 CR TS 28.541 Enhancing NR NRM to control RedCap and e-RedCap UEs access --- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 7 ++ yang-models/_3gpp-nr-nrm-redcapaccess.yang | 82 ++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100755 yang-models/_3gpp-nr-nrm-redcapaccess.yang diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 392b11cd2..fd30c8da0 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-07-25 { reference CR-; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } revision 2024-05-24 { reference CR-1273 ; } @@ -362,6 +363,12 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; description "DN of an aggressor Set (RimRSSet)"; } + + leaf redCapAccessCriteriaRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of the redCapAccessCriteria MOI "; + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang new file mode 100755 index 000000000..0cfa19be1 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -0,0 +1,82 @@ +module _3gpp-nr-nrm-redcapaccess { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapacess"; + prefix "redcapaccess"; + + import _3gpp-common-yang-types { prefix types3gpp; } + 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 NRCellDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-07-07 { reference CR-; } + + feature redcapaccesscriteriasubnertwork { + description "The RedCap acsess criterea shall be contained under + SubNetwork"; + } + + + grouping RedCapAccessCriteriaGrp { + description "Represents the RedCapAccessCriteria <> "; + + leaf nRCellDURef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of a NR Cell (NRCellDU) "; + } + + leaf criteriaConditionRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This specifies the DN of the ConditionMonitor MOI.The + attribute condition will contain information on the condition to be + satisfied to restrict Redcap UE access. This means that the value of + attribute “uECellBarredAccess” of NRCellDU IOC will be set to + REDCAP_1RX and REDCAP_2RX if this condition is met.The condition + will be created providing following information: + The performance metrics (KPIs and performance measurements) that are + to be considered in the criteria for deciding whether the cell in a + RAN node is barred or allowed for RedCap/eRedCap UEs + The direction (up and down) that is to be considered for crossing + the threshold value of the given performance metrics for taking a + decision whether the RAN node is barred or allowed for + RedCap/eRedCap UEs. + The threshold level of performance metrics value which when crossed + the RAN node is barred or allowed for RedCap/eRedCap UEs"; + } + + + } + + augment "/subnet3gpp:SubNetwork" { + if-feature redcapaccesscriteriasubnertwork; //Optional support + list RedCapAccessCriteria { + description "The RedCapAccessCriteria <> contains attributes + to support the controlling of RedCap access in a NR Cell. + It provides information of a condition (for example, KPIs such as + Total DRB accessibility, DRB Retainability , Utilization KPI, + NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. + and Performance measurements such as DL/UL Total PRB Usage, + Average DL/UL UE throughput in gNB etc.) which can be used to + control decision of barring or allowing access of RedCap/eRedCap + UEs to a NR Cell. This information can be used to decide whether + RedCap/eRedCap UEs are barred or allowed at the time of new UE + access attempt in NR cell during applicable RAN procedures."; + + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses RedCapAccessCriteriaGrp; + } + } + } + +} \ No newline at end of file -- GitLab From de915e76cdcf363e760c72f0ae76b86faa4ce145 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 12:13:24 +0200 Subject: [PATCH 05/46] Aliging yaml CR S5-253105 Rel-19 CR TS 28.541 Enhancing NR NRM to control RedCap and e-RedCap UEs access --- yang-models/_3gpp-nr-nrm-redcapaccess.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 0cfa19be1..9ea7e151f 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -56,7 +56,7 @@ module _3gpp-nr-nrm-redcapaccess { } augment "/subnet3gpp:SubNetwork" { - if-feature redcapaccesscriteriasubnertwork; //Optional support + if-feature redcapaccesscriteriasubnertwork; list RedCapAccessCriteria { description "The RedCapAccessCriteria <> contains attributes to support the controlling of RedCap access in a NR Cell. -- GitLab From 917cd17275b3bc7cd9c3384fd59c48dfddbcd80f Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 14:22:23 +0200 Subject: [PATCH 06/46] correct lint errors --- yang-models/_3gpp-nr-nrm-redcapaccess.yang | 162 ++++++++++----------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 9ea7e151f..06d94b853 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -1,82 +1,82 @@ -module _3gpp-nr-nrm-redcapaccess { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapacess"; - prefix "redcapaccess"; - - import _3gpp-common-yang-types { prefix types3gpp; } - 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 NRCellDU Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2025-07-07 { reference CR-; } - - feature redcapaccesscriteriasubnertwork { - description "The RedCap acsess criterea shall be contained under - SubNetwork"; - } - - - grouping RedCapAccessCriteriaGrp { - description "Represents the RedCapAccessCriteria <> "; - - leaf nRCellDURef { - type types3gpp:DistinguishedName; - mandatory true; - description "This attribute contains the DN of a NR Cell (NRCellDU) "; - } - - leaf criteriaConditionRef { - type types3gpp:DistinguishedName; - mandatory true; - description "This specifies the DN of the ConditionMonitor MOI.The - attribute condition will contain information on the condition to be - satisfied to restrict Redcap UE access. This means that the value of - attribute “uECellBarredAccess” of NRCellDU IOC will be set to - REDCAP_1RX and REDCAP_2RX if this condition is met.The condition - will be created providing following information: - The performance metrics (KPIs and performance measurements) that are - to be considered in the criteria for deciding whether the cell in a - RAN node is barred or allowed for RedCap/eRedCap UEs - The direction (up and down) that is to be considered for crossing - the threshold value of the given performance metrics for taking a - decision whether the RAN node is barred or allowed for - RedCap/eRedCap UEs. - The threshold level of performance metrics value which when crossed - the RAN node is barred or allowed for RedCap/eRedCap UEs"; - } - - - } - - augment "/subnet3gpp:SubNetwork" { - if-feature redcapaccesscriteriasubnertwork; - list RedCapAccessCriteria { - description "The RedCapAccessCriteria <> contains attributes - to support the controlling of RedCap access in a NR Cell. - It provides information of a condition (for example, KPIs such as - Total DRB accessibility, DRB Retainability , Utilization KPI, - NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. - and Performance measurements such as DL/UL Total PRB Usage, - Average DL/UL UE throughput in gNB etc.) which can be used to - control decision of barring or allowing access of RedCap/eRedCap - UEs to a NR Cell. This information can be used to decide whether - RedCap/eRedCap UEs are barred or allowed at the time of new UE - access attempt in NR cell during applicable RAN procedures."; - - key id; - max-elements 1; - uses top3gpp:Top_Grp; - container attributes { - uses RedCapAccessCriteriaGrp; - } - } - } - +module _3gpp-nr-nrm-redcapaccess { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapaccess"; + prefix "redcapaccess3gpp"; + import _3gpp-common-yang-types { prefix types3gpp; } + 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 NRCellDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-07-07 { reference CR-; } + + feature redcapaccesscriteriasubnertwork { + description "The RedCap acsess criterea shall be contained under + SubNetwork"; + } + + + grouping RedCapAccessCriteriaGrp { + description "Represents the RedCapAccessCriteria <> "; + + leaf nRCellDURef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of a NR Cell (NRCellDU) "; + } + + leaf criteriaConditionRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This specifies the DN of the ConditionMonitor MOI.The + attribute condition will contain information on the condition to be + satisfied to restrict Redcap UE access. This means that the value of + attribute uECellBarredAccess of NRCellDU IOC will be set to + REDCAP_1RX and REDCAP_2RX if this condition is met.The condition + will be created providing following information: + The performance metrics (KPIs and performance measurements) that are + to be considered in the criteria for deciding whether the cell in a + RAN node is barred or allowed for RedCap/eRedCap UEs + The direction (up and down) that is to be considered for crossing + the threshold value of the given performance metrics for taking a + decision whether the RAN node is barred or allowed for + RedCap/eRedCap UEs. + The threshold level of performance metrics value which when crossed + the RAN node is barred or allowed for RedCap/eRedCap UEs"; + } + + + } + + augment "/subnet3gpp:SubNetwork" { + if-feature redcapaccesscriteriasubnertwork; + list RedCapAccessCriteria { + description "The RedCapAccessCriteria <> contains attributes + to support the controlling of RedCap access in a NR Cell. + It provides information of a condition (for example, KPIs such as + Total DRB accessibility, DRB Retainability , Utilization KPI, + NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. + and Performance measurements such as DL/UL Total PRB Usage, + Average DL/UL UE throughput in gNB etc.) which can be used to + control decision of barring or allowing access of RedCap/eRedCap + UEs to a NR Cell. This information can be used to decide whether + RedCap/eRedCap UEs are barred or allowed at the time of new UE + access attempt in NR cell during applicable RAN procedures."; + + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses RedCapAccessCriteriaGrp; + } + } + } + } \ No newline at end of file -- GitLab From 9a59bfb8412676ec83f919bb6421c6fd4439cb55 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 14:25:41 +0200 Subject: [PATCH 07/46] corect lint errors --- yang-models/_3gpp-nr-nrm-redcapaccess.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 06d94b853..77914ad37 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -1,7 +1,7 @@ module _3gpp-nr-nrm-redcapaccess { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapaccess"; - prefix "redcapaccess3gpp"; + prefix "redcap3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } -- GitLab From 928df793a2cea4444cdcbc54a7e40347502c8b70 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 14:52:25 +0200 Subject: [PATCH 08/46] aligne correct S5-252333 Rel-19 CR TS 28.541 Correct stage2 and stage3 definition for attribute allowedTime in MWAB --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 3 +++ yang-models/_3gpp-nr-nrm-mwab.yang | 17 +++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index d776bf37a..335eb3c16 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -333,6 +333,9 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf mWABRef { type types3gpp:DistinguishedName; + description "This attribute represents the MWAB functionality + (See sub clause 5.49 [11]). This attribute contains the DN of the + referenced MWAB."; } } diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index e57a85bf1..ab4791037 100644 --- a/yang-models/_3gpp-nr-nrm-mwab.yang +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -3,7 +3,6 @@ module _3gpp-nr-nrm-mwab { 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; } @@ -49,13 +48,15 @@ module _3gpp-nr-nrm-mwab { 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; + list allowedTime { + description "This specifies 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 [11])."; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; } } -- GitLab From cec0dcd00e17dd45ea9daeab481b2ec69e984be9 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 16:04:57 +0200 Subject: [PATCH 09/46] aligne yang with yaml from CR S5-252933 Enhancements on NRFFunction to support hierarchical NRF scenario --- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index e8a8ff3bc..ad84040eb 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -76,6 +76,14 @@ module _3gpp-5gc-nrm-nrffunction { key nfInstanceId; uses nfp3gpp:NFProfileGrp; } + list managedNFProfile { + key idx; + min-elements 1; + max-elements 1; + uses types3gpp:ManagedNFProfile; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } } augment "/me3gpp:ManagedElement" { -- GitLab From a4de3e966adb46d681452942b58fe26e6cb6a23e Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 22 Jul 2025 22:56:10 +0200 Subject: [PATCH 10/46] make VnfParameter. autoScalable attribute nulable in order to align with CR S5-251976 --- yang-models/_3gpp-common-managed-function.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 2bffe8a90..f7a5a379f 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -25,6 +25,7 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-07-25 { reference "CR-"; } revision 2025-04-19 { reference "CR-0541"; } revision 2024-11-19 { reference "Add STM"; } revision 2024-02-24 { reference CR-0346; } @@ -201,7 +202,6 @@ module _3gpp-common-managed-function { leaf autoScalable { type boolean ; - mandatory true; description "Indicator of whether the auto-scaling of this VNF instance is enabled or disabled."; } -- GitLab From 1b696c6d021deb3d33fb0d1a3b8a803ff382e1bf Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 15:32:10 +0200 Subject: [PATCH 11/46] CR S5-252889 --- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 5f9de8da5..19b3c3138 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -18,10 +18,11 @@ module _3gpp-nr-nrm-gnbdufunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-07-19 { reference CR-1558; } 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 ; } + revision 2024-02-24 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2022-11-02 { reference "CR-0753"; } revision 2022-07-28 { reference "CR-0770"; } @@ -187,17 +188,18 @@ module _3gpp-nr-nrm-gnbdufunction { uses RimRSReportConfGrp; } leaf isOnboardSatellite { - type boolean; + type boolean; default false; + config false; description "This attribute indicates whether the function is on board the satellite."; } leaf onboardSatelliteId { - type string; + 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."; - } + leading digits '0' to complete a 5-digit length."; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the GNBDUFunction supports -- GitLab From 2f0e544376539549f9ad9d5d355361656aae9585 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 15:34:49 +0200 Subject: [PATCH 12/46] trace clarification --- yang-models/_3gpp-common-trace.yang | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index bec576ffc..ffef34021 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-06-25 { reference "CR-xxxx" ; } 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" ; } @@ -202,10 +203,13 @@ module _3gpp-common-trace { uses types3gpp:PLMNId; // mcc+mnc leaf traceId { - type string; + type string { + pattern "[0-9a-fA-F]{6}"; + } mandatory true; description "An identifier, which identifies the Trace - (together with MCC and MNC). This is a 3 byte Octet String."; + (together with MCC and MNC). This is a 3 byte Octet String, + expressed in hexadecimal form e.g., '1a7b3d')."; } } -- GitLab From 0f1212a15a4c178a7f27ca51f38d681411e6c168 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 15:40:16 +0200 Subject: [PATCH 13/46] trace clarification --- yang-models/_3gpp-common-trace.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index ffef34021..8e94b81ef 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,7 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2025-06-25 { reference "CR-xxxx" ; } + revision 2025-06-25 { reference "CR-0551" ; } 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" ; } -- GitLab From fe36e7ba0b74e2b12e0950c809e2a669f9ae593e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 16:40:50 +0200 Subject: [PATCH 14/46] removed notifyChangedAlarm --- yang-models/_3gpp-common-subscription-control.yang | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index fcc5451e6..471d19c54 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -20,11 +20,12 @@ 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 ; } + revision 2025-07-19 { reference CR-0551; } + 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; } revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } revision 2021-01-16 { reference "CR-0120"; } @@ -123,7 +124,6 @@ module _3gpp-common-subscription-control { enum notifyMOIChanges; enum notifyEvent; enum notifyNewAlarm; - enum notifyChangedAlarm; enum notifyAckStateChanged; enum notifyComments; enum notifyCorrelatedNotificationChanged; -- GitLab From 84e0ece8d03dc99848fbee4025369a17cb2d789d Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 22:31:38 +0200 Subject: [PATCH 15/46] S5-252275 --- yang-models/_3gpp-common-externaldata.yang | 135 ++++++++ ..._3gpp-common-managementdatacollection.yang | 293 +++++++++++++----- yang-models/_3gpp-common-mnsregistry.yang | 189 +++++++++-- 3 files changed, 516 insertions(+), 101 deletions(-) create mode 100644 yang-models/_3gpp-common-externaldata.yang diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang new file mode 100644 index 000000000..63700caf8 --- /dev/null +++ b/yang-models/_3gpp-common-externaldata.yang @@ -0,0 +1,135 @@ +module _3gpp-common-externaldata { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-externaldata"; + prefix "exdata3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the external data. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + + revision 2025-07-19 { reference CR-0551; } + + grouping ExternalDataScopeGrp { + list geoAreas { + description "It describes the concrete geographical area(s)"; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + leaf-list objectInstancesIncluded { + type types3gpp:DistinguishedName; + description "List of managed object instances to which the described + data are related. Each object instance is identified by its DN."; + } + + leaf-list objectInstancesExcluded { + type types3gpp:DistinguishedName; + description "List of managed object instances which are not considered + in relation to the described data. Each object instance is identified + by its DN."; + } + } + + grouping ExternalDataTypeGrp { + description "Represents the IOC ExternalDataType"; + + leaf externalDataType { + type string; + mandatory true; + description "Type of external management data as defined by the + implementation. + + Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', + 'Event Schedule”"; + } + + leaf-list mediaLocation { + type inet:uri; + description "URI of the media which includes the transfer protocol. + + Examples: + sftp://companyA.com/datastore/fileName.xml + https://companyA.com/ManagedElement=1/Files=1/File=1"; + } + + leaf externalDataTypeSchema { + type inet:uri; + mandatory true; + description "URI of the schema to parse a type of external management data. + The detailed schema definition for the different types of external + management data is out of scope of this specification."; + } + + list externalDataScope { + description "It describes the concrete scope which the external management + data is applicable."; + key idx; + leaf idx { type uint32; } + uses ExternalDataScopeGrp; + } + } + + augment /subnet3gpp:SubNetwork { + list ExternalDataType { + description "This IOC specifies a type of external management data and + the associated meta data. + + External management data is data which enrich 3GPP specified management + data and management data specified based on 3GPP defined management data + definition templates and frameworks. External management data can be + produced by data sources of different nature (e.g. sensors) with different + formats. Details see clause 6.4.1 in TS 28.537. + + MnS producer may use this IOC to describe external management data. + + For example, MnS producer publishes all external management data which + are available. + + MnS consumer may use this IOC to configure, discover or request external + management data. For example, MnS consumer discovers and requests certain + types of external management data. + + The ExternalDataType IOC can be name-contained by SubNetwork. + + Attribute externalDataType defines the type of external management data. + + Attribute mediaLocation indicates the address from which the described + external management data can be retrieved. + + The value of mediaLocation, if present, can provide one or several + directories or the address where the described external management data + can be retrieved. The different directories can be used to group the + external management data, e.g., one directory per geographical area or + per time period. For example, the value of the mediaLocation attribute + can be given by + + sftp://companyA.com/datastore/weatherforecasts/ + + In this case a potential file with name 'weatherforecastMunicht0.xml' + needs to be retrieved using 'sftp' from + + sftp://companyA.com/datastore/weatherforecasts/weatherforecastMunicht0.xml. + + Attribute externalDataTypeSchema indicates the URI where the MnS consumer + can get the schema to parse the external management data. + + Attribute externalDataScope is used to describe the concrete scope (e.g., + geographical areas) which the external management data is applicable."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalDataTypeGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index 68e8a3ad8..04e52aa0f 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -24,6 +24,7 @@ module _3gpp-common-managementdatacollection { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-07-19 { reference CR-0551; } revision 2025-02-07 { reference "CR-0461 CR-0505"; } revision 2024-04-12 { reference CR-0346; } revision 2023-11-18 { reference CR-0299 ; } @@ -32,6 +33,82 @@ module _3gpp-common-managementdatacollection { revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0194"; } + grouping ManagementDataGrp { + description "This <> defines the management data which is + requested. It is a choice between + - a list of data categories (attribute mgtDataCategory) This may include + 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' + etc. The mapping of exact measurement with the requested category will be + done at the producer and is implementation specific. + - a list of management data identified with their name (attribute + 'mgtDataName'). The management data name presents a specific single + measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or + 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. + measurement families such as RRU (radio resource utilization) or + MM (mobility management) in case of PM, see TS 28.552 [20], or group of + measurements such as 'immediateMdt.nr' in case of MDT, see TS 32.422)."; + choice managementData { + case mgtDataCategory { + leaf-list category { + type mgtDataCategoryType; + min-elements 1; + max-elements 5; // The ENUM contains 5 possible values + description "This attributes defines the type of management data that + are requested. + + Allowed values for data category are COVERAGE, CAPACITY, + ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories + will map to certain measurement families defined in TS 28.552, see + below. In addition to the below mappings, MnS producer may map the + provided categories to any additional proprietary management data, + as appropriate. + + - The COVERAGE category will map to measurement families of MR + (measurements related to Measurement Report) and L1M (measurements + related to Layer 1 Measurement). + + - The CAPACITY category will map to measurement family RRU + (measurements related to Radio Resource Utilization). + + - The ENERGY_EFFICIENCY category will map to measurement family PEE + (measurements related to Power, Energy and Environment). + + - The MOBILITY category will map to measurement family MM + (measurements related to Mobility Management). + + - The ACCESSIBILITY category will map to measurement family CE + (measurements related to Connection Establishment)."; + } + } + case mgtDataName { + leaf-list name { + type string; + min-elements 1; + description "List of management data identified by name. + + The list may include metrics or set of metrics defined + in TS 28.552, TS 28.554 and TS 32.422. + + The metrics are identified with their names/identifiers. + For performance measurements defined in TS 28.552 the name is + constructed as the bullet e) of the measurement definition. + + For KPIs defined in TS 28.554 the name is defined according to the + KPI definitions template as the component designated with a). + + For trace metrics (including trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF + reports) defined in TS 32.422, the name (metric identifier) is + defined in clause 10 of TS 32.422. + + For non-3GPP specified managment data the name is defined + elsewhere."; + } + } + mandatory true; + } + } + grouping GeoAreaToCellMappingGrp { description "Represents the GeoAreaToCellMapping data type. @@ -155,6 +232,13 @@ module _3gpp-common-managementdatacollection { subnet should be targeted. Please refer to 3GPP TS 23.501: 'System Architecture for the 5G System'"; } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + description "List of managed object instances. Each object instance is + identified by its DN."; + } } typedef mgtDataCategoryType { @@ -170,65 +254,9 @@ module _3gpp-common-managementdatacollection { grouping ManagementDataCollectionGrp { - choice managementData { - case mgtDataCategory { - leaf-list category { - type mgtDataCategoryType; - min-elements 1; - max-elements 5; // The ENUM contains 5 possible values - description "This attributes defines the type of management data that - are requested. - - Allowed values for data category are COVERAGE, CAPACITY, - ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories - will map to certain measurement families defined in TS 28.552, see - below. In addition to the below mappings, MnS producer may map the - provided categories to any additional proprietary management data, - as appropriate. - - - The COVERAGE category will map to measurement families of MR - (measurements related to Measurement Report) and L1M (measurements - related to Layer 1 Measurement). - - - The CAPACITY category will map to measurement family RRU - (measurements related to Radio Resource Utilization). - - - The ENERGY_EFFICIENCY category will map to measurement family PEE - (measurements related to Power, Energy and Environment). - - - The MOBILITY category will map to measurement family MM - (measurements related to Mobility Management). - - - The ACCESSIBILITY category will map to measurement family CE - (measurements related to Connection Establishment)."; - } - } - case mgtDataName { - leaf-list name { - type string; - min-elements 1; - description "List of management data identified by name. - - The list may include metrics or set of metrics defined - in TS 28.552, TS 28.554 and TS 32.422. - - The metrics are identified with their names/identifiers. - For performance measurements defined in TS 28.552 the name is - constructed as the bullet e) of the measurement definition. - - For KPIs defined in TS 28.554 the name is defined according to the - KPI definitions template as the component designated with a). - - For trace metrics (including trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF - reports) defined in TS 32.422, the name (metric identifier) is - defined in clause 10 of TS 32.422. - - For non-3GPP specified managment data the name is defined - elsewhere."; - } - } - mandatory true; + uses ManagementDataGrp { + description "This attribute defines the list of management data that are + requested."; } list targetNodeFilter { @@ -271,6 +299,48 @@ module _3gpp-common-managementdatacollection { description "It specifies whether the required data is reported per S-NSSAI or per 5QI."; } + + leaf condition { + type string; + mandatory true; + yext3gpp:inVariant; + description "Logical expression of one or several condition(s). + + The actual syntax and capabilities of condition is SS specific. However, + each SS should support condition consisting of one or several assertions + that may be grouped using the logical operators AND, OR and NOT. Only if + the whole expression of condition evaluates TRUE, the attribute + conditionStatus will be TRUE. + + Each assertion is a pointer to a Boolean parameter or a logical + expression of attribute existence or attribute value comparison + ('equal to X, less than Y' etc.). + + An empty string is not allowed."; + } + + list processMonitor { + config false; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type string; } + description "Indicates the process of the ManagementDataCollection MOI."; + } + + leaf consolidateOutput { + type boolean; + mandatory true; + yext3gpp:inVariant; + description "Indicates whether the management data collection output will + be consolidated into a single file per reporting period."; + } + + leaf jobId { + type string; + yext3gpp:inVariant; + description "Identifier of a PerfMetricJob, a TraceJob or a QMCJob."; + } } augment /subnet3gpp:SubNetwork { @@ -282,16 +352,18 @@ module _3gpp-common-managementdatacollection { uses ManagementDataCollectionGrp; } description "This IOC represents a management data collection request - job. The requested data could be of kind Trace, MDT (Minimization + job. The requested data is of kind Trace, MDT (Minimization of Drive Test), RLF (Radio Link Failure) report, RCEF (RRC Connection Establishment Failure) report, RRC report, PM (performance measurements), KPI (end-to-end key performance indicators) or a combination of these. - The attribute 'managementData' defines the management data which shall + The attribute managementData defines the management data which shall be reported. This may either include a list of data categories or a list of management data identified with their name. For further details - see TS 28.622 clause 4.3.50. The 'targetNodeFilter' attribute can be + see TS 28.622 clause 4.3.50. + + The targetNodeFilter attribute can be used to target object instance(s) producing the required management data. It is assumed that the consumer may not have detailed knowledge of the network and hence may not identify the exact object instance @@ -302,27 +374,82 @@ module _3gpp-common-managementdatacollection { function. To activate the production of the requested data, a MnS consumer has to - create a 'ManagementDataCollection' object instance on the MnS producer. - - The MnS producer will derive multiple jobs ('PerfMetricJob', - 'TraceJob') from a single 'ManagementDataCollection' job for collecting - the required management data. Once it receives the measurement from - multiple sources, it consolidates the data into a set of management data - for reporting. - - The attribute 'collectionTimeWindow' specifies the time window for which - the management data should be reported. - - The attribute 'reportingCtrl' specifies the method and associated - control parameters for reporting the produced management data to MnS - consumers. Three methods are available: file-based reporting with - selection of the file location by the MnS producer, file-based - reporting with selection of the file location by the MnS consumer and - stream-based reporting. - - The attribute 'dataScope' configures, whether the management data - should be reported per S-NSSAI or per 5QI, if applicable."; + create a ManagementDataCollection object instance on the MnS producer. + + The attribute jobId is used to identify a management data collection + request. + + The production and reporting of the management data can be constrained + by conditions such that only when the conditions are satisfied shall + management data collection be enabled. For example, a MnS consumer can + request to create two ManagementDataCollection instances. One can be + configured with high data producing and reporting period on a set of + conditions (e.g, to reduce transmission cost when network performance + metric is in normal range). Another can be configured with low data + producing and reporting period on another set of conditions (e.g. to + enable network optimization when network performance metric is in + abnormal range). + + The MnS producer may derive multiple jobs (PerfMetricJob, TraceJob) + from a single ManagementDataCollection job for collecting the required + management data. The jobId of the request is used to identify the + output. The value is also used to correlate the derived jobs which + will have the same jobId value as the ManagementDataCollection. + + If the MnS producer receives the collected data from multiple sources, + it will consolidate the data into a set of management data for + reporting based on the value of the attribute consolidateOutput. + + For consolidation of file-based management data the attribute + consolidateOutput controls: + - True: the MnS Producer will combine the file output from jobs used + to collect the required management data into a single output file as + follows: + - File is in compressed format, i.e. zip. + - File shall contain individual output files from each configured job + - Each file retains its original filename + - Each file retains it original content + - Consolidated filename uses naming convention defined in, + TS 28.532 clause 11.3.2.1.4 with the following: + - is a combination of the management data types included in + the consolidated output + - is omitted + - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. + + Subject to the reporting method, the MnS Consumer may receive file + related notifications. When consolidated output is selected the + MnS Producer will create file notifications for the consolidated files. + When consolidated output is not selected, the MnS Producer will create + the notification subscriptions on behalf of the MnS Consumer and the + MnS Consumer will receive notifications directly from the derived jobs. + + The attribute collectionTimeWindow specifies the time window for which + the management data should be reported. The attributes startTime and + the endTime can be in the past, present or in the future. + + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced management data to MnS consumers. + Three methods are available: file-based reporting with selection of the + file location by the MnS producer, file-based reporting with selection + of the file location by the MnS consumer and stream-based reporting. + + The attribute dataScope configures, whether the management data should + be reported per S-NSSAI or per 5QI or per PLMN, if applicable. + + The attribute processMonitor allows the MnS consumer to monitor the + status of the management data collection represented by the object + ManagementDataCollection. + + The MnS producer indicates in the attribute progressStateInfo the + state of the management data collection: + - NOT_STARTED + - RUNNING + - CANCELING + and indicates in the attribute resultStateInfo: + - FINISHED + - FAILED + - PARTIALLY_FAILED + - CANCELLED"; } } - } diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 4e9ae225e..7b03dbc8a 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -6,15 +6,18 @@ module _3gpp-common-mnsregistry { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-managementdatacollection { prefix mgtdatcol3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the MNSRegistry Information Object - Class (IOC) that is part of the Generic Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + description "Defines the YANG mapping of the MNSRegistry IOC and its + contained classes that ares part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } revision 2023-09-18 { reference CR-0271 ; } revision 2023-05-10 { reference CR-0243; } @@ -22,6 +25,135 @@ module _3gpp-common-mnsregistry { revision 2021-11-23 { reference "S5-216090"; } revision 2021-10-18 { reference "S5-215263"; } revision 2021-08-29 { reference "Initial revision, S5-214388"; } + + grouping MgmtDataInfoGrp { + description "Represents the MgmtDataInfo IOC."; + + uses mgtdatcol3gpp:ManagementDataGrp { + description "Defines the list of management data that can be supported. + + The management data is a choice between: + - a list of data categories (attribute mgtDataCategory) + - a list of management data identified with their name + (attribute 'mgtDataName')."; + } + + leaf-list supportedGranularityPeriods { + type int32; + units seconds; + description "Granularity periods supported for the production of + associated management data. The period is defined in seconds."; + } + + leaf-list supportedReportingPeriods { + type uint32; + units seconds; + description "Reporting periods supported for the associated management + data. The period is defined in seconds."; + } + + leaf historicalDataPeriod { + type uint64; + units seconds; + description "This attribute describes the maximum period of the requested + historical data. The period is defined in seconds. + When the value of this attribute is NULL, which means the capability of + querying historical data is not supported."; + } + + leaf-list supportedReportingMethod { + type enumeration { + enum FILE; + enum STREAM; + } + min-elements 1; + description "List of supported reporting methods for the associated + management data."; + } + + leaf-list supportedDataScope { + type enumeration { + enum SNSSAI; + enum 5QI; + enum PLMN; + } + min-elements 1; + description "List of supported sub counter capabilities for the associated + management data"; + } + + leaf-list supportedDataRequestMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to request the associated management data"; + } + + leaf-list supportedDataReportingMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to report the associated management data"; + } + } + + grouping MnsScopeGrp { + description "This <> specifies the list of managed object instances + that can be accessed using the Management Service. These managed object + instances can be represented with one of the following options: + + - A list of DNs, i.e. representing managed object instances identified + by the DN. + + - A list of GeoAreas, i.e. representing managed object instances covered + by the specified geographical areas. In the present document, the + geoAreasList is only used for MnS consumer to retrieve MnS + scope of the specified MnS instance. + + - A list of TAIs, i.e. representing managed object instances covered + by the specified TAIs."; + + choice MnsScope { + mandatory true; + leaf-list objectInstanceList { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes list of DNs for the managed + object instances that can be accessed using the Management Service. + If a complete SubNetwork can be accessed using the Management Service, + this attribute may contain the DN of the SubNetwork instead of the + DNs of the individual managed entities within the SubNetwork. + + If a complete ManagedElement can be accessed using the Management + Service, this attribute may contain the DN of the ManagedElement + instead of the DNs of the individual managed entities within the + ManagedElement."; + } + + list geoAreasList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes geographical areas for the + managed object instances that can be accessed using the Management + Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + list taiList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes the list of Tracking Area + Identities (TAI) for the managed object instances that can be accessed + using the Management Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + } + } grouping MnsInfoGrp { description "Represents the MnsInfo IOC."; @@ -52,16 +184,24 @@ module _3gpp-common-mnsregistry { type string; } - leaf-list mnsScope { - description "List of the managed object instances that can be accessed - using the MnS. If a complete SubNetwork can be accessed using the MnS, - this attribute may contain the DN of the SubNetwork instead of the - DNs of the individual managed entities within the SubNetwork. If a - complete ManagedElement can be accessed using the MnS, - this attribute may contain the DN of the ManagedElement instead of the - DNs of the individual managed entities within the ManagedElement."; + list mnsScope { + description "This attribute defines the information about the + management scope of the Management Service. The management scope is + used to represent the set of managed object instances that can be + accessed using the Management Service."; min-elements 1; + key idx; + leaf idx { type uint32; } + uses MnsScopeGrp; + } + + leaf-list mgmtDataInfoRef { type types3gpp:DistinguishedName; + yext3gpp:notNotifyable; + min-elements 1; + description "List of DN of MgmtDataInfo instance(s) which are associated + the MnSInfo which represent a management service instance"; + } } @@ -87,9 +227,6 @@ module _3gpp-common-mnsregistry { and provides the data required to support its discovery. It is name-contained by MnsRegistry. - This specification does not specify how 'MnsInfo' objects are - created and maintained. - This information is used by the consumer to discover the producers of specific Management Services and to derive the addresses of the Management Service. @@ -100,10 +237,10 @@ module _3gpp-common-mnsregistry { Attribute mnsAddress is used to provide addressing information for the Management Service operations. - Attribute mnsScope is used to provide information about the - management scope of the Management Service. The management scope is - defined as the set of managed object instances that can be accessed - using the Management Service."; + Attribute mnsScope is used to provide information about the + management scope of the Management Service. The management scope + is used to represent the set of managed object instances that can + be accessed using the Management Service."; key id; uses top3gpp:Top_Grp; @@ -111,6 +248,22 @@ module _3gpp-common-mnsregistry { uses MnsInfoGrp; } } + + list MgmtDataInfo { + description "Describes the management capabilities for a set of + management data, which can be used for management data discovery. + MgmtDataInfo is contained by MnSRegistry and associated to MnSInfo. + + Multiple MgmtDataInfo instances maybe created for different sets of + management data, it is MnS producer’s decision."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MgmtDataInfoGrp; + } + } + } } } \ No newline at end of file -- GitLab From cd0cdeafd683a90c128c4f45d3a4c8d3740e05e2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 23 Jul 2025 22:46:23 +0200 Subject: [PATCH 16/46] CR S5-251931 --- yang-models/_3gpp-common-mnsregistry.yang | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 7b03dbc8a..de83f1403 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -183,6 +183,47 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } + + leaf-list mnsCapability { + type union { + type enumeration { + enum NR_PROVISIONING; + enum 5GC_PROVISIONING; + enum NETWORK_SLICING_PROVISIONING; + enum EDGE_COMPUTING_PROVISIONING; + enum PERFORMANCE_METRIC_COLLECTION_CONTROL; + enum PERFORMANCE_METRIC_DATA_REPORT; + enum PERFORMANCE_METRIC_THRESHOLD_MONITOR_CONTROL; + enum PERFORMANCE_METRIC_THRESHOLD_NOTIFICATION; + enum FAULT_CONTROL; + enum FAULT_NOTIFICATION; + enum TRACE_MDT_DATA_COLLECTION_CONTROL; + enum TRACE_MDT_DATA_REPORT; + enum QOE_DATA_COLLECTION_CONTROL; + enum QOE_DATA_REPORT; + enum FILE_RETRIEVAL; + enum FILE_DOWNLOAD; + enum SUBSCRIPTION_CONTROL; + enum HEARTBEAT_CONTROL; + enum HEARTBEAT_NOTIFICATION; + enum ML_MODEL_MANAGEMENT; + enum MANAGEMENT_DATA_ANALYTIC; + enum RANSC_MANAGEMENT; + enum SON_POLICY; + enum COMMUNICATION_SERVICE_ASSURANCE_CONTROL; + enum INTENT_DRIVEN_MANAGEMENT; + enum MNS_REGISTRY_AND_DISCOVERY; + enum MNS_ACCESS_CONTROL_MANAGEMENT; + enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + } + type string; + } + description "It describes the types of management capabilities of the + MnS instance provided by the MnS producer. The detailed description for + above enum values see Annex F in TS 28.533. + Note: vendor extension values are allowed for the attribute + 'mnsCapability'"; + } list mnsScope { description "This attribute defines the information about the -- GitLab From 58c22221a09c0c2bfa2afefbde42c4fe1cd10f03 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 11:17:16 +0200 Subject: [PATCH 17/46] CR S5-253090 --- yang-models/_3gpp-5gc-nrm-lmffunction.yang | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang index b7b954153..63b80fa99 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-lmffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -276,11 +277,27 @@ module _3gpp-5gc-nrm-lmffunction { leaf idx { type uint32; } uses TrpInfoGrp; } + + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + config false; + description "This attribute holds a DN list of MLModel. See TS 28.105"; + } + + leaf-list aIMLInferenceFunctionRef { + type types3gpp:DistinguishedName; + config false; + description "This attribute holds a DN list of AIMLInferenceFunction. + See TS 28.105"; + } } augment "/me3gpp:ManagedElement" { list LMFFunction { - description "5G Core LMF Function defined in TS 23.501"; + description "5G Core LMF Function defined in TS 23.501. + Attribute mLModelRefList indicates that AI/ML is supported for LMF for + UE positioning. Attribute aIMLInferenceFunctionRefList indicates that + AI/ML Inference Function is supported for LMF for UE positioning."; key id; uses top3gpp:Top_Grp; container attributes { -- GitLab From 90382aa3d45d0beae63e913b9decc6b4783002d8 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 12:22:28 +0200 Subject: [PATCH 18/46] S5-252956 --- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index fd30c8da0..7b417f63a 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,7 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-07-25 { reference CR-; } + revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } revision 2024-05-24 { reference CR-1273 ; } @@ -123,6 +123,15 @@ module _3gpp-nr-nrm-nrcelldu { type types5g3gpp:NRTAC; } + leaf-list nTNTAClist { + type string; + min-elements 1; + max-elements 12; + description "It is the list of Tracking Area Codes which is only present + in an NTN cell. If this field is present, network does not configure + trackingAreaCode, see TS 38.331)."; + } + leaf arfcnDL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for downlink."; @@ -375,7 +384,7 @@ module _3gpp-nr-nrm-nrcelldu { list NRCellDU { description "This IOC represents the part of NR cell information that - describes s the specific resources instances. + describes the specific resources instances. An NR cell transmits SS/PBCH block and always requires downlink transmission at a certain carrier frequency with a certain channel @@ -403,7 +412,16 @@ module _3gpp-nr-nrm-nrcelldu { UEs during and immediately after initial access. Additional BWPs can be either configured or calculated by gNB internally and be applied to UEs dynamically by gNB based on e.g. UE capability and bandwidth need of - each UE."; + each UE. + + BWPs are configured individually (bWPRef) or via sets (bWPSetRef). + + An NTN NR cell can be configured with list of Tracking Areas to support + broadcast multiple Tracking Area Codes per PLMN ID. Given that the + related TAIs broadcast may change with a foot print moving on earth, + which is predictable, time windows per TAList can be derived and + configured for NTN cell. These time windows define the specific periods + during which the satellite coverage will be available for the location."; key id; uses top3gpp:Top_Grp; container attributes { -- GitLab From 6bff134b4f6916fba55a9f7be9891a0045bfcb66 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 12:30:45 +0200 Subject: [PATCH 19/46] yang formatting --- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 7b417f63a..e7cbfb51e 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -376,7 +376,8 @@ module _3gpp-nr-nrm-nrcelldu { leaf redCapAccessCriteriaRef { type types3gpp:DistinguishedName; mandatory true; - description "This attribute contains the DN of the redCapAccessCriteria MOI "; + description "This attribute contains the DN of the redCapAccessCriteria + MOI "; } } -- GitLab From 218b3f4b4d1d541862901d481a45d41629ab5dca Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 13:51:05 +0200 Subject: [PATCH 20/46] S5-252939 --- yang-models/_3gpp-5gc-nrm-upffunction.yang | 159 ++++++++++++++++++++- 1 file changed, 156 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 0c4a89df4..71235749b 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -8,14 +8,16 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "UPFFunction 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-07-25 { reference CR-1558 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -24,6 +26,82 @@ module _3gpp-5gc-nrm-upffunction { revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } + grouping UpfInfoGrp { + description "Represents datatype UpfInfo"; + + /*sNssaiUpfInfoList { + description ""; + } + + smfServingAreat { + description ""; + } + + interfaceUpfInfoListt { + description ""; + } + + iwkEpsIndt { + description ""; + } + + pduSessionTypest { + description ""; + } + + atsssCapabilityt { + description ""; + } + + ueIpAddrIndt { + description ""; + } + + taiListt { + description ""; + } + + taiRangeListt { + description ""; + } + + wAgfInfot { + description ""; + } + + tngfInfot { + description ""; + } + + twifInfot { + description ""; + } + + priorityt { + description ""; + } + + redundantGtput { + description ""; + } + + ipupst { + description ""; + } + + dataForwardingt { + description ""; + } + + supportedPfcpFeaturest { + description ""; + } + + sxaIndt { + description ""; + }*/ + } + grouping UPFFunctionGrp { description "Represents the UPFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -45,7 +123,45 @@ module _3gpp-5gc-nrm-upffunction { type types5g3gpp:NRTAC; } - list sNSSAIList { + leaf-list cNSIIdList { + type string; + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of TS 29.531. "; + } + leaf energySavingControl { + type enumeration { + enum TO_BE_ENERGYSAVING; + enum TO_BE_NOT_ENERGYSAVING; + } + mandatory true; + description "This attribute allows management system to initiate energy + saving activation or deactivation for the edge UPF."; + } + + leaf energySavingState { + type enumeration { + enum IS_NOT_ENERGYSAVING; + enum IS_ENERGYSAVING; + } + mandatory true; + config false; + description "This attribute specifies the status regarding the energy + saving in the edge UPF. + + If the value of energySavingControl is TO_BE_ENERGYSAVING, then it + shall be tried to achieve the value IS_ENERGYSAVING for the + energySavingState. + + If the value of energySavingControl is TO_BE_NOT_ENERGYSAVING, then + it shall be tried to achieve the value IS_NOT_ENERGYSAVING for the + energySavingState. "; + } + + /*list sNSSAIList { ??? not visible in stage 2 description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) An S-NSSAI has an SST (Slice/Service type) and an optional SD @@ -53,7 +169,7 @@ module _3gpp-5gc-nrm-upffunction { reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; - } + }*/ list managedNFProfile { key idx; @@ -68,6 +184,43 @@ module _3gpp-5gc-nrm-upffunction { description "List of supported BMOs (Bridge Managed Objects) required for integration with TSN system."; } + + list upfInfo { + description "This attribute represents information of an UPF NF Instance. + Multiple upfInfo may be allowed to define different TAI list for each + supported S-NSSAI"; + key idx; + leaf idx { type uint32; } + uses UpfInfoGrp; + } + + leaf isOnboardSatellite { + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the function is + on board the satellite."; + } + + leaf onboardSatelliteId { + type string { + pattern "[0-9]{5}" ; + } + config false; + yext3gpp:inVariant; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } + + leaf uPFCapabilities { + type string; + yext3gpp:inVariant; + description "It indicates the operator configurable capability supported + by the UPF. (see clause 5.8.2.21 in TS 23.501, clause 5.4.2 + in TS 29.571)"; + } } augment /me3gpp:ManagedElement { -- GitLab From acf95ad1f2e4712d768508a0a6aea3a545ba336a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 18:11:50 +0200 Subject: [PATCH 21/46] nef minor correction; add to 5g-types: SdRangeGrp, SnssaiExtensionGrp, ExtSnssaiGrp --- yang-models/_3gpp-5g-common-yang-types.yang | 61 +++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 0fd31f956..cda65493b 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -14,6 +14,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } @@ -24,6 +25,66 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + grouping SdRangeGrp { + leaf start { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "First value identifying the start of an SD range. + This string shall be formatted as specified for the sd attribute of the + Snssai data type in clause 5.4.4.2 of TS 29.571."; + } + + leaf end { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "Last value identifying the end of an SD range. + This string shall be formatted as specified for the sd attribute of the + Snssai data type in clause 5.4.4.2 in TS 29.571"; + } + } + + grouping SnssaiExtensionGrp { + list sdRanges { + min-elements 1; + key "start end"; + description "It shall contain the range(s) of Slice Differentiator values + supported for the Slice/Service Type value indicated in the sst + attribute of the Snssai data type (see clause 5.4.4.2 in TS 29.571)."; + uses SdRangeGrp; + } + + leaf wildcardSd { + type boolean; + default false; + description "It indicates that all SD values are supported for the + Slice/Service Type value indicated in the sst attribute of the Snssai + data type (see clause 5.4.4.2 in TS 29.571)."; + } + } + + grouping ExtSnssaiGrp { + list snssai { + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003 "; + min-elements 1; + max-elements 1; + key "sd sst"; + uses SNssai; + } + + list snssaiExtension { + description "It represents extensions to the Snssai."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiExtensionGrp; + } + } + grouping MappedCellIdInfoGrp { description "This data type represents the mapping relationship between Mapped Cell IDs and geographical areas (see clause 16.14.5 of TS 38.300"; -- GitLab From 5d379f3b211038ddaedb9e1385453b93b7b84805 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 24 Jul 2025 18:14:33 +0200 Subject: [PATCH 22/46] small description correction --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 8b65a1276..a2cf56f95 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -21,6 +21,7 @@ module _3gpp-5gc-nrm-neffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2024-05-18 { reference CR-1273 ; } @@ -39,11 +40,16 @@ module _3gpp-5gc-nrm-neffunction { leaf dnn { type string; mandatory true; - description "It represents supported DNN or Wildcard DNN if the NF - supports all DNNs for the related S-NSSAI. The DNN shall contain the - Network Identifier and it may additionally contain an Operator - Identifier. If the Operator Identifier is not included, the DNN is - supported for all the PLMNs in the plmnList of the NF Profile."; + description "String representing a Data Network as defined in clause 9A + of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, + or a full DNN with both the Network Identifier and Operator Identifier, + as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be + coded as string in which the labels are separated by dots + (e.g. 'Label1.Label2.Label3'). + + Whether the dnn data type contains just the DNN Network Identifier, or + the Network Identifier plus the Operator Identifier, shall be + documented in each API where this data type is used."; } } -- GitLab From cf346f4390de24dc2ac8f31e531799d285a9d8b3 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 24 Jul 2025 23:10:56 +0200 Subject: [PATCH 23/46] aligne stage 2 to 3 and create new managednfprofile --- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 636 ++++++++++++++++++ 1 file changed, 636 insertions(+) create mode 100755 yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang new file mode 100755 index 000000000..20cc20eaa --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -0,0 +1,636 @@ +module _3gpp-5gc-nrm-managed-nfprofile { + yang-version 1.1; + + namespace urn:3gpp-5gc-nrm-managed-nfprofile; + prefix magtnfp3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + 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; } + + 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-07-25 { reference "initial revision"; } + + grouping SPNInfoIdGrp { + description "This data type represents the SNPN identification consisting + of MCC, MNC, and optionally NID."; + leaf mcc { + type string; + description "Mobile Country Code (MCC) of the SNPN."; + } + + leaf mnc { + type string; + description "Mobile Network Code (MNC) of the SNPN."; + } + + leaf nId { + type string; + description "Network Identifier (NID) of the SNPN."; + } + } + grouping CollocatedNfInstanceGrp { + description "This data type represents the SNPN identification consisting + of MCC, MNC, and optionally NID."; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + } + grouping SupiRange { + leaf start { + description "First value identifying the start ofa SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of a SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging to + this range.A SUPI value is considered part of the range if and + only if the SUPI string fully matches the regular expression."; + type string; + } + } + + grouping ConditionItemGrp { + description "This data type represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) + Instance shall be selected."; + + leaf consumerNfTypes { + description "It represents the NF types of the consumers for + which the conditions included in this ConditionItem apply. + If this attribute is absent, the conditions are applicable + to all NF consumer types."; + type types3gpp:NfType; + } + leaf serviceFeature { + description "It represents a feature number of that NF Service + Instance,under CANARY_RELEASE status. This attribute only + applies when the selectionConditions, where this + ConditionItem is included, is included in a NF Service Instance + This condition is evaluated to when the service requests + froma consumer of this NF Service Instance require the support + of the indicated feature on the NF Service Instance."; + type uint32; // positive integer, 0 excluded by context + } + leaf vsServiceFeature { + description "It represents a Vendor-Specific feature + number of thatNF Service Instance, under CANARY_RELEASE + status. This attribute only applies when the + selectionConditions, where this ConditionItem is included, + is included in a NF Service Instance.This condition is + evaluated to “true” when the service requests from a + consumer of this NF Service Instance require the support + of the indicated Vendor-Specific feature on the NF + Service Instance."; + type uint32; + } + list supiRangeList { + description "It represents a set of SUPIs for which + the NF (Service) instance under CANARY_RELEASE status shall + be selected."; + uses SupiRange; + } + list gpsiRangeList { + description "It represents a set of GPSIs for which the NF + (Service) + instance under CANARY_RELEASE status shall be selected"; + min-elements 1; + uses IdentityRange; + } + list impuRangeList { + description "It represents a set of IMS Public Identities + for which the NF (Service) instance under CANARY_RELEASE + status shall be selected"; + min-elements 1; + uses IdentityRange; + } + list impiRangeList { + description "It represents a set of IMS Private Identities + for which theNF (Service) instance under + CANARY_RELEASE status shall be selected."; + min-elements 1; + uses IdentityRange; + } + leaf peiList { + description "It represents a set of PEIs of the UEs for + which the NF(Service) instance under CANARY_RELEASE status + shall be selected"; + type string; + } + list taiRangeList { + description "It represents a set of TAIs where the + NF(Service) instance under CANARY_RELEASE status shall + be selected for a certain UE"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + leaf dnnList { + description " It represents a set of TAIs where the NF + (Service) instance under CANARY_RELEASE status shall be + selected for a certain UE"; + type string; + } + } + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + } + + grouping ConditionGroupGrp { + description "This <> represents a group of conditions that + shall be evaluated to determine whether a discovered NF (Service) + Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; + + container and { + description "It represents a list of conditions where the overall + evaluation is “true” only if all the conditions in the list are + evaluated as “true”."; + uses SelectionConditionsGrp; + } + + container or { + description "It represents a list of conditions where the overall + evaluation is “true” if at least one of the conditions in the list + is evaluated as “true”"; + uses SelectionConditionsGrp; + } + } + + grouping SelectionConditionsGrp { + description "This data type represents the list of conditions that + shall be selected by an NF Service Consumer."; + reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; + + list conditionItem{ + key "id"; + description "It represent a single condition item that shall be + evaluated Instance shall be selected."; + leaf id{ + type string; + } + uses ConditionItemGrp; + } + // circular dependency for grouping "ConditionGroupGrp" introduced in stage 2 + // container conditionGroup{ + // description "It represents a group of conditions + // that shall be evaluated"; + // uses ConditionGroupGrp; + // } + } + + grouping IdentityRange { + leaf start { + description "First value identifying the start of an identity range. + To be used when the range of identities can be represented + as a numeric range (e.g., MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + } + +grouping ManagedNFProfileGrp { + + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + list collocatedNfInstances { + description "It represents information related to collocated NF + type(s) and corresponding NF Instances when the NF is collocated + with NFs supporting other NF types."; + key "nfInstanceId"; + uses CollocatedNfInstanceGrp; + } + leaf nfInstanceName { + description "It represents human readable name of the NF Instance"; + type string; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; + type inet:domain-name; + } + + leaf hostAddr { + mandatory true; + type inet:host ; + description "Host address of a NF"; + } + + leaf authzInfo { + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins + allowed to consume NF Service(s) of NF Service Producer "; + reference "TS 23.501"; + type string; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNPNList { + key "mcc mnc nId"; + description "SNPN(s) of the Network Function. This attributeIE shall be + present if the NF pertains to one or more SNPNs."; + reference "TS 29.510"; + uses SPNInfoIdGrp; + } + + list perPlmnSnssaiList { + description "It includes the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, it shall + override sNssais IE.If the perPlmnSnssaiList attribute is provided in + at least one NF Service, the S-NSSAIs supported per PLMN in the + NF Profile shall be the set or a superset of the perPlmnSnssaiList + of the NFService(s)."; + key "mcc mnc nId"; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + list allowedSNPNs { + description "SNPNs allowed to access the NF instance. + The absence of this attribute in the NF profile indicates that no SNPN, + other than the SNPN(s) registered in the snpnList attribute of the + NF Profile, is allowed to access the service instance"; + key "mcc mnc"; + uses nfs3gpp:SNPNIdGrp; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern (regular expression according to the ECMA-262 + dialect [75]) representing the NF domain names within the PLMN of + the NRF allowed to access the NF instance If not provided, + any NF domain is allowed to access the NF."; + type string; + } + + list allowedNSSAIs { + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + // list allowedRuleSet { + // description "S-NSSAI of the allowed slices to access the NF instance. + // If not provided, any slice is allowed to access the NF."; + // key "sst sd"; + // uses RuleSet;? +// } + leaf locality { + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; + type string; + } + leaf extLocality { + description "It indicates the operator defined information about the + location of the NF instance. The key of the map shall be a (unique) + valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum + of 32 characters, representing a type of locality as defined in + clause 6.1.6.3.18."; + type string; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; + type types3gpp:Load; + } + leaf loadTimeStamp { + description "It indicates the point in time in which the latest load + information (sent by the NF in the load attribute of the NF Profile) + was generated at the NF Instance.If the NF did not provide a timestamp, + the NRF should set it to the instant when the NRF received the message + where the NF provided the latest load information."; + type yang:date-and-time ; + } + + leaf-list recoveryTime { + description "Timestamp when the NF was (re)started. The NRF shall notify + NFs subscribed to receiving notifications of changes of the NF profile, + if the NF recoveryTime is changed"; + type yang:date-and-time; + } + leaf nfServicePersistence { + description "This parameter indicates whether the different service + instances of a same NF Service in the NF instance, supporting a same + API version, are capable to persist their resource state in shared + storage and therefore these resources are available after a new NF + service instance supporting the same API version is selected by a NF + Service Consumer "; + reference "TS 29.510"; + type boolean; + } + leaf-list nfSetIdList { + type string ; + min-elements 1; + description "A NF Set Identifier is a globally unique identifier of + a set of equivalent and interchangeable CP NFs from a given network + that provide distribution, redundancy and scalability + (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall + be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. + A NF Set Identifier shall be formatted as the following string: + set.set.5gc.mnc.mcc for a NF Set in a PLMN, or + set.set.5gc.nid.mnc.mcc for a NF Set + in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN + of the NF."; + } + leaf-list nfProfileChangesSupportInd { + description "This parameter indicates if the NF Service Consumer supports + or does not support receiving NF Profile Changes. It may be present in + the NFRegister or NFUpdate (NF Profile Complete Replacement) request and + shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; + max-elements 1; + type boolean; + } + leaf-list nfProfilePartialUpdateChangesSupportInd { + description "It represents NF Profile Partial Update Changes Support + Indicator. TRUE: the NF Service Consumer supports receiving NF Profile + Changes in the response to an NF Profile Partial Update operation. + FALSE (default): the NF Service Consumer does not support receiving + NF Profile Changes in the response to an NF Profile Partial Update + operation"; + max-elements 1; + type boolean; + } + leaf-list nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent + in the request to the NRF and may be included by the NRF + in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + type boolean; + max-elements 1; + } + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types. + This attribute may contain multiple default subscriptions for a same + notification type; in that case, those default subscriptions are used + as alternative notification endpoints."; + key notificationType; + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + leaf servingScope { + description "This parameter indicates the served geographical areas + of a NF instance."; + type string; + } + leaf-list lcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Load Control based on LCI Header."; + reference "clause 6.3 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list olcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Overload Control based on OCI Header ."; + reference "clause 6.4 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list nfSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Set(s) + indicated by the NfSetId, where the NF instance belongs."; + type yang:date-and-time ; + max-elements 1; + } + leaf-list serviceSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Service + Set(s) configured in the NF instance, which are indicated by the + NfServiceSetId"; + type yang:date-and-time ; + max-elements 1; + } + leaf scpDomains { + description "This parameter shall carry the list of SCP domains the + SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP + belongs to.."; + type string; + } + leaf vendorId { + description "Vendor ID of the NF instance, according to the + IANA-assigned SMI Network Management Private Enterprise Codes [77]. + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits 0 to complete + a 6-digit string value."; + type string; + } + leaf hniList { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + type string; + } + leaf-list interPlmnFqdn { + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; + type inet:domain-name; + } + list nfServices { + description "List of NF Service Instances. It shall include + the services produced by the NF that can be + discovered by other NFs."; + key serviceInstanceID; + min-elements 1; + uses nfs3gpp:NFServiceGrp; + } + // leaf supportedVendorSpecificFeatures { + // description "It indicates a map of Vendor-Specific features, where the + // key of the map is the IANA-assigned SMI Network Management Private + // Enterprise Codes and the value of each entry of the map shall be + // a list (array) of VendorSpecificFeature objects as defined + // in the clause 5.3.247."; + // type string; + // min-elements 1; + // } attributeValuePair with no defintion anywhere + + list selectionConditions { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + key "idx"; + uses SelectionConditionsGrp; + } + leaf-list canaryRelease { + description "This attribute indicates whether an NF instance whose + nfStatus is set to REGISTERED is in Canary Release condition, + i.e. it should only be selected by NF Service Consumers under the + conditions indicated by the selectionConditions attribute. + True: the NF is under Canary Release condition, even if the + nfStatus is set to REGISTERED + False: the NF instance indicates its Canary Release condition + via the nfStatus attribute"; + max-elements 1; + type boolean; + } + leaf-list exclusiveCanaryReleaseSelection { + description "This attribute indicates whether an NF Service + Consumer should only select an NF Service Producer in Canary + Release condition. + True: the consumer shall only select producers in Canary Release + condition + False: the consumer may select producers not in Canary Release + condition"; + max-elements 1; + type boolean; + } + leaf sharedProfileDataId { + description "This attribute indicates a string uniquely identifying + Shared Profile Data. The format of the sharedProfileDataId shall be + a Universally Unique Identifier (UUID) version 4, as described in + IETF RFC 4122 [44]. The hexadecimal letters should be formatted as + lower-case characters by the sender, and they shall be handled as + case-insensitive by the receiver. + Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; + type string; + } + leaf-list shutdownTime { + description "It indicates the timestamp when the NF Instance is + planned to be shut down. This attribute may be present if the + nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; + type yang:date-and-time ; + max-elements 1; + } + leaf supportedRcfs { + description "It represents a list of Resource Content Filter IDs"; + type string; + } + leaf canaryPrecedenceOverPreferred { + description "ManagedNFProfile.canaryPrecedenceOverPreferred This + attribute indicates whether the NRF shall prioritize the NF Service + Producer in Canary Release condition over the preferences + (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. + allowedValues: + - True: NRF shall prioritize NF Service Producers in Canary Release + condition at NF discovery requests, i.e. NF Service Producers + determined according to preferred-xxx and/or ext-preferred-xxx + shall be prioritized after the NF Service Producers in Canary + Release condition. The associated NF (service) priorities for Service + Producers in Canary Release condition shall not be modified by NRF. + - False: NRF shall prioritize the NF Service Producers according to + preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition + in NF Service Producers shall not be prioritized over NF Service + Consumer preferences at NF discovery requests)"; + type boolean; + } + typedef NFStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + } + } + +} +} + -- GitLab From 7ab3800dac6d6986c5240e7214b738c1d783b177 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 24 Jul 2025 23:22:50 +0200 Subject: [PATCH 24/46] correct lint --- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 1273 +++++++++-------- 1 file changed, 637 insertions(+), 636 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 20cc20eaa..5e1c8ea9b 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -1,636 +1,637 @@ -module _3gpp-5gc-nrm-managed-nfprofile { - yang-version 1.1; - - namespace urn:3gpp-5gc-nrm-managed-nfprofile; - prefix magtnfp3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - 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; } - - 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-07-25 { reference "initial revision"; } - - grouping SPNInfoIdGrp { - description "This data type represents the SNPN identification consisting - of MCC, MNC, and optionally NID."; - leaf mcc { - type string; - description "Mobile Country Code (MCC) of the SNPN."; - } - - leaf mnc { - type string; - description "Mobile Network Code (MNC) of the SNPN."; - } - - leaf nId { - type string; - description "Network Identifier (NID) of the SNPN."; - } - } - grouping CollocatedNfInstanceGrp { - description "This data type represents the SNPN identification consisting - of MCC, MNC, and optionally NID."; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - } - grouping SupiRange { - leaf start { - description "First value identifying the start ofa SUPI range.To be - used when the range of SUPI's can be represented as a numeric range - (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of a SUPI range.To be - used when the range of SUPI's can be represented as a numeric range - (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging to - this range.A SUPI value is considered part of the range if and - only if the SUPI string fully matches the regular expression."; - type string; - } - } - - grouping ConditionItemGrp { - description "This data type represents a single condition item that - shall be evaluated to determine whether a discovered NF (Service) - Instance shall be selected."; - - leaf consumerNfTypes { - description "It represents the NF types of the consumers for - which the conditions included in this ConditionItem apply. - If this attribute is absent, the conditions are applicable - to all NF consumer types."; - type types3gpp:NfType; - } - leaf serviceFeature { - description "It represents a feature number of that NF Service - Instance,under CANARY_RELEASE status. This attribute only - applies when the selectionConditions, where this - ConditionItem is included, is included in a NF Service Instance - This condition is evaluated to when the service requests - froma consumer of this NF Service Instance require the support - of the indicated feature on the NF Service Instance."; - type uint32; // positive integer, 0 excluded by context - } - leaf vsServiceFeature { - description "It represents a Vendor-Specific feature - number of thatNF Service Instance, under CANARY_RELEASE - status. This attribute only applies when the - selectionConditions, where this ConditionItem is included, - is included in a NF Service Instance.This condition is - evaluated to “true” when the service requests from a - consumer of this NF Service Instance require the support - of the indicated Vendor-Specific feature on the NF - Service Instance."; - type uint32; - } - list supiRangeList { - description "It represents a set of SUPIs for which - the NF (Service) instance under CANARY_RELEASE status shall - be selected."; - uses SupiRange; - } - list gpsiRangeList { - description "It represents a set of GPSIs for which the NF - (Service) - instance under CANARY_RELEASE status shall be selected"; - min-elements 1; - uses IdentityRange; - } - list impuRangeList { - description "It represents a set of IMS Public Identities - for which the NF (Service) instance under CANARY_RELEASE - status shall be selected"; - min-elements 1; - uses IdentityRange; - } - list impiRangeList { - description "It represents a set of IMS Private Identities - for which theNF (Service) instance under - CANARY_RELEASE status shall be selected."; - min-elements 1; - uses IdentityRange; - } - leaf peiList { - description "It represents a set of PEIs of the UEs for - which the NF(Service) instance under CANARY_RELEASE status - shall be selected"; - type string; - } - list taiRangeList { - description "It represents a set of TAIs where the - NF(Service) instance under CANARY_RELEASE status shall - be selected for a certain UE"; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses types5g3gpp:TaiRangeGrp; - } - leaf dnnList { - description " It represents a set of TAIs where the NF - (Service) instance under CANARY_RELEASE status shall be - selected for a certain UE"; - type string; - } - } - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - list sNssaiList { - description "The specific list of S-NSSAIs supported - by the given PLMN."; - min-elements 1; - key "sst sd"; - uses types5g3gpp:SNssai; - } - } - - grouping ConditionGroupGrp { - description "This <> represents a group of conditions that - shall be evaluated to determine whether a discovered NF (Service) - Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; - - container and { - description "It represents a list of conditions where the overall - evaluation is “true” only if all the conditions in the list are - evaluated as “true”."; - uses SelectionConditionsGrp; - } - - container or { - description "It represents a list of conditions where the overall - evaluation is “true” if at least one of the conditions in the list - is evaluated as “true”"; - uses SelectionConditionsGrp; - } - } - - grouping SelectionConditionsGrp { - description "This data type represents the list of conditions that - shall be selected by an NF Service Consumer."; - reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; - - list conditionItem{ - key "id"; - description "It represent a single condition item that shall be - evaluated Instance shall be selected."; - leaf id{ - type string; - } - uses ConditionItemGrp; - } - // circular dependency for grouping "ConditionGroupGrp" introduced in stage 2 - // container conditionGroup{ - // description "It represents a group of conditions - // that shall be evaluated"; - // uses ConditionGroupGrp; - // } - } - - grouping IdentityRange { - leaf start { - description "First value identifying the start of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g., MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - } - -grouping ManagedNFProfileGrp { - - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - - leaf nfStatus { - description "Status of the NF Instance."; - mandatory true; - type NFStatus; - } - list collocatedNfInstances { - description "It represents information related to collocated NF - type(s) and corresponding NF Instances when the NF is collocated - with NFs supporting other NF types."; - key "nfInstanceId"; - uses CollocatedNfInstanceGrp; - } - leaf nfInstanceName { - description "It represents human readable name of the NF Instance"; - type string; - } - - leaf heartBeatTimer { - description "Time in seconds expected between 2 consecutive - heart-beat messages from an NF Instance to the NRF. - It may be included in the registration request. - When present in the request it shall contain the - heartbeat time proposed by the NF service consumer."; - type uint16; - } - - list plmnList { - description "PLMN(s) of the Network Function. - This IE shall be present if this information - is available for the NF. If not provided, PLMN ID(s) - of the PLMN of the NRF are assumed for the NF."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { - description "S-NSSAIs of the Network Function. If not - provided, the NF can serve any S-NSSAI. When present - this IE represents the list of S-NSSAIs supported in - all the PLMNs listed in the plmnList IE."; - min-elements 1; - key "sst sd"; - uses types5g3gpp:SNssai; - } - - leaf fqdn { - description "FQDN of the Network Function. For AMF, the - FQDN registered with the NRF shall be that of the AMF Name."; - type inet:domain-name; - } - - leaf hostAddr { - mandatory true; - type inet:host ; - description "Host address of a NF"; - } - - leaf authzInfo { - description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins - allowed to consume NF Service(s) of NF Service Producer "; - reference "TS 23.501"; - type string; - } - - list allowedPlmns { - description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNPNList { - key "mcc mnc nId"; - description "SNPN(s) of the Network Function. This attributeIE shall be - present if the NF pertains to one or more SNPNs."; - reference "TS 29.510"; - uses SPNInfoIdGrp; - } - - list perPlmnSnssaiList { - description "It includes the S-NSSAIs supported by the Network Function - for each PLMN supported by the Network Function. When present, it shall - override sNssais IE.If the perPlmnSnssaiList attribute is provided in - at least one NF Service, the S-NSSAIs supported per PLMN in the - NF Profile shall be the set or a superset of the perPlmnSnssaiList - of the NFService(s)."; - key "mcc mnc nId"; - leaf idx { type uint32; } - uses PlmnSnssai; - } - - list allowedSNPNs { - description "SNPNs allowed to access the NF instance. - The absence of this attribute in the NF profile indicates that no SNPN, - other than the SNPN(s) registered in the snpnList attribute of the - NF Profile, is allowed to access the service instance"; - key "mcc mnc"; - uses nfs3gpp:SNPNIdGrp; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the NF instance. - If not provided, any NF type is allowed to access the NF."; - min-elements 1; - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern (regular expression according to the ECMA-262 - dialect [75]) representing the NF domain names within the PLMN of - the NRF allowed to access the NF instance If not provided, - any NF domain is allowed to access the NF."; - type string; - } - - list allowedNSSAIs { - description "S-NSSAI of the allowed slices to access the NF instance. - If not provided, any slice is allowed to access the NF."; - key "sst sd"; - uses types5g3gpp:SNssai; - } - - // list allowedRuleSet { - // description "S-NSSAI of the allowed slices to access the NF instance. - // If not provided, any slice is allowed to access the NF."; - // key "sst sd"; - // uses RuleSet;? -// } - leaf locality { - description "Operator defined information about the location - of the NF instance (e.g. geographic location, data center)."; - type string; - } - leaf extLocality { - description "It indicates the operator defined information about the - location of the NF instance. The key of the map shall be a (unique) - valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum - of 32 characters, representing a type of locality as defined in - clause 6.1.6.3.18."; - type string; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, - expressed as a weight relative to other NF instances of - the same type; if capacity is also present in the nfServiceList - parameters, those will have precedence over this value."; - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, - indicates the current load percentage of the NF."; - type types3gpp:Load; - } - leaf loadTimeStamp { - description "It indicates the point in time in which the latest load - information (sent by the NF in the load attribute of the NF Profile) - was generated at the NF Instance.If the NF did not provide a timestamp, - the NRF should set it to the instant when the NRF received the message - where the NF provided the latest load information."; - type yang:date-and-time ; - } - - leaf-list recoveryTime { - description "Timestamp when the NF was (re)started. The NRF shall notify - NFs subscribed to receiving notifications of changes of the NF profile, - if the NF recoveryTime is changed"; - type yang:date-and-time; - } - leaf nfServicePersistence { - description "This parameter indicates whether the different service - instances of a same NF Service in the NF instance, supporting a same - API version, are capable to persist their resource state in shared - storage and therefore these resources are available after a new NF - service instance supporting the same API version is selected by a NF - Service Consumer "; - reference "TS 29.510"; - type boolean; - } - leaf-list nfSetIdList { - type string ; - min-elements 1; - description "A NF Set Identifier is a globally unique identifier of - a set of equivalent and interchangeable CP NFs from a given network - that provide distribution, redundancy and scalability - (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall - be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. - A NF Set Identifier shall be formatted as the following string: - set.set.5gc.mnc.mcc for a NF Set in a PLMN, or - set.set.5gc.nid.mnc.mcc for a NF Set - in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN - of the NF."; - } - leaf-list nfProfileChangesSupportInd { - description "This parameter indicates if the NF Service Consumer supports - or does not support receiving NF Profile Changes. It may be present in - the NFRegister or NFUpdate (NF Profile Complete Replacement) request and - shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; - max-elements 1; - type boolean; - } - leaf-list nfProfilePartialUpdateChangesSupportInd { - description "It represents NF Profile Partial Update Changes Support - Indicator. TRUE: the NF Service Consumer supports receiving NF Profile - Changes in the response to an NF Profile Partial Update operation. - FALSE (default): the NF Service Consumer does not support receiving - NF Profile Changes in the response to an NF Profile Partial Update - operation"; - max-elements 1; - type boolean; - } - leaf-list nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF - in NFRegister or NFUpdate (NF Profile Complete Replacement) response. - true: the NF Profile contains NF Profile changes. - false (default): complete NF Profile."; - - type boolean; - max-elements 1; - } - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types. - This attribute may contain multiple default subscriptions for a same - notification type; in that case, those default subscriptions are used - as alternative notification endpoints."; - key notificationType; - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - leaf servingScope { - description "This parameter indicates the served geographical areas - of a NF instance."; - type string; - } - leaf-list lcHSupportInd { - description "This parameter indicates whether the NF supports or does - not support Load Control based on LCI Header."; - reference "clause 6.3 of 3gpp TS 29.500"; - max-elements 1; - type boolean; - } - leaf-list olcHSupportInd { - description "This parameter indicates whether the NF supports or does - not support Overload Control based on OCI Header ."; - reference "clause 6.4 of 3gpp TS 29.500"; - max-elements 1; - type boolean; - } - leaf-list nfSetRecoveryTimeList { - description "This parameter contains the recovery time of NF Set(s) - indicated by the NfSetId, where the NF instance belongs."; - type yang:date-and-time ; - max-elements 1; - } - leaf-list serviceSetRecoveryTimeList { - description "This parameter contains the recovery time of NF Service - Set(s) configured in the NF instance, which are indicated by the - NfServiceSetId"; - type yang:date-and-time ; - max-elements 1; - } - leaf scpDomains { - description "This parameter shall carry the list of SCP domains the - SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP - belongs to.."; - type string; - } - leaf vendorId { - description "Vendor ID of the NF instance, according to the - IANA-assigned SMI Network Management Private Enterprise Codes [77]. - allowedValues: 6 decimal digits; if the SMI code has less than - 6 digits, it shall be padded with leading digits 0 to complete - a 6-digit string value."; - type string; - } - leaf hniList { - description "Identifications of Credentials Holder or Default Credentials - Server. It is an array of FQDN."; - type string; - } - leaf-list interPlmnFqdn { - description "If the NF needs to be discoverable by other - NFs in a different PLMN, then an FQDN that is used - for inter-PLMN routing is specified."; - type inet:domain-name; - } - list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be - discovered by other NFs."; - key serviceInstanceID; - min-elements 1; - uses nfs3gpp:NFServiceGrp; - } - // leaf supportedVendorSpecificFeatures { - // description "It indicates a map of Vendor-Specific features, where the - // key of the map is the IANA-assigned SMI Network Management Private - // Enterprise Codes and the value of each entry of the map shall be - // a list (array) of VendorSpecificFeature objects as defined - // in the clause 5.3.247."; - // type string; - // min-elements 1; - // } attributeValuePair with no defintion anywhere - - list selectionConditions { - description "Identifications of Credentials Holder or Default Credentials - Server. It is an array of FQDN."; - key "idx"; - uses SelectionConditionsGrp; - } - leaf-list canaryRelease { - description "This attribute indicates whether an NF instance whose - nfStatus is set to REGISTERED is in Canary Release condition, - i.e. it should only be selected by NF Service Consumers under the - conditions indicated by the selectionConditions attribute. - True: the NF is under Canary Release condition, even if the - nfStatus is set to REGISTERED - False: the NF instance indicates its Canary Release condition - via the nfStatus attribute"; - max-elements 1; - type boolean; - } - leaf-list exclusiveCanaryReleaseSelection { - description "This attribute indicates whether an NF Service - Consumer should only select an NF Service Producer in Canary - Release condition. - True: the consumer shall only select producers in Canary Release - condition - False: the consumer may select producers not in Canary Release - condition"; - max-elements 1; - type boolean; - } - leaf sharedProfileDataId { - description "This attribute indicates a string uniquely identifying - Shared Profile Data. The format of the sharedProfileDataId shall be - a Universally Unique Identifier (UUID) version 4, as described in - IETF RFC 4122 [44]. The hexadecimal letters should be formatted as - lower-case characters by the sender, and they shall be handled as - case-insensitive by the receiver. - Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; - type string; - } - leaf-list shutdownTime { - description "It indicates the timestamp when the NF Instance is - planned to be shut down. This attribute may be present if the - nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; - type yang:date-and-time ; - max-elements 1; - } - leaf supportedRcfs { - description "It represents a list of Resource Content Filter IDs"; - type string; - } - leaf canaryPrecedenceOverPreferred { - description "ManagedNFProfile.canaryPrecedenceOverPreferred This - attribute indicates whether the NRF shall prioritize the NF Service - Producer in Canary Release condition over the preferences - (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. - allowedValues: - - True: NRF shall prioritize NF Service Producers in Canary Release - condition at NF discovery requests, i.e. NF Service Producers - determined according to preferred-xxx and/or ext-preferred-xxx - shall be prioritized after the NF Service Producers in Canary - Release condition. The associated NF (service) priorities for Service - Producers in Canary Release condition shall not be modified by NRF. - - False: NRF shall prioritize the NF Service Producers according to - preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition - in NF Service Producers shall not be prioritized over NF Service - Consumer preferences at NF discovery requests)"; - type boolean; - } - typedef NFStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - } - } - -} -} - +module _3gpp-5gc-nrm-managed-nfprofile { + yang-version 1.1; + + namespace urn:3gpp-5gc-nrm-managed-nfprofile; + prefix mnfp3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + 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; } + +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-07-25 { reference "initial revision"; } + + grouping SPNInfoIdGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf mcc { + type string; + description "Mobile Country Code (MCC) of the SNPN."; + } + + leaf mnc { + type string; + description "Mobile Network Code (MNC) of the SNPN."; + } + + leaf nId { + type string; + description "Network Identifier (NID) of the SNPN."; + } + } + grouping CollocatedNfInstanceGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + } + grouping SupiRange { + leaf start { + description "First value identifying the start ofa SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of a SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging to + this range.A SUPI value is considered part of the range if and + only if the SUPI string fully matches the regular expression."; + type string; + } + } + + grouping ConditionItemGrp { + description "This data type represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) + Instance shall be selected."; + + leaf consumerNfTypes { + description "It represents the NF types of the consumers for + which the conditions included in this ConditionItem apply. + If this attribute is absent, the conditions are applicable + to all NF consumer types."; + type types3gpp:NfType; + } + leaf serviceFeature { + description "It represents a feature number of that NF Service + Instance,under CANARY_RELEASE status. This attribute only + applies when the selectionConditions, where this + ConditionItem is included, is included in a NF Service Instance + This condition is evaluated to when the service requests + froma consumer of this NF Service Instance require the support + of the indicated feature on the NF Service Instance."; + type uint32; // positive integer, 0 excluded by context + } + leaf vsServiceFeature { + description "It represents a Vendor-Specific feature + number of thatNF Service Instance, under CANARY_RELEASE + status. This attribute only applies when the + selectionConditions, where this ConditionItem is included, + is included in a NF Service Instance.This condition is + evaluated to true when the service requests from a + consumer of this NF Service Instance require the support + of the indicated Vendor-Specific feature on the NF + Service Instance."; + type uint32; + } + list supiRangeList { + description "It represents a set of SUPIs for which + the NF (Service) instance under CANARY_RELEASE status shall + be selected."; + uses SupiRange; + } + list gpsiRangeList { + description "It represents a set of GPSIs for which the NF + (Service) + instance under CANARY_RELEASE status shall be selected"; + min-elements 1; + uses IdentityRange; + } + list impuRangeList { + description "It represents a set of IMS Public Identities + for which the NF (Service) instance under CANARY_RELEASE + status shall be selected"; + min-elements 1; + uses IdentityRange; + } + list impiRangeList { + description "It represents a set of IMS Private Identities + for which theNF (Service) instance under + CANARY_RELEASE status shall be selected."; + min-elements 1; + uses IdentityRange; + } + leaf peiList { + description "It represents a set of PEIs of the UEs for + which the NF(Service) instance under CANARY_RELEASE status + shall be selected"; + type string; + } + list taiRangeList { + description "It represents a set of TAIs where the + NF(Service) instance under CANARY_RELEASE status shall + be selected for a certain UE"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + leaf dnnList { + description " It represents a set of TAIs where the NF + (Service) instance under CANARY_RELEASE status shall be + selected for a certain UE"; + type string; + } + } + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + } + + grouping ConditionGroupGrp { + description "This <> represents a group of conditions that + shall be evaluated to determine whether a discovered NF (Service) + Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; + + container and { + description "It represents a list of conditions where the overall + evaluation is true only if all the conditions in the list are + evaluated as true."; + uses SelectionConditionsGrp; + } + + container or { + description "It represents a list of conditions where the overall + evaluation is true if at least one of the conditions in the list + is evaluated as true"; + uses SelectionConditionsGrp; + } + } + + grouping SelectionConditionsGrp { + description "This data type represents the list of conditions that + shall be selected by an NF Service Consumer."; + reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; + + list conditionItem{ + key "id"; + description "It represent a single condition item that shall be + evaluated Instance shall be selected."; + leaf id{ + type string; + } + uses ConditionItemGrp; + } + // circular dependency for grouping "ConditionGroupGrp" introduced in + //stage 2 + // container conditionGroup{ + // description "It represents a group of conditions + // that shall be evaluated"; + // uses ConditionGroupGrp; + // } + } + + grouping IdentityRange { + leaf start { + description "First value identifying the start of an identity range. + To be used when the range of identities can be represented + as a numeric range (e.g., MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + } + +grouping ManagedNFProfileGrp { + + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + list collocatedNfInstances { + description "It represents information related to collocated NF + type(s) and corresponding NF Instances when the NF is collocated + with NFs supporting other NF types."; + key "nfInstanceId"; + uses CollocatedNfInstanceGrp; + } + leaf nfInstanceName { + description "It represents human readable name of the NF Instance"; + type string; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; + type inet:domain-name; + } + + leaf hostAddr { + mandatory true; + type inet:host ; + description "Host address of a NF"; + } + + leaf authzInfo { + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins + allowed to consume NF Service(s) of NF Service Producer "; + reference "TS 23.501"; + type string; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNPNList { + key "mcc mnc nId"; + description "SNPN(s) of the Network Function. This attributeIE shall be + present if the NF pertains to one or more SNPNs."; + reference "TS 29.510"; + uses SPNInfoIdGrp; + } + + list perPlmnSnssaiList { + description "It includes the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, it shall + override sNssais IE.If the perPlmnSnssaiList attribute is provided in + at least one NF Service, the S-NSSAIs supported per PLMN in the + NF Profile shall be the set or a superset of the perPlmnSnssaiList + of the NFService(s)."; + key "mcc mnc nId"; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + list allowedSNPNs { + description "SNPNs allowed to access the NF instance. + The absence of this attribute in the NF profile indicates that no SNPN, + other than the SNPN(s) registered in the snpnList attribute of the + NF Profile, is allowed to access the service instance"; + key "mcc mnc"; + uses nfs3gpp:SNPNIdGrp; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern (regular expression according to the ECMA-262 + dialect [75]) representing the NF domain names within the PLMN of + the NRF allowed to access the NF instance If not provided, + any NF domain is allowed to access the NF."; + type string; + } + + list allowedNSSAIs { + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + // list allowedRuleSet { + // description "S-NSSAI of the allowed slices to access the NF instance. + // If not provided, any slice is allowed to access the NF."; + // key "sst sd"; + // uses RuleSet;? +// } + leaf locality { + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; + type string; + } + leaf extLocality { + description "It indicates the operator defined information about the + location of the NF instance. The key of the map shall be a (unique) + valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum + of 32 characters, representing a type of locality as defined in + clause 6.1.6.3.18."; + type string; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; + type types3gpp:Load; + } + leaf loadTimeStamp { + description "It indicates the point in time in which the latest load + information (sent by the NF in the load attribute of the NF Profile) + was generated at the NF Instance.If the NF did not provide a timestamp, + the NRF should set it to the instant when the NRF received the message + where the NF provided the latest load information."; + type yang:date-and-time ; + } + + leaf-list recoveryTime { + description "Timestamp when the NF was (re)started. The NRF shall notify + NFs subscribed to receiving notifications of changes of the NF profile, + if the NF recoveryTime is changed"; + type yang:date-and-time; + } + leaf nfServicePersistence { + description "This parameter indicates whether the different service + instances of a same NF Service in the NF instance, supporting a same + API version, are capable to persist their resource state in shared + storage and therefore these resources are available after a new NF + service instance supporting the same API version is selected by a NF + Service Consumer "; + reference "TS 29.510"; + type boolean; + } + leaf-list nfSetIdList { + type string ; + min-elements 1; + description "A NF Set Identifier is a globally unique identifier of + a set of equivalent and interchangeable CP NFs from a given network + that provide distribution, redundancy and scalability + (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall + be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. + A NF Set Identifier shall be formatted as the following string: + set.set.5gc.mnc.mcc for a NF Set in a PLMN, or + set.set.5gc.nid.mnc.mcc for a NF Set + in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN + of the NF."; + } + leaf-list nfProfileChangesSupportInd { + description "This parameter indicates if the NF Service Consumer supports + or does not support receiving NF Profile Changes. It may be present in + the NFRegister or NFUpdate (NF Profile Complete Replacement) request and + shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; + max-elements 1; + type boolean; + } + leaf-list nfProfilePartialUpdateChangesSupportInd { + description "It represents NF Profile Partial Update Changes Support + Indicator. TRUE: the NF Service Consumer supports receiving NF Profile + Changes in the response to an NF Profile Partial Update operation. + FALSE (default): the NF Service Consumer does not support receiving + NF Profile Changes in the response to an NF Profile Partial Update + operation"; + max-elements 1; + type boolean; + } + leaf-list nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent + in the request to the NRF and may be included by the NRF + in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + type boolean; + max-elements 1; + } + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types. + This attribute may contain multiple default subscriptions for a same + notification type; in that case, those default subscriptions are used + as alternative notification endpoints."; + key notificationType; + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + leaf servingScope { + description "This parameter indicates the served geographical areas + of a NF instance."; + type string; + } + leaf-list lcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Load Control based on LCI Header."; + reference "clause 6.3 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list olcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Overload Control based on OCI Header ."; + reference "clause 6.4 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list nfSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Set(s) + indicated by the NfSetId, where the NF instance belongs."; + type yang:date-and-time ; + max-elements 1; + } + leaf-list serviceSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Service + Set(s) configured in the NF instance, which are indicated by the + NfServiceSetId"; + type yang:date-and-time ; + max-elements 1; + } + leaf scpDomains { + description "This parameter shall carry the list of SCP domains the + SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP + belongs to.."; + type string; + } + leaf vendorId { + description "Vendor ID of the NF instance, according to the + IANA-assigned SMI Network Management Private Enterprise Codes [77]. + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits 0 to complete + a 6-digit string value."; + type string; + } + leaf hniList { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + type string; + } + leaf-list interPlmnFqdn { + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; + type inet:domain-name; + } + list nfServices { + description "List of NF Service Instances. It shall include + the services produced by the NF that can be + discovered by other NFs."; + key serviceInstanceID; + min-elements 1; + uses nfs3gpp:NFServiceGrp; + } + // leaf supportedVendorSpecificFeatures { + // description "It indicates a map of Vendor-Specific features, where the + // key of the map is the IANA-assigned SMI Network Management Private + // Enterprise Codes and the value of each entry of the map shall be + // a list (array) of VendorSpecificFeature objects as defined + // in the clause 5.3.247."; + // type string; + // min-elements 1; + // } attributeValuePair with no defintion anywhere + + list selectionConditions { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + key "idx"; + uses SelectionConditionsGrp; + } + leaf-list canaryRelease { + description "This attribute indicates whether an NF instance whose + nfStatus is set to REGISTERED is in Canary Release condition, + i.e. it should only be selected by NF Service Consumers under the + conditions indicated by the selectionConditions attribute. + True: the NF is under Canary Release condition, even if the + nfStatus is set to REGISTERED + False: the NF instance indicates its Canary Release condition + via the nfStatus attribute"; + max-elements 1; + type boolean; + } + leaf-list exclusiveCanaryReleaseSelection { + description "This attribute indicates whether an NF Service + Consumer should only select an NF Service Producer in Canary + Release condition. + True: the consumer shall only select producers in Canary Release + condition + False: the consumer may select producers not in Canary Release + condition"; + max-elements 1; + type boolean; + } + leaf sharedProfileDataId { + description "This attribute indicates a string uniquely identifying + Shared Profile Data. The format of the sharedProfileDataId shall be + a Universally Unique Identifier (UUID) version 4, as described in + IETF RFC 4122 [44]. The hexadecimal letters should be formatted as + lower-case characters by the sender, and they shall be handled as + case-insensitive by the receiver. + Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; + type string; + } + leaf-list shutdownTime { + description "It indicates the timestamp when the NF Instance is + planned to be shut down. This attribute may be present if the + nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; + type yang:date-and-time ; + max-elements 1; + } + leaf supportedRcfs { + description "It represents a list of Resource Content Filter IDs"; + type string; + } + leaf canaryPrecedenceOverPreferred { + description "ManagedNFProfile.canaryPrecedenceOverPreferred This + attribute indicates whether the NRF shall prioritize the NF Service + Producer in Canary Release condition over the preferences + (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. + allowedValues: + True NRF shall prioritize NF Service Producers in Canary Release + condition at NF discovery requests, i.e. NF Service Producers + determined according to preferred-xxx and/or ext-preferred-xxx + shall be prioritized after the NF Service Producers in Canary + Release condition. The associated NF (service) priorities for Service + Producers in Canary Release condition shall not be modified by NRF. + False NRF shall prioritize the NF Service Producers according to + preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition + in NF Service Producers shall not be prioritized over NF Service + Consumer preferences at NF discovery requests)"; + type boolean; + } + typedef NFStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + } + } + +} +} + -- GitLab From 8d6a5110ab8729cc7044654380c7183962ff62e1 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 24 Jul 2025 23:39:11 +0200 Subject: [PATCH 25/46] correct liting errors --- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 5e1c8ea9b..63e9cedc4 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -1,7 +1,7 @@ module _3gpp-5gc-nrm-managed-nfprofile { yang-version 1.1; - namespace urn:3gpp-5gc-nrm-managed-nfprofile; + namespace urn:_3gpp-5gc-nrm-managed-nfprofile; prefix mnfp3gpp; import _3gpp-common-yang-types { prefix types3gpp; } @@ -185,19 +185,26 @@ TTA, TTC). All rights reserved."; shall be evaluated to determine whether a discovered NF (Service) Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; - container and { - description "It represents a list of conditions where the overall - evaluation is true only if all the conditions in the list are - evaluated as true."; - uses SelectionConditionsGrp; - } - - container or { - description "It represents a list of conditions where the overall - evaluation is true if at least one of the conditions in the list - is evaluated as true"; - uses SelectionConditionsGrp; - } + choice LogicalOperator{ + case and { + container and { + description "It represents a list of conditions where the + overall evaluation is true only if all the conditions + in the list are evaluated as true."; + uses SelectionConditionsGrp; + } + + } + case or{ + container or { + description "It represents a list of conditions where the + overall evaluation is true if at least one of the conditions + in the list evaluated as true"; + uses SelectionConditionsGrp; + } + } + } + } grouping SelectionConditionsGrp { @@ -214,6 +221,7 @@ TTA, TTC). All rights reserved."; } uses ConditionItemGrp; } + // circular dependency for grouping "ConditionGroupGrp" introduced in //stage 2 // container conditionGroup{ @@ -221,6 +229,7 @@ TTA, TTC). All rights reserved."; // that shall be evaluated"; // uses ConditionGroupGrp; // } + } grouping IdentityRange { @@ -608,7 +617,7 @@ grouping ManagedNFProfileGrp { type string; } leaf canaryPrecedenceOverPreferred { - description "ManagedNFProfile.canaryPrecedenceOverPreferred This + description "ManagedNFProfile.canaryPrecedenceOverPreferred This attribute indicates whether the NRF shall prioritize the NF Service Producer in Canary Release condition over the preferences (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. -- GitLab From 99fe3b9d34e08d598b50af641654884d70da8736 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 25 Jul 2025 03:39:34 +0200 Subject: [PATCH 26/46] moved and updated UpfInfo --- yang-models/_3gpp-5g-common-yang-types.yang | 22 ++ .../_3gpp-5gc-nrm-managed-nfprofile.yang | 2 + yang-models/_3gpp-5gc-nrm-neffunction.yang | 6 +- yang-models/_3gpp-5gc-nrm-upffunction.yang | 327 ++++++++++++++++-- 4 files changed, 316 insertions(+), 41 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index cda65493b..e81cd0f83 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -4,6 +4,7 @@ module _3gpp-5g-common-yang-types { prefix "types5g3gpp"; import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; @@ -25,6 +26,27 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + grouping IpInterfaceGrp { + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } + } + grouping SdRangeGrp { leaf start { type string { diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 63e9cedc4..394fbe911 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -241,6 +241,8 @@ TTA, TTC). All rights reserved."; pattern '^[0-9]+$'; } } + leaf end {type string; } // dummy + leaf pattern {type string; } // dummy } grouping ManagedNFProfileGrp { diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index a2cf56f95..a1034491b 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -11,7 +11,7 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } list externalGroupIdentifiersRanges { @@ -221,7 +221,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } leaf-list servedFqdnList { diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 71235749b..226b892d4 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -9,6 +9,8 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -26,80 +28,329 @@ module _3gpp-5gc-nrm-upffunction { revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } + grouping SnssaiUpfInfoItemGrp { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:ExtSnssaiGrp; + } + + list dnnUpfInfoList { + description "It represents list of parameters supported by the UPF + per DNN."; + min-elements 1; + key dnn; + uses nef3gpp:DnnInfoItemGrp; + } + + leaf redundantTransport { + type boolean; + default false; + description "This attribute indicates whether the UPF supports redundant + transport path on the transport layer in the corresponding network + slice. + true: supported + false: not supported"; + } + } + + typedef UPInterfaceType { + type enumeration { + enum N3; + enum N6; + enum N9; + enum DATA_FORWARDING; + enum N6MB; + enum N19MB; + enum N3MB; + enum NMB9; + enum S1U; + enum S5U; + enum S8U; + enum S11U; + enum S12; + enum S2AU; + enum S2BU; + enum N3TRUSTEDN3GPP; + enum N3UNTRUSTEDN3GPP; + enum N9ROAMING; + enum SGI; + enum N19; + enum SXAU; + enum SXBU; + enum N4U; + } + } + + grouping InterfaceUpfInfoItemGrp { + leaf interfaceType { + description "User Plane interface type. + See TS 29.510[23] clause 6.1.6.3.9"; + mandatory true; + type UPInterfaceType; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + } + + leaf networkInstance { + description "Network Instance (See TS 29.244) associated to the User + Plane interface"; + type string; + mandatory true; + } + } + + grouping AtsssCapabilityGrp { + leaf atsssLL { + description "Indicates the ATSSS-LL capability to support procedures + related to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf mptcp { + description "Indicates the MPTCP capability to support procedures related + to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf rttWithoutPmf { + description "Indicates whether the UPF supports RTT measurement without + PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + } + grouping UpfInfoGrp { - description "Represents datatype UpfInfo"; + description "Represents datatype UpfInfo. This data type represents + information of an UPF Instance"; - /*sNssaiUpfInfoList { - description ""; + list sNssaiUpfInfoList { + description "This attribute represents a list of parameters supported by + the UPF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiUpfInfoItemGrp; } - smfServingAreat { - description ""; + leaf-list smfServingArea { + type string; + min-elements 1; + description "The SMF service area(s) the UPF can serve. See TS 29.510. + If not provided, the UPF can serve any SMF service area."; } - interfaceUpfInfoListt { - description ""; + list interfaceUpfInfoList { + description "List of User Plane interfaces configured on the UPF. When + this parameter is provided in the NF Discovery response, the NF Service + Consumer (e.g., SMF) may use this information for UPF selection."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses InterfaceUpfInfoItemGrp; } - iwkEpsIndt { - description ""; + leaf iwkEpsInd { + type boolean; + mandatory true; + config false; + description "Indicates whether interworking with EPS is supported by + the UPF. + True: Supported + False: Not Supported"; } - pduSessionTypest { - description ""; + leaf-list pduSessionTypes { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + config false; + min-elements 1; + description "Indicates the type(s) of a PDU session."; } - atsssCapabilityt { - description ""; + list atsssCapability { + config false; + description "Indicate the ATSSS capability of the UPF"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses AtsssCapabilityGrp; } - ueIpAddrIndt { - description ""; + leaf ueIpAddrInd { + type boolean; + config false; + default false; + description "Indicates whether the UPF supports allocating UE IP + addresses/prefixes. + true: supported + false: not supported"; } - taiListt { - description ""; + list taiList { + description "The list of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; } - taiRangeListt { - description ""; + list taiRangeList { + description "The range of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; } - wAgfInfot { - description ""; + list wAgfInfo { + description "Indicate that the UPF is collocated with W-AGF. If not + present, the UPF is not collocated with Wireline Access Gateway + Function (W-AGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; } - tngfInfot { - description ""; + list tngfInfo { + description "Indicate that the UPF is collocated with TNGF. If not + present, the UPF is not collocated with Trusted Non-3GPP Gateway + Function (TNGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; } - twifInfot { - description ""; + list twifInfo { + description "Indicate that the UPF is collocated with TWIF. If not + present, the UPF is not collocated with Trusted WLAN Interworking + Function (TWIF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; } - priorityt { - description ""; + leaf priority { + type uint16; + mandatory true; + description "This parameter defines Priority (relative to other NFs of + the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over + this value (See TS 29.510)."; } - redundantGtput { - description ""; + leaf redundantGtpu { + type boolean; + default false; + config false; + description "Indicates whether the UPF supports redundant GTP-U path. + true: supported + false: not supported"; } - ipupst { - description ""; + leaf ipups { + type boolean; + default false; + description "Indicates whether the UPF is configured for Inter-PLMN User + Plane Security (IPUPS). Any UPF can support the IPUPS functionality. + In network deployments where specific UPFs are used to provide IPUPS, + UPFs configured for providing IPUPS services shall be selected. + true: The UPF is configured for IPUPS. + false: The UPF is not configured for IPUPS"; } - dataForwardingt { - description ""; + leaf dataForwarding { + type boolean; + default false; + description "Indicates whether the UPF is configured for data forwarding. + Based on operator policies, if dedicated UPFs are preferred to be used + for indirect data forwarding during handover scenarios, when setting + up the indirect data forwarding tunnel, the SMF should preferably + select a UPF configured for data forwarding and use the network + instance indicated in the Network Instance ID associated to the + DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. + true: the UPF is configured for data forwarding + false: the UPF is not configured for data forwarding + + If the UPF is configured for data forwarding, it shall support UP + network interface with type 'DATA_FORWARDING'."; } - supportedPfcpFeaturest { - description ""; + leaf supportedPfcpFeatures { + type string; + config false; + description "Supported Packet Forwarding Control Protocol (PFCP) Features. + A string used to indicate the PFCP features supported by the UPF, + which encodes the 'UP Function Features' as specified in + Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal + representation. + + Each character in the string shall take a value of '0' to '9', 'a' + to 'f' or 'A' to 'F' and each two characters shall represent one octet + of 'UP Function Features' (starting from Octet 5, to higher octets). + For each two characters representing one octet, the first character + representing the 4 most significant bits of the octet and the second + character the 4 least significant bits of the octet. + + The supported PFCP features shall be provisioned in addition and be + consistent with the existing UPF features (atsssCapability, ueIpAddrInd, + redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', + then the UEIP flag shall also be set to '1' in the supported PFCP + features."; } - sxaIndt { - description ""; - }*/ + leaf sxaInd { + type boolean; + config false; + description "This attribute indicates whether the UPF is configured to + support Sxa interface. + true: Supported + false: Not Supported"; + } } grouping UPFFunctionGrp { -- GitLab From c6c5b865d0fae5bbab6a981ceb3e8ff6218bb244 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 11:43:45 +0200 Subject: [PATCH 27/46] move udrinfo from nfprofile to _3gpp-5gc-nrm-udrfunction and correct error --- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 23 ++++++- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 11 +--- yang-models/_3gpp-5gc-nrm-udrfunction.yang | 61 +++++++++++++++++-- 3 files changed, 80 insertions(+), 15 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index 394fbe911..e278e345b 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -1,7 +1,7 @@ module _3gpp-5gc-nrm-managed-nfprofile { yang-version 1.1; - namespace urn:_3gpp-5gc-nrm-managed-nfprofile; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-managed-nfprofile; prefix mnfp3gpp; import _3gpp-common-yang-types { prefix types3gpp; } @@ -117,6 +117,8 @@ TTA, TTC). All rights reserved."; description "It represents a set of SUPIs for which the NF (Service) instance under CANARY_RELEASE status shall be selected."; + key idx; + leaf idx { type uint32; } uses SupiRange; } list gpsiRangeList { @@ -124,6 +126,8 @@ TTA, TTC). All rights reserved."; (Service) instance under CANARY_RELEASE status shall be selected"; min-elements 1; + key idx; + leaf idx { type uint32; } uses IdentityRange; } list impuRangeList { @@ -131,6 +135,8 @@ TTA, TTC). All rights reserved."; for which the NF (Service) instance under CANARY_RELEASE status shall be selected"; min-elements 1; + key idx; + leaf idx { type uint32; } uses IdentityRange; } list impiRangeList { @@ -138,6 +144,8 @@ TTA, TTC). All rights reserved."; for which theNF (Service) instance under CANARY_RELEASE status shall be selected."; min-elements 1; + key idx; + leaf idx { type uint32; } uses IdentityRange; } leaf peiList { @@ -175,9 +183,17 @@ TTA, TTC). All rights reserved."; description "The specific list of S-NSSAIs supported by the given PLMN."; min-elements 1; + max-elements 1; key "sst sd"; uses types5g3gpp:SNssai; } + leaf nid { + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN "; + reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, + and 6.3.8 in 3GPP TS 23.501 "; + type string; + } } grouping ConditionGroupGrp { @@ -348,7 +364,7 @@ grouping ManagedNFProfileGrp { at least one NF Service, the S-NSSAIs supported per PLMN in the NF Profile shall be the set or a superset of the perPlmnSnssaiList of the NFService(s)."; - key "mcc mnc nId"; + key idx; leaf idx { type uint32; } uses PlmnSnssai; } @@ -358,7 +374,7 @@ grouping ManagedNFProfileGrp { The absence of this attribute in the NF profile indicates that no SNPN, other than the SNPN(s) registered in the snpnList attribute of the NF Profile, is allowed to access the service instance"; - key "mcc mnc"; + key "mCC mNC"; uses nfs3gpp:SNPNIdGrp; } @@ -571,6 +587,7 @@ grouping ManagedNFProfileGrp { list selectionConditions { description "Identifications of Credentials Holder or Default Credentials Server. It is an array of FQDN."; + leaf idx { type uint32; } key "idx"; uses SelectionConditionsGrp; } diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index ad84040eb..f38772db5 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -8,9 +8,9 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -70,17 +70,12 @@ module _3gpp-5gc-nrm-nrffunction { uses types5g3gpp:SNssai; } - list nFProfileList { - description "Set of NFProfile(s) to be registered in the NRF instance."; - //optional support - key nfInstanceId; - uses nfp3gpp:NFProfileGrp; - } list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; description "This parameter defines profile for managed NF"; reference "3gpp TS 23.501"; } diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 1118fd143..a1a37c312 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -10,22 +10,65 @@ module _3gpp-5gc-nrm-udrfunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501. - Copyright 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-07-25 { reference CR-1558 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-22 {reference "initial revision"; } - + + grouping udrInfo { + + leaf groupId { + description "Identity of the UDR group that is served + by the UDR instance. + If not provided, the UDR instance does not pertain + to any UDR group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data + is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRange; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list supportedDataSets { + description "List of supported data sets in the UDR instance. + If not provided, the UDR supports all data sets."; + min-elements 1; + type DataSetId; + } + } grouping UDRFuntionGrp { description "Representse the UDRFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -61,10 +104,20 @@ module _3gpp-5gc-nrm-udrfunction { list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; + } + } + + typedef DataSetId { + type enumeration { + enum SUBSCRIPTION; + enum POLICY; + enum EXPOSURE; + enum APPLICATION; } } -- GitLab From a81157ae38f4a2883de3ef073069c07965e72f76 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 11:50:27 +0200 Subject: [PATCH 28/46] file to be removed --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 681 ++++++++++++----------- 1 file changed, 341 insertions(+), 340 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 354d8b8ac..20714945d 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -28,206 +28,207 @@ module _3gpp-5gc-nrm-nfprofile { revision 2023-02-14 { reference CR-0891; } revision 2019-06-17 { reference "initial revision"; } - grouping NFProfileGrp { - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - - leaf nfStatus { - description "Status of the NF Instance."; - mandatory true; - type NFStatus; - } - - leaf heartBeatTimer { - description "Time in seconds expected between 2 consecutive - heart-beat messages from an NF Instance to the NRF. - It may be included in the registration request. - When present in the request it shall contain the - heartbeat time proposed by the NF service consumer."; - type uint16; - } - - list plmnList { - description "PLMN(s) of the Network Function. - This IE shall be present if this information - is available for the NF. If not provided, PLMN ID(s) - of the PLMN of the NRF are assumed for the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { - description "S-NSSAIs of the Network Function. If not - provided, the NF can serve any S-NSSAI. When present - this IE represents the list of S-NSSAIs supported in - all the PLMNs listed in the plmnList IE."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - - list perPlmnSnssaiList { - description "This IE may be included when the list of - S-NSSAIs supported by the NF for each PLMN it is supporting - is different. When present, this IE shall include the S-NSSAIs - supported by the Network Function for each PLMN supported by - the Network Function. When present, this IE shall - override sNssais IE."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses PlmnSnssai; - } - - leaf-list nsiList { - description "NSI identities of the Network Function. - If not provided, the NF can serve any NSI."; - min-elements 1; - type string; - } - - leaf fqdn { - description "FQDN of the Network Function. For AMF, the - FQDN registered with the NRF shall be that of the AMF Name."; - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF needs to be discoverable by other - NFs in a different PLMN, then an FQDN that is used - for inter-PLMN routing is specified."; - type inet:domain-name; - } - - leaf-list ipv4Addresses { - description "IPv4 address(es) of the Network Function."; - min-elements 1; - type inet:ipv4-address; - } +//Moved to managed_nfprofile +// grouping NFProfileGrp { +// leaf nfInstanceId { +// description "String uniquely identifying a NF instance."; +// mandatory true; +// type string; +// } - leaf-list ipv6Addresses { - description "IPv6 address(es) of the Network Function."; - min-elements 1; - type inet:ipv6-address; - } - - list allowedPlmns { - description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } +// leaf nfType { +// description "Type of Network Function."; +// mandatory true; +// type types3gpp:NfType; +// } +// +// leaf nfStatus { +// description "Status of the NF Instance."; +// mandatory true; +// type NFStatus; +// } - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the NF instance. - If not provided, any NF type is allowed to access the NF."; - min-elements 1; - type types3gpp:NfType; - } +// leaf heartBeatTimer { +// description "Time in seconds expected between 2 consecutive +// heart-beat messages from an NF Instance to the NRF. +// It may be included in the registration request. +// When present in the request it shall contain the +// heartbeat time proposed by the NF service consumer."; +// type uint16; +// } - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed - to access the NF instance. If not provided, - any NF domain is allowed to access the NF."; - min-elements 1; - type string; - } +// list plmnList { +// description "PLMN(s) of the Network Function. +// This IE shall be present if this information +// is available for the NF. If not provided, PLMN ID(s) +// of the PLMN of the NRF are assumed for the NF."; +// +// min-elements 1; +// key "mcc mnc"; +// uses types3gpp:PLMNId; +// } +// +// list sNssais { +// description "S-NSSAIs of the Network Function. If not +// provided, the NF can serve any S-NSSAI. When present +// this IE represents the list of S-NSSAIs supported in +// all the PLMNs listed in the plmnList IE."; +// min-elements 1; +// key "sst sd"; +// uses Snssai; +// } - list allowedNssais { - description "S-NSSAI of the allowed slices to access the NF instance. - If not provided, any slice is allowed to access the NF."; - min-elements 1; - key "sst sd"; - uses Snssai; - } +// list perPlmnSnssaiList { +// description "This IE may be included when the list of +// S-NSSAIs supported by the NF for each PLMN it is supporting +// is different. When present, this IE shall include the S-NSSAIs +// supported by the Network Function for each PLMN supported by +// the Network Function. When present, this IE shall +// override sNssais IE."; +// min-elements 1; +// // key idx; +// leaf idx { type uint32; } +// uses PlmnSnssai; +// } +v +// leaf-list nsiList { +// description "NSI identities of the Network Function. +// If not provided, the NF can serve any NSI."; +// min-elements 1; +// type string; + // } + // +// leaf fqdn { +// description "FQDN of the Network Function. For AMF, the +// FQDN registered with the NRF shall be that of the AMF Name."; +// type inet:domain-name; +// } +// +// leaf interPlmnFqdn { +// description "If the NF needs to be discoverable by other +// NFs in a different PLMN, then an FQDN that is used +// for inter-PLMN routing is specified."; +// type inet:domain-name; +// } +// Remove not used in stage 3 or stage 2 +// leaf-list ipv4Addresses { +// description "IPv4 address(es) of the Network Function."; +// min-elements 1; +// type inet:ipv4-address; +// } +// +// leaf-list ipv6Addresses { +// description "IPv6 address(es) of the Network Function."; +// min-elements 1; +// type inet:ipv6-address; +// } +// +// list allowedPlmns { +// description "PLMNs allowed to access the NF instance. +// If not provided, any PLMN is allowed to access the NF."; +// +// min-elements 1; +// key "mcc mnc"; +// uses types3gpp:PLMNId; +// } - leaf priority { - description "Priority (relative to other NFs of the same type) - in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. - If priority is also present in the nfServiceList - parameters, - those will have precedence over this value. - The NRF may overwrite the received priority value - when exposing - an NFProfile with the Nnrf_NFDiscovery service."; - type uint16; - } +// leaf-list allowedNfTypes { +// description "Type of the NFs allowed to access the NF instance. +// If not provided, any NF type is allowed to access the NF."; +// min-elements 1; +// type types3gpp:NfType; +// } - leaf capacity { - description "Static capacity information in the range of 0-65535, - expressed as a weight relative to other NF instances of - the same type; if capacity is also present in the nfServiceList - parameters, those will have precedence over this value."; - type uint16; - } +// leaf-list allowedNfDomains { +// description "Pattern representing the NF domain names allowed +// to access the NF instance. If not provided, +// any NF domain is allowed to access the NF."; + // min-elements 1; + // type string; +// } +// +// list allowedNssais { +// description "S-NSSAI of the allowed slices to access the NF instance. +// If not provided, any slice is allowed to access the NF."; +// min-elements 1; +// key "sst sd"; +// uses Snssai; +// } +// +// leaf priority { +// description "Priority (relative to other NFs of the same type) +// in the range of 0-65535, to be used for NF selection; +// lower values indicate a higher priority. +// If priority is also present in the nfServiceList +// parameters, +// those will have precedence over this value. +// The NRF may overwrite the received priority value +// when exposing +// an NFProfile with the Nnrf_NFDiscovery service."; +// type uint16; +// } - leaf load { - description "Dynamic load information, ranged from 0 to 100, - indicates the current load percentage of the NF."; - type types3gpp:Load; - } - - leaf locality { - description "Operator defined information about the location - of the NF instance (e.g. geographic location, data center)."; - type string; - } - - grouping udrInfo { - - leaf groupId { - description "Identity of the UDR group that is served - by the UDR instance. - If not provided, the UDR instance does not pertain - to any UDR group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data - is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is - available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile - data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - leaf-list supportedDataSets { - description "List of supported data sets in the UDR instance. - If not provided, the UDR supports all data sets."; - min-elements 1; - type DataSetId; - } - } +// leaf capacity { +// description "Static capacity information in the range of 0-65535, +// expressed as a weight relative to other NF instances of +// the same type; if capacity is also present in the nfServiceList +// parameters, those will have precedence over this value."; +// type uint16; +// } +// +// leaf load { +// description "Dynamic load information, ranged from 0 to 100, +// indicates the current load percentage of the NF."; +// type types3gpp:Load; +// } +// +// leaf locality { +// description "Operator defined information about the location +// of the NF instance (e.g. geographic location, data center)."; +// type string; +// } +// +// grouping udrInfo { +// +// leaf groupId { +// description "Identity of the UDR group that is served +// by the UDR instance. +// If not provided, the UDR instance does not pertain +// to any UDR group."; +// type string; +// } +// +// list supiRanges { +// description "List of ranges of SUPI's whose profile data +// is available in the UDR instance."; + // key "start end pattern"; +// min-elements 1; +// uses SupiRange; +// } +// +// list gpsiRanges { +// description "List of ranges of GPSIs whose profile data is +// available in the UDR instance."; +// key "start end pattern"; +// min-elements 1; +// uses IdentityRange; +// } +// +// list externalGroupIdentifiersRanges { +// description "List of ranges of external groups whose profile +// data is available in the UDR instance."; +// key "start end pattern"; +// min-elements 1; +// uses IdentityRange; +// } +// +// leaf-list supportedDataSets { +// description "List of supported data sets in the UDR instance. +// If not provided, the UDR supports all data sets."; +// min-elements 1; +// type DataSetId; +// } +// } grouping udmInfo { @@ -1109,72 +1110,72 @@ module _3gpp-5gc-nrm-nfprofile { type string; } - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - type yang:date-and-time; - } - - leaf nfServicePersistence { - description "If present, and set to true, it indicates that - the different - service instances of a same NF Service - in this NF instance, - - supporting a same API version, are capable to persist - their resource state in shared storage and - therefore these resources - are available after a new NF service - instance supporting - the same API version is selected by a NF - Service Consumer (see 3GPP TS 23.527). - Otherwise, it indicates that the NF Service - Instances of - a same NF Service are not capable to share - resource state inside the NF Instance."; - - type boolean; - } +// leaf recoveryTime { +// description "Timestamp when the NF was (re)started."; +// type yang:date-and-time; +// } - list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be - discovered by other NFs."; - key serviceInstanceID; - min-elements 1; - uses nfs3gpp:NFServiceGrp; - } +// leaf nfServicePersistence { +// description "If present, and set to true, it indicates that +// the different +// service instances of a same NF Service +// in this NF instance, +// +// supporting a same API version, are capable to persist +// their resource state in shared storage and +// therefore these resources +// are available after a new NF service +// instance supporting +// the same API version is selected by a NF +// Service Consumer (see 3GPP TS 23.527). +// Otherwise, it indicates that the NF Service +// Instances of +// a same NF Service are not capable to share +// resource state inside the NF Instance."; + // + // type boolean; +// } +// +// list nfServices { +// description "List of NF Service Instances. It shall include +// the services produced by the NF that can be +// discovered by other NFs."; +// key serviceInstanceID; +// min-elements 1; +// uses nfs3gpp:NFServiceGrp; +// } - leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. - This IE may be present - in the NFRegister or NFUpdate (NF Profile Complete - Replacement) request - and shall be absent in the response. - true: the NF Service Consumer supports receiving NF Profile - Changes in the response. - false (default): the NF Service Consumer does not support - receiving NF Profile Changes in the response."; - - type boolean; - } - - leaf nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF - in NFRegister or NFUpdate (NF Profile Complete Replacement) response. - true: the NF Profile contains NF Profile changes. - false (default): complete NF Profile."; - - type boolean; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - } +// leaf nfProfileChangesSupportInd { +// description "NF Profile Changes Support Indicator. +// This IE may be present +// in the NFRegister or NFUpdate (NF Profile Complete +// Replacement) request +// and shall be absent in the response. +// true: the NF Service Consumer supports receiving NF Profile +// Changes in the response. +// false (default): the NF Service Consumer does not support +// receiving NF Profile Changes in the response."; +// +// type boolean; +// } +// +// leaf nfProfileChangesInd { +// description "NF Profile Changes Indicator. This IE shall be absent +// in the request to the NRF and may be included by the NRF +// in NFRegister or NFUpdate (NF Profile Complete Replacement) response. +// true: the NF Profile contains NF Profile changes. +// false (default): complete NF Profile."; +// +// type boolean; +// } +// +// list defaultNotificationSubscriptions { +// description "Notification endpoints for different notification types."; +// key notificationType; +// min-elements 1; +// uses types3gpp:DefaultNotificationSubscription; +// } +// } typedef NFStatus { type enumeration { @@ -1191,40 +1192,40 @@ module _3gpp-5gc-nrm-nfprofile { enum APPLICATION; } } - - grouping SupiRange { - leaf start { - description "First value identifying the start of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging - to this range. - A SUPI value is considered part - of the range - if and only if the SUPI string - fully matches the regular expression."; - type string; - } - } +//moved to managed-nfprofile +// grouping SupiRange { +// leaf start { +// description "First value identifying the start of +// a SUPI range. +// To be used when the range of SUPI's can be +// represented +// as a numeric range (e.g., IMSI ranges)."; +// type string { +// pattern '^[0-9]+$'; +// } +// } +// +// leaf end { +// description "Last value identifying the end of +// a SUPI range. +// To be used when the range of SUPI's can be +// represented +// as a numeric range (e.g. IMSI ranges)."; +// type string { +// pattern '^[0-9]+$'; +// } +// } +// +// leaf pattern { +// description "Pattern representing the set of SUPI's belonging +// to this range. +// A SUPI value is considered part +// of the range +// if and only if the SUPI string +// fully matches the regular expression."; +// type string; +// } +// } grouping IdentityRange { leaf start { @@ -1254,16 +1255,16 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } - - grouping SnssaiUpfInfoItem { - list sNssai { - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - } +// move to UPFInfo +// grouping SnssaiUpfInfoItem { +// list sNssai { +// description "Supported S-NSSAI."; +// min-elements 1; +// max-elements 1; +// key "sst sd"; +// uses Snssai; +// } +// } grouping DnnUpfInfoItem { leaf dnn { @@ -1290,27 +1291,27 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } - - grouping Snssai { - leaf sst { - description "Unsigned integer, within the range 0 to 255, - representing the Slice/Service Type. - It indicates the expected Network Slice behaviour - in terms of features and services."; - mandatory true; - type uint32; - } - - leaf sd { - description "3-octet string, representing the Slice Differentiator, - in hexadecimal representation."; - type string { - pattern '^[A-Fa-f0-9]{6}$'; - } - } - - reference "3GPP TS 29.571"; - } +// Moved to common type +// grouping Snssai { +// leaf sst { +// description "Unsigned integer, within the range 0 to 255, +// representing the Slice/Service Type. +// It indicates the expected Network Slice behaviour +// in terms of features and services."; +// mandatory true; +// type uint32; +// } +// +// leaf sd { +// description "3-octet string, representing the Slice Differentiator, +// in hexadecimal representation."; +// type string { +// pattern '^[A-Fa-f0-9]{6}$'; +// } +// } +// +// reference "3GPP TS 29.571"; +// } typedef PduSessionType { type enumeration { @@ -1456,24 +1457,24 @@ module _3gpp-5gc-nrm-nfprofile { } } - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssaiList { - description "The specific list of S-NSSAIs supported - by the given PLMN."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - } +// grouping PlmnSnssai { +// list plmnId { +// description "PLMN ID for which list of supported S-NSSAI(s) +// is provided."; +// min-elements 1; +// max-elements 1; +// key "mcc mnc"; +// uses types3gpp:PLMNId; +// } +// +// list sNssaiList { +// description "The specific list of S-NSSAIs supported +// by the given PLMN."; +// min-elements 1; +// key "sst sd"; +// uses Snssai; +// } +// } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying -- GitLab From 55883cee956215a51fc164a41fadb7f8f32e8e78 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 18:25:27 +0200 Subject: [PATCH 29/46] move from nfprofile --- yang-models/_3gpp-5g-common-yang-types.yang | 34 +- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 4 +- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 681 ++++++++++---------- yang-models/_3gpp-5gc-nrm-smffunction.yang | 136 +++- yang-models/_3gpp-5gc-nrm-udmfunction.yang | 118 +++- 5 files changed, 614 insertions(+), 359 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index e81cd0f83..2225efcf1 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -106,6 +106,23 @@ module _3gpp-5g-common-yang-types { uses SnssaiExtensionGrp; } } + grouping sNssaiSmfInfoItem { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + list dnnSmfInfoList { + description "List of parameters supported by the SMF per DNN. + The absence indicates the DNN can be selected for any DNAI."; + min-elements 1; + key dnn; + uses DnnSmfInfoItem; + } + } grouping MappedCellIdInfoGrp { description "This data type represents the mapping relationship between @@ -319,7 +336,22 @@ module _3gpp-5g-common-yang-types { TAC string fully matches the regular expression."; type string; } - } + } + grouping DnnSmfInfoItem { + leaf dnn { + description "Supported DNN."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported by + the SMF for this DNN. The absence of this attribute indicates that + the SMF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; + } + } grouping SupportedFunc { leaf function { diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index e2648cdd3..cf478f26f 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -11,7 +11,7 @@ module _3gpp-5gc-nrm-ausffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -68,7 +68,7 @@ module _3gpp-5gc-nrm-ausffunction { by the PCF instance."; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:SupiRange; + uses mnfp3gpp:SupiRange; } leaf-list routingIndicators { diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 20714945d..354d8b8ac 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -28,207 +28,206 @@ module _3gpp-5gc-nrm-nfprofile { revision 2023-02-14 { reference CR-0891; } revision 2019-06-17 { reference "initial revision"; } -//Moved to managed_nfprofile -// grouping NFProfileGrp { -// leaf nfInstanceId { -// description "String uniquely identifying a NF instance."; -// mandatory true; -// type string; -// } + grouping NFProfileGrp { + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + min-elements 1; + key "sst sd"; + uses Snssai; + } + + list perPlmnSnssaiList { + description "This IE may be included when the list of + S-NSSAIs supported by the NF for each PLMN it is supporting + is different. When present, this IE shall include the S-NSSAIs + supported by the Network Function for each PLMN supported by + the Network Function. When present, this IE shall + override sNssais IE."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + leaf-list nsiList { + description "NSI identities of the Network Function. + If not provided, the NF can serve any NSI."; + min-elements 1; + type string; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; + type inet:domain-name; + } + + leaf interPlmnFqdn { + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; + type inet:domain-name; + } + + leaf-list ipv4Addresses { + description "IPv4 address(es) of the Network Function."; + min-elements 1; + type inet:ipv4-address; + } -// leaf nfType { -// description "Type of Network Function."; -// mandatory true; -// type types3gpp:NfType; -// } -// -// leaf nfStatus { -// description "Status of the NF Instance."; -// mandatory true; -// type NFStatus; -// } + leaf-list ipv6Addresses { + description "IPv6 address(es) of the Network Function."; + min-elements 1; + type inet:ipv6-address; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } -// leaf heartBeatTimer { -// description "Time in seconds expected between 2 consecutive -// heart-beat messages from an NF Instance to the NRF. -// It may be included in the registration request. -// When present in the request it shall contain the -// heartbeat time proposed by the NF service consumer."; -// type uint16; -// } + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + type types3gpp:NfType; + } -// list plmnList { -// description "PLMN(s) of the Network Function. -// This IE shall be present if this information -// is available for the NF. If not provided, PLMN ID(s) -// of the PLMN of the NRF are assumed for the NF."; -// -// min-elements 1; -// key "mcc mnc"; -// uses types3gpp:PLMNId; -// } -// -// list sNssais { -// description "S-NSSAIs of the Network Function. If not -// provided, the NF can serve any S-NSSAI. When present -// this IE represents the list of S-NSSAIs supported in -// all the PLMNs listed in the plmnList IE."; -// min-elements 1; -// key "sst sd"; -// uses Snssai; -// } + leaf-list allowedNfDomains { + description "Pattern representing the NF domain names allowed + to access the NF instance. If not provided, + any NF domain is allowed to access the NF."; + min-elements 1; + type string; + } -// list perPlmnSnssaiList { -// description "This IE may be included when the list of -// S-NSSAIs supported by the NF for each PLMN it is supporting -// is different. When present, this IE shall include the S-NSSAIs -// supported by the Network Function for each PLMN supported by -// the Network Function. When present, this IE shall -// override sNssais IE."; -// min-elements 1; -// // key idx; -// leaf idx { type uint32; } -// uses PlmnSnssai; -// } -v -// leaf-list nsiList { -// description "NSI identities of the Network Function. -// If not provided, the NF can serve any NSI."; -// min-elements 1; -// type string; - // } - // -// leaf fqdn { -// description "FQDN of the Network Function. For AMF, the -// FQDN registered with the NRF shall be that of the AMF Name."; -// type inet:domain-name; -// } -// -// leaf interPlmnFqdn { -// description "If the NF needs to be discoverable by other -// NFs in a different PLMN, then an FQDN that is used -// for inter-PLMN routing is specified."; -// type inet:domain-name; -// } -// Remove not used in stage 3 or stage 2 -// leaf-list ipv4Addresses { -// description "IPv4 address(es) of the Network Function."; -// min-elements 1; -// type inet:ipv4-address; -// } -// -// leaf-list ipv6Addresses { -// description "IPv6 address(es) of the Network Function."; -// min-elements 1; -// type inet:ipv6-address; -// } -// -// list allowedPlmns { -// description "PLMNs allowed to access the NF instance. -// If not provided, any PLMN is allowed to access the NF."; -// -// min-elements 1; -// key "mcc mnc"; -// uses types3gpp:PLMNId; -// } + list allowedNssais { + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + min-elements 1; + key "sst sd"; + uses Snssai; + } -// leaf-list allowedNfTypes { -// description "Type of the NFs allowed to access the NF instance. -// If not provided, any NF type is allowed to access the NF."; -// min-elements 1; -// type types3gpp:NfType; -// } + leaf priority { + description "Priority (relative to other NFs of the same type) + in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. + If priority is also present in the nfServiceList + parameters, + those will have precedence over this value. + The NRF may overwrite the received priority value + when exposing + an NFProfile with the Nnrf_NFDiscovery service."; + type uint16; + } -// leaf-list allowedNfDomains { -// description "Pattern representing the NF domain names allowed -// to access the NF instance. If not provided, -// any NF domain is allowed to access the NF."; - // min-elements 1; - // type string; -// } -// -// list allowedNssais { -// description "S-NSSAI of the allowed slices to access the NF instance. -// If not provided, any slice is allowed to access the NF."; -// min-elements 1; -// key "sst sd"; -// uses Snssai; -// } -// -// leaf priority { -// description "Priority (relative to other NFs of the same type) -// in the range of 0-65535, to be used for NF selection; -// lower values indicate a higher priority. -// If priority is also present in the nfServiceList -// parameters, -// those will have precedence over this value. -// The NRF may overwrite the received priority value -// when exposing -// an NFProfile with the Nnrf_NFDiscovery service."; -// type uint16; -// } + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; + type uint16; + } -// leaf capacity { -// description "Static capacity information in the range of 0-65535, -// expressed as a weight relative to other NF instances of -// the same type; if capacity is also present in the nfServiceList -// parameters, those will have precedence over this value."; -// type uint16; -// } -// -// leaf load { -// description "Dynamic load information, ranged from 0 to 100, -// indicates the current load percentage of the NF."; -// type types3gpp:Load; -// } -// -// leaf locality { -// description "Operator defined information about the location -// of the NF instance (e.g. geographic location, data center)."; -// type string; -// } -// -// grouping udrInfo { -// -// leaf groupId { -// description "Identity of the UDR group that is served -// by the UDR instance. -// If not provided, the UDR instance does not pertain -// to any UDR group."; -// type string; -// } -// -// list supiRanges { -// description "List of ranges of SUPI's whose profile data -// is available in the UDR instance."; - // key "start end pattern"; -// min-elements 1; -// uses SupiRange; -// } -// -// list gpsiRanges { -// description "List of ranges of GPSIs whose profile data is -// available in the UDR instance."; -// key "start end pattern"; -// min-elements 1; -// uses IdentityRange; -// } -// -// list externalGroupIdentifiersRanges { -// description "List of ranges of external groups whose profile -// data is available in the UDR instance."; -// key "start end pattern"; -// min-elements 1; -// uses IdentityRange; -// } -// -// leaf-list supportedDataSets { -// description "List of supported data sets in the UDR instance. -// If not provided, the UDR supports all data sets."; -// min-elements 1; -// type DataSetId; -// } -// } + leaf load { + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; + type types3gpp:Load; + } + + leaf locality { + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; + type string; + } + + grouping udrInfo { + + leaf groupId { + description "Identity of the UDR group that is served + by the UDR instance. + If not provided, the UDR instance does not pertain + to any UDR group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data + is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses SupiRange; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses IdentityRange; + } + + leaf-list supportedDataSets { + description "List of supported data sets in the UDR instance. + If not provided, the UDR supports all data sets."; + min-elements 1; + type DataSetId; + } + } grouping udmInfo { @@ -1110,72 +1109,72 @@ v type string; } -// leaf recoveryTime { -// description "Timestamp when the NF was (re)started."; -// type yang:date-and-time; -// } + leaf recoveryTime { + description "Timestamp when the NF was (re)started."; + type yang:date-and-time; + } + + leaf nfServicePersistence { + description "If present, and set to true, it indicates that + the different + service instances of a same NF Service + in this NF instance, + + supporting a same API version, are capable to persist + their resource state in shared storage and + therefore these resources + are available after a new NF service + instance supporting + the same API version is selected by a NF + Service Consumer (see 3GPP TS 23.527). + Otherwise, it indicates that the NF Service + Instances of + a same NF Service are not capable to share + resource state inside the NF Instance."; + + type boolean; + } -// leaf nfServicePersistence { -// description "If present, and set to true, it indicates that -// the different -// service instances of a same NF Service -// in this NF instance, -// -// supporting a same API version, are capable to persist -// their resource state in shared storage and -// therefore these resources -// are available after a new NF service -// instance supporting -// the same API version is selected by a NF -// Service Consumer (see 3GPP TS 23.527). -// Otherwise, it indicates that the NF Service -// Instances of -// a same NF Service are not capable to share -// resource state inside the NF Instance."; - // - // type boolean; -// } -// -// list nfServices { -// description "List of NF Service Instances. It shall include -// the services produced by the NF that can be -// discovered by other NFs."; -// key serviceInstanceID; -// min-elements 1; -// uses nfs3gpp:NFServiceGrp; -// } + list nfServices { + description "List of NF Service Instances. It shall include + the services produced by the NF that can be + discovered by other NFs."; + key serviceInstanceID; + min-elements 1; + uses nfs3gpp:NFServiceGrp; + } -// leaf nfProfileChangesSupportInd { -// description "NF Profile Changes Support Indicator. -// This IE may be present -// in the NFRegister or NFUpdate (NF Profile Complete -// Replacement) request -// and shall be absent in the response. -// true: the NF Service Consumer supports receiving NF Profile -// Changes in the response. -// false (default): the NF Service Consumer does not support -// receiving NF Profile Changes in the response."; -// -// type boolean; -// } -// -// leaf nfProfileChangesInd { -// description "NF Profile Changes Indicator. This IE shall be absent -// in the request to the NRF and may be included by the NRF -// in NFRegister or NFUpdate (NF Profile Complete Replacement) response. -// true: the NF Profile contains NF Profile changes. -// false (default): complete NF Profile."; -// -// type boolean; -// } -// -// list defaultNotificationSubscriptions { -// description "Notification endpoints for different notification types."; -// key notificationType; -// min-elements 1; -// uses types3gpp:DefaultNotificationSubscription; -// } -// } + leaf nfProfileChangesSupportInd { + description "NF Profile Changes Support Indicator. + This IE may be present + in the NFRegister or NFUpdate (NF Profile Complete + Replacement) request + and shall be absent in the response. + true: the NF Service Consumer supports receiving NF Profile + Changes in the response. + false (default): the NF Service Consumer does not support + receiving NF Profile Changes in the response."; + + type boolean; + } + + leaf nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent + in the request to the NRF and may be included by the NRF + in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + type boolean; + } + + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types."; + key notificationType; + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + } typedef NFStatus { type enumeration { @@ -1192,40 +1191,40 @@ v enum APPLICATION; } } -//moved to managed-nfprofile -// grouping SupiRange { -// leaf start { -// description "First value identifying the start of -// a SUPI range. -// To be used when the range of SUPI's can be -// represented -// as a numeric range (e.g., IMSI ranges)."; -// type string { -// pattern '^[0-9]+$'; -// } -// } -// -// leaf end { -// description "Last value identifying the end of -// a SUPI range. -// To be used when the range of SUPI's can be -// represented -// as a numeric range (e.g. IMSI ranges)."; -// type string { -// pattern '^[0-9]+$'; -// } -// } -// -// leaf pattern { -// description "Pattern representing the set of SUPI's belonging -// to this range. -// A SUPI value is considered part -// of the range -// if and only if the SUPI string -// fully matches the regular expression."; -// type string; -// } -// } + + grouping SupiRange { + leaf start { + description "First value identifying the start of + a SUPI range. + To be used when the range of SUPI's can be + represented + as a numeric range (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of + a SUPI range. + To be used when the range of SUPI's can be + represented + as a numeric range (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging + to this range. + A SUPI value is considered part + of the range + if and only if the SUPI string + fully matches the regular expression."; + type string; + } + } grouping IdentityRange { leaf start { @@ -1255,16 +1254,16 @@ v type string; } } -// move to UPFInfo -// grouping SnssaiUpfInfoItem { -// list sNssai { -// description "Supported S-NSSAI."; -// min-elements 1; -// max-elements 1; -// key "sst sd"; -// uses Snssai; -// } -// } + + grouping SnssaiUpfInfoItem { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses Snssai; + } + } grouping DnnUpfInfoItem { leaf dnn { @@ -1291,27 +1290,27 @@ v type PduSessionType; } } -// Moved to common type -// grouping Snssai { -// leaf sst { -// description "Unsigned integer, within the range 0 to 255, -// representing the Slice/Service Type. -// It indicates the expected Network Slice behaviour -// in terms of features and services."; -// mandatory true; -// type uint32; -// } -// -// leaf sd { -// description "3-octet string, representing the Slice Differentiator, -// in hexadecimal representation."; -// type string { -// pattern '^[A-Fa-f0-9]{6}$'; -// } -// } -// -// reference "3GPP TS 29.571"; -// } + + grouping Snssai { + leaf sst { + description "Unsigned integer, within the range 0 to 255, + representing the Slice/Service Type. + It indicates the expected Network Slice behaviour + in terms of features and services."; + mandatory true; + type uint32; + } + + leaf sd { + description "3-octet string, representing the Slice Differentiator, + in hexadecimal representation."; + type string { + pattern '^[A-Fa-f0-9]{6}$'; + } + } + + reference "3GPP TS 29.571"; + } typedef PduSessionType { type enumeration { @@ -1457,24 +1456,24 @@ v } } -// grouping PlmnSnssai { -// list plmnId { -// description "PLMN ID for which list of supported S-NSSAI(s) -// is provided."; -// min-elements 1; -// max-elements 1; -// key "mcc mnc"; -// uses types3gpp:PLMNId; -// } -// -// list sNssaiList { -// description "The specific list of S-NSSAIs supported -// by the given PLMN."; -// min-elements 1; -// key "sst sd"; -// uses Snssai; -// } -// } + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + key "sst sd"; + uses Snssai; + } + } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index ca37a43d4..8349d68b6 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -9,6 +9,7 @@ module _3gpp-5gc-nrm-smffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -27,6 +28,117 @@ module _3gpp-5gc-nrm-smffunction { revision 2019-05-31 {reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision";} + + grouping smfInfo { + + list sNssaiSmfInfoList { + description "List of parameters supported by the SMF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:sNssaiSmfInfoItem; + } + + list taiList { + description "The list of TAIs the SMF can serve. + It may contain the non-3GPP access TAI. + The absence of this attribute and the taiRangeList + attribute indicate that + the SMF can be selected for any TAI + in the serving network."; + + key idx; + leaf idx { type uint32; } + + min-elements 1; + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "The range of TAIs the SMF can serve. + The absence of this attribute and the taiList + attribute indicate that the SMF can be selected + for any TAI in the serving network."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + leaf pgwFqdn { + description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; + type inet:domain-name; + } + leaf-list accessType { + description "If included, this IE 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."; + + min-elements 1; + max-elements 2; + type AccessType; + } + leaf priority { + description "This parameter defines Priority (relative to other + NFs of the same type) in the range of 0-65535, to be used for + NF selection; lower values indicate a higher priority. If + priority is also present in the nfServiceList parameters, + those will have precedence over this value "; + type uint16; + } + leaf-list vsmfSupportInd { + description "Used by an SMF to explicitly indicate the support of + V-SMF capability and its preference to be selected as V-SMF. + When present it indicate whether the V-SMF capability is supported + by the SMF: + - true: V-SMF capability supported by the SMF + - false: V-SMF capability not supported by the SMF. + When absent the V-SMF capability support of the SMF is not specified."; + type boolean; + + } + leaf pgwFqdnList { + description "When present, this attribute provides additional FQDNs + to the FQDN indicated in the pgwFqdn attribute. + The pgwFqdnList attribute may be present if the pgwFqdn attribute + is present."; + type string; + } + leaf-list ismfSupportInd { + description "This attribute may be used by an SMF to explicitly + indicate the support of I-SMF capability and its preference to be + selected as I-SMF. When present, this attribute shall indicate + whether the I-SMF capability are supported by the SMF: + - TRUE: I-SMF capability supported by the SMF + - FALSE: I-SMF capability not supported by the SMF. Absence of this + attribute indicates the I-SMF capability support of the SMF is not + specified."; + max-elements 1; + type boolean; + } + leaf-list smfOnboardingCapability { + description "This attribute indicates the SMF supports SNPN + Onboarding capability and User Plane Remote Provisioning. This + is used for the case of Onboarding of UEs for SNPNs + (see TS 23.501 [2], clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support SNPN Onboarding; + - TRUE: SMF supports SNPN Onboarding."; + type boolean; + max-elements 1; + } + leaf-list smfUPRPCapability { + description "This attribute IE indicates the SMF supports User + Plane Remote Provisioning (UPRP) capability. This is used for + the case of Onboarding of UEs for SNPNs , + clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support UPRP; + - TRUE: SMF supports UPRP."; + reference "see TS 23.501 [2]"; + type boolean; + } + } + grouping SMFFunctionGrp { description "Represents the SMFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -39,11 +151,10 @@ module _3gpp-5gc-nrm-smffunction { uses types3gpp:PLMNId; } - leaf-list nRTACList { + leaf nRTACList { description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; config false; type types5g3gpp:NRTAC; } @@ -53,23 +164,14 @@ module _3gpp-5gc-nrm-smffunction { interface."; type inet:domain-name; } - - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { @@ -115,6 +217,12 @@ module _3gpp-5gc-nrm-smffunction { } } + typedef AccessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + } augment "/me3gpp:ManagedElement" { list SMFFunction { description "5G Core SMF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 319015d16..c91967e05 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -10,6 +10,7 @@ module _3gpp-5gc-nrm-udmfunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -26,6 +27,113 @@ module _3gpp-5gc-nrm-udmfunction { revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-22 { reference "initial revision";} + grouping InternalGroupIdRangeGrp { + + leaf start { + description "It indicates first value identifying the start of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + + leaf end{ + description "It indicates last value identifying the end of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + leaf pattern { + description "It indicates pattern (regular expression according + to the ECMA-262 dialect [75]) representing the set of identities + belonging to this range. An identity value is considered part of + the range if and only if the identity string fully matches the + regular expression."; + type string; + } + } + grouping SuciInfoGrp { + description "This data type represents SUCI information containing + Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; + + leaf-list routingInds { + type string; + min-elements 1; + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM + can serve any Routing Indicator."; + } + + leaf-list hNwPubKeyIds { + type int64; + min-elements 1; + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + can serve any public key."; + } + } + grouping UdmInfoGrp { + + leaf groupId { + description "Identity of the UDM group that is served by the + UDM instance. If not provided, the UDM instance does + not pertain to any UDM group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRange; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list routingIndicators { + description "List of Routing Indicator information that allows + to route network signalling with SUCI + to the UDM instance. If not provided, + the UDM can serve any Routing Indicator. + Pattern: '^[0-9]{1,4}$'."; + min-elements 1; + type string; + } + + list internalGroupIdentifiersRanges{ + description "It represents list of ranges of Internal Group + Identifiers whose profile data is available in the UDM instance. + If not provided, it does not imply that the UDM supports all + internal groups."; + key idx; + leaf idx { type uint32; } + uses InternalGroupIdRangeGrp; + } + list suciInfos { + description "It represents list of SuciInfo. A SUCI that matches + this information can be served by the UDM .A SUCI that matches + all attributes of at least one entry in this array shall be + considered as a match of this information"; + key idx; + leaf idx { type uint32; } + uses SuciInfoGrp; + } + } + grouping UDMFuntionGrp { description "Represents the UDMFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -61,10 +169,11 @@ module _3gpp-5gc-nrm-udmfunction { list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { @@ -76,6 +185,13 @@ module _3gpp-5gc-nrm-udmfunction { uses types5g3gpp:CommModel; } + container udmInfo { + description "This attribute represents the information of an UDM NF + Instance "; + reference "TS 29.510 "; + uses UdmInfoGrp; + } + leaf-list mdtUserConsentReqList { type enumeration { enum M1; -- GitLab From 9e62a5ef6831c0488ef7ce7b7175d0aae3394240 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 18:43:17 +0200 Subject: [PATCH 30/46] correct linting errors --- yang-models/_3gpp-5g-common-yang-types.yang | 6 ++- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 4 +- yang-models/_3gpp-5gc-nrm-ep.yang | 6 +-- yang-models/_3gpp-5gc-nrm-seppfunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-smffunction.yang | 8 ++-- yang-models/_3gpp-common-ep-rp.yang | 2 +- ..._3gpp-common-managementdatacollection.yang | 28 ++++++------- yang-models/_3gpp-common-mnsregistry.yang | 6 +-- .../_3gpp-nr-nrm-eutrancellrelation.yang | 2 +- .../_3gpp-nr-nrm-externaleutrancell.yang | 4 +- yang-models/_3gpp-nr-nrm-nrcellrelation.yang | 40 +++++++++---------- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 4 +- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 4 +- yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang | 4 +- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 18 ++++----- 15 files changed, 70 insertions(+), 68 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 2225efcf1..f16c83e5c 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -38,13 +38,15 @@ module _3gpp-5g-common-yang-types { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; - must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } leaf fqdn { description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; - must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } } grouping SdRangeGrp { diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index cf478f26f..95e2baa16 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -55,7 +55,6 @@ module _3gpp-5gc-nrm-ausffunction { leaf nFSrvGroupId { type string; - mandatory false; config false; yext3gpp:inVariant; yext3gpp:notNotifyable; @@ -116,9 +115,10 @@ module _3gpp-5gc-nrm-ausffunction { list managedNFProfile { key idx; + leaf idx { type uint32 ; } min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 73854e5d4..175fa05a0 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -137,13 +137,13 @@ module _3gpp-5gc-nrm-ep { The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; uses types3gpp:PLMNId; } - - leaf remoteSeppAddress { + + leaf remoteSeppAddress { description "The host address of the SEPP."; type inet:host; } - leaf remoteSeppId { + leaf remoteSeppId { type uint16; } diff --git a/yang-models/_3gpp-5gc-nrm-seppfunction.yang b/yang-models/_3gpp-5gc-nrm-seppfunction.yang index b85cdb7aa..3be7623d4 100755 --- a/yang-models/_3gpp-5gc-nrm-seppfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-seppfunction.yang @@ -88,7 +88,7 @@ module _3gpp-5gc-nrm-seppfunction { yext3gpp:inVariant; uses types3gpp:PLMNId; } - + leaf sEPPType { type sepp3gpp:SEPPType; yext3gpp:inVariant; diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 8349d68b6..19d9ea5fe 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -122,8 +122,8 @@ module _3gpp-5gc-nrm-smffunction { Onboarding capability and User Plane Remote Provisioning. This is used for the case of Onboarding of UEs for SNPNs (see TS 23.501 [2], clauses 5.30.2.10 and 6.2.6.2). - - FALSE: SMF does not support SNPN Onboarding; - - TRUE: SMF supports SNPN Onboarding."; + - FALSE: SMF does not support SNPN Onboarding; + - TRUE: SMF supports SNPN Onboarding."; type boolean; max-elements 1; } @@ -132,8 +132,8 @@ module _3gpp-5gc-nrm-smffunction { Plane Remote Provisioning (UPRP) capability. This is used for the case of Onboarding of UEs for SNPNs , clauses 5.30.2.10 and 6.2.6.2). - - FALSE: SMF does not support UPRP; - - TRUE: SMF supports UPRP."; + - FALSE: SMF does not support UPRP; + - TRUE: SMF supports UPRP."; reference "see TS 23.501 [2]"; type boolean; } diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 0005480f3..1b12d4c19 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -35,7 +35,7 @@ module _3gpp-common-ep-rp { across a reference point between two network entities. For naming the subclasses of EP_RP, the following rules shall apply: - - The name of the subclassed IOC shall have the form 'EP_', + - The name of the subclassed IOC shall have the form 'EP_', where is a string that represents the name of the reference point. Thus, two valid examples of EP_RP subclassed IOC names would be: EP_S1 and EP_X2."; diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index 04e52aa0f..bd15c8a0e 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -36,11 +36,11 @@ module _3gpp-common-managementdatacollection { grouping ManagementDataGrp { description "This <> defines the management data which is requested. It is a choice between - - a list of data categories (attribute mgtDataCategory) This may include + - a list of data categories (attribute mgtDataCategory) This may include 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' etc. The mapping of exact measurement with the requested category will be done at the producer and is implementation specific. - - a list of management data identified with their name (attribute + - a list of management data identified with their name (attribute 'mgtDataName'). The management data name presents a specific single measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. @@ -402,19 +402,19 @@ module _3gpp-common-managementdatacollection { For consolidation of file-based management data the attribute consolidateOutput controls: - - True: the MnS Producer will combine the file output from jobs used + - True: the MnS Producer will combine the file output from jobs used to collect the required management data into a single output file as follows: - File is in compressed format, i.e. zip. - - File shall contain individual output files from each configured job + - File shall contain individual output files from each configured job - Each file retains its original filename - - Each file retains it original content - - Consolidated filename uses naming convention defined in, + - Each file retains it original content + - Consolidated filename uses naming convention defined in, TS 28.532 clause 11.3.2.1.4 with the following: - - is a combination of the management data types included in + - is a combination of the management data types included in the consolidated output - - is omitted - - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. + - is omitted + - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. Subject to the reporting method, the MnS Consumer may receive file related notifications. When consolidated output is selected the @@ -442,14 +442,14 @@ module _3gpp-common-managementdatacollection { The MnS producer indicates in the attribute progressStateInfo the state of the management data collection: - - NOT_STARTED + - NOT_STARTED - RUNNING - CANCELING and indicates in the attribute resultStateInfo: - - FINISHED - - FAILED - - PARTIALLY_FAILED - - CANCELLED"; + - FINISHED + - FAILED + - PARTIALLY_FAILED + - CANCELLED"; } } } diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index de83f1403..a3464b212 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -102,15 +102,15 @@ module _3gpp-common-mnsregistry { that can be accessed using the Management Service. These managed object instances can be represented with one of the following options: - - A list of DNs, i.e. representing managed object instances identified + - A list of DNs, i.e. representing managed object instances identified by the DN. - - A list of GeoAreas, i.e. representing managed object instances covered + - A list of GeoAreas, i.e. representing managed object instances covered by the specified geographical areas. In the present document, the geoAreasList is only used for MnS consumer to retrieve MnS scope of the specified MnS instance. - - A list of TAIs, i.e. representing managed object instances covered + - A list of TAIs, i.e. representing managed object instances covered by the specified TAIs."; choice MnsScope { diff --git a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang index 8f7d24596..015b86206 100755 --- a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang @@ -151,7 +151,7 @@ module _3gpp-nr-nrm-eutrancellrelation { list EUtranCellRelation { description "Represents a relation between an NR cell and an E-UTRAN cell."; - reference "3GPP TS 28.541"; + reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index 2a5ff1f39..e6f97092e 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -53,10 +53,10 @@ module _3gpp-nr-nrm-externaleutrancell { uses types3gpp:PLMNId; } - leaf cellLocalId { + leaf cellLocalId { description "Unambiguously identifies a cell within an eNodeB."; reference "NCI defined in 3GPP TS 38.300"; - type int32 {range "0..255"; } + type int32 {range "0..255"; } } leaf eNBId { diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang index 67d764326..b6bc8290b 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -39,11 +39,11 @@ module _3gpp-nr-nrm-nrcellrelation { description "Represents the NRCellRelation IOC."; reference "3GPP TS 28.541"; - leaf nRTCI { + leaf nRTCI { description "Target NR Cell Identifier. It consists of NR Cell Identifier (NCI) and Physical Cell Identifier of the target NR cell (nRPCI)."; - type uint64; + type uint64; } container cellIndividualOffset { @@ -53,64 +53,64 @@ module _3gpp-nr-nrm-nrcellrelation { sinrOffsetCSI-RS."; reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; - leaf rsrpOffsetSsb { + leaf rsrpOffsetSsb { description "Offset value of rsrpOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetSsb{ + leaf rsrqOffsetSsb{ description "Offset value of rsrqOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetSsb { + leaf sinrOffsetSsb { description "Offset value of sinrOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrpOffsetCsiRs{ + leaf rsrpOffsetCsiRs{ description "Offset value of rsrpOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetCsiRs { + leaf rsrqOffsetCsiRs { description "Offset value of rsrqOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetCsiRs { + leaf sinrOffsetCsiRs { description "Offset value of sinrOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } } - leaf nRFreqRelationRef { + leaf nRFreqRelationRef { description "Reference to a corresponding NRFreqRelation instance."; mandatory true; type types3gpp:DistinguishedName; } - leaf adjacentNRCellRef { + leaf adjacentNRCellRef { description "Reference to an adjacent NR cell (NRCellCU or ExternalNRCellCU)."; mandatory true; type types3gpp:DistinguishedName; } - leaf isRemoveAllowed { - type boolean; + leaf isRemoveAllowed { + type boolean; default true; description "True if the ANR function in the node is allowed to remove this relation."; } - leaf isHOAllowed { - type boolean; + leaf isHOAllowed { + type boolean; default true; description "True if handovers are allowed over this relation."; } diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index f3f80a3d9..4472165a6 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -194,7 +194,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units dB; } - leaf tReselectionNR { + leaf tReselectionNR { description "Cell reselection timer for NR."; reference "TreselectionRAT for NR in 3GPP TS 38.331"; mandatory true; @@ -213,7 +213,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf tReselectionNRSfMedium { + leaf tReselectionNRSfMedium { description "The attribute tReselectionNr (parameter TreselectionNR in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in medium mobility state."; diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index bd045b52d..91b01d3d4 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -62,7 +62,7 @@ module _3gpp-nr-nrm-nrfrequency { } feature NRFrequencyUnderNRNetwork { - description "NRFrequency shall be contained under NRNetwork"; + description "NRFrequency shall be contained under NRNetwork"; } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" @@ -72,7 +72,7 @@ module _3gpp-nr-nrm-nrfrequency { } feature NRFrequencyUnderSubNetwork { - description "NRFrequency shall be contained under SubNetwork"; + description "NRFrequency shall be contained under SubNetwork"; } augment "/subnet3gpp:SubNetwork" { diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang index 9df2e6d5d..7c48e5965 100755 --- a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang +++ b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang @@ -101,8 +101,8 @@ module _3gpp-nr-nrm-nrsectorcarrier { instance."; reference "3GPP TS 23.622"; mandatory true; - type types3gpp:DistinguishedName; - } + type types3gpp:DistinguishedName; + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 6ba9a70cb..bc6578ef3 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -348,7 +348,7 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf serviceType { description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { @@ -653,7 +653,7 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } uses ns3cmn3gpp:XLThptGrp; - } + } list dLThptPerUE { description "This attribute defines data rate supported by the network slice per UE, refer NG.116."; @@ -836,7 +836,7 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf serviceType { description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { @@ -971,36 +971,36 @@ submodule _3gpp-ns-nrm-sliceprofile { } list CNSliceSubnetProfile { description " This represents the requirements for the top slice associated with the - network slice. "; + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list RANSliceSubnetProfile { description " This represents the requirements for the top slice associated with the - network slice. "; + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list TopSliceSubnetProfile { description " This represents the requirements for the top slice associated with the - network slice. "; + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } } } \ No newline at end of file -- GitLab From ed327d25c66c0a34cd671283f2db687ffbb91b83 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 19:01:41 +0200 Subject: [PATCH 31/46] move PcfInfo and ProSeCapability to _3gpp-5gc-nrm-pcffunction --- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 1 - yang-models/_3gpp-5gc-nrm-pcffunction.yang | 131 +++++++++++++++++++- 2 files changed, 129 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index 95e2baa16..15efda5ce 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -8,7 +8,6 @@ module _3gpp-5gc-nrm-ausffunction { import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index 673c13acc..725bdbc2e 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -10,15 +10,17 @@ module _3gpp-5gc-nrm-pcffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the PCF function in 5GC. For more information about the PCF, 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-07-25 { reference CR-1558 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -28,6 +30,117 @@ module _3gpp-5gc-nrm-pcffunction { revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 { reference "initial revision"; } + grouping ProSeCapabilityGrp { + 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 pcfInfoGrp { + + leaf-list dnnList { + description "DNNs supported by the PCF. + If not provided, the PCF can serve any DNN."; + + min-elements 1; + type string; + } + + list supiRanges { + description "List of ranges of SUPIs that can be served by + the PCF instance. If not provided, the PCF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRange; + } + + leaf rxDiamHost { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter host + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + + leaf rxDiamRealm { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter realm + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + list proseCapability { + description "It indicates the supported ProSe Capability by the PCF."; + uses ProSeCapabilityGrp; + config false; + } + } grouping PCFFunctionGrp { description "Represents the PCFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -63,10 +176,11 @@ module _3gpp-5gc-nrm-pcffunction { list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; @@ -76,6 +190,19 @@ module _3gpp-5gc-nrm-pcffunction { reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + leaf supportedBMOList { + description "It is used to indicate the list of supported BMOs + (Bridge Managed Objects) required for integration with TSN system."; + type string; + } + list pcfInfo { + description "This attribute represents information of a PCF NF Instance. + Multiple pcfInfo may be allowed to define different DNN list for each + supiranges."; + key idx; + leaf idx { type uint32; } + uses pcfInfoGrp; + } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; description "DN of the Dynamic5QISet that the PCFFunction supports -- GitLab From 96814f4fdaa43efaf02aaf4660f1c96e643b93d9 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 25 Jul 2025 19:14:28 +0200 Subject: [PATCH 32/46] correct linting errors --- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index 15efda5ce..a47aa8831 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -113,6 +113,8 @@ module _3gpp-5gc-nrm-ausffunction { } list managedNFProfile { + description "This data type represents a Profile definition + of a Managed NF"; key idx; leaf idx { type uint32 ; } min-elements 1; -- GitLab From 4ad1556cd4e55b11c0d7b69bdff2767320b5a03f Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Sat, 26 Jul 2025 01:56:36 +0200 Subject: [PATCH 33/46] updated DnnUpfInfoItemGrp and PduSessionType --- yang-models/_3gpp-5gc-nrm-upffunction.yang | 110 ++++++++++++++++++++- 1 file changed, 108 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 226b892d4..afef56593 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -9,7 +9,6 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; @@ -28,6 +27,113 @@ module _3gpp-5gc-nrm-upffunction { revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + + grouping DnnUpfInfoItemGrp { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + + list ipv4AddressRanges { + description "This attribute represents a list of ranges of IPv4 addresses + handled by UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list ipv6PrefixRanges { + description "This attribute represents a list of ranges of IPv6 prefixes + handled by the UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; } + + list natedIpv4AddressRanges { + description "This attribute represents a list of ranges of NATed IPv4 + addresses."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list natedIpv6PrefixRanges { + description "This attribute represents a list of ranges of NATed IPv6 + prefixes."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; + } + + leaf-list ipv4IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv4 Index supported by + the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf-list ipv6IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv6 Index supported + by the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf networkInstance { + type string; + description "This attribute represents the N6 Network Instance + (See TS 29.244) associated with the S-NSSAI and DNN."; + } + + leaf-list dnaiNwInstanceList { + type string; + description "This attribute represents a map of a network instance per + DNAI for the DNN, where the key of the map is the DNAI (Data network + access identifier), see TS 23.501. + + When present, the value of each entry of the map shall contain a N6 + network instance that is configured for the DNAI indicated by the key."; + } + } + grouping SnssaiUpfInfoItemGrp { list sNssai { description "Supported S-NSSAI."; @@ -43,7 +149,7 @@ module _3gpp-5gc-nrm-upffunction { per DNN."; min-elements 1; key dnn; - uses nef3gpp:DnnInfoItemGrp; + uses DnnUpfInfoItemGrp; } leaf redundantTransport { -- GitLab From bf101b7da4e4f36417865519e240c6b2fef48bb8 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 4 Aug 2025 18:48:57 +0200 Subject: [PATCH 34/46] removed thresholdinfo.thresholdlevel --- yang-models/_3gpp-common-measurements.yang | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 27541b18e..2c23d8b18 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -56,6 +56,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-08-01 { reference CR-0551; } revision 2025-05-19 { reference CR-0532; } revision 2025-02-07 { reference CR-0461; } revision 2025-01-29 { reference CR-0512; } @@ -103,13 +104,6 @@ module _3gpp-common-measurements { group of vendor specific performance metrics."; } - leaf thresholdLevel { - type uint64; - mandatory true; - description "Number (key) for a single threshold in the threshold list - applicable to the monitored performance metric."; - } - leaf thresholdDirection { type enumeration { enum UP; -- GitLab From c568824ba410aa7254fe28bde130a9eb91ee4b3a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 4 Aug 2025 19:57:54 +0200 Subject: [PATCH 35/46] trace small corrections --- yang-models/_3gpp-common-trace.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 8e94b81ef..bab202a41 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -1483,7 +1483,7 @@ module _3gpp-common-trace { reference "clause 5.10.38 of TS 32.422"; } - list areaConfigurationForNeighCells { + list areaConfigurationForNeighCell { when '../../../jobType = "LOGGED_MDT_ONLY"'; key "idx"; leaf idx { type uint32 ; } @@ -1536,7 +1536,7 @@ module _3gpp-common-trace { immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or LOGGED_MBSFN_MDT the attribute loggedMdtConfig is applicable."; - leaf anonymizationOfMDTData { + leaf anonymizationOfMdtData { when ../areaScope ; type enumeration { enum NO_IDENTITY; -- GitLab From 604dbe1c91fb54032911fe90df6c686b2c7dbd71 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 4 Aug 2025 23:32:24 +0200 Subject: [PATCH 36/46] trace small corrections --- yang-models/_3gpp-common-trace.yang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index bab202a41..e39fc0f8e 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -1767,7 +1767,7 @@ module _3gpp-common-trace { } list traceTarget { - key "targetIdType"; + key "traceTargetType"; max-elements 1; description "It specifies the target object of the Trace, MDT and 5GC UE level measurements collection. The attribute is applicable for @@ -1776,7 +1776,7 @@ module _3gpp-common-trace { reporting or RRC reposring, the traceTarget attribute shall be null value."; - leaf targetIdType { + leaf traceTargetType { type enumeration { enum IMSI; enum IMEI; @@ -1852,7 +1852,7 @@ module _3gpp-common-trace { the subject ManagedEntity."; } - leaf-list targetIdValueList { + leaf-list traceTargetValueList { type string; description "It specifies the ID value(s) of the target object defined by traceTargetType"; -- GitLab From aeac78ffa4546b53e104f9897cbc844762727d04 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 5 Aug 2025 15:13:00 +0200 Subject: [PATCH 37/46] move nrf udr and smf from nfprofile --- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 270 ++++++++++++++++++++- yang-models/_3gpp-5gc-nrm-smffunction.yang | 2 +- yang-models/_3gpp-5gc-nrm-udrfunction.yang | 2 +- 3 files changed, 270 insertions(+), 4 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index f38772db5..83017f42a 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -11,7 +11,9 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } - + import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } + import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } + import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. @@ -28,6 +30,254 @@ module _3gpp-5gc-nrm-nrffunction { revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } + grouping NrfInfoGrp { + + list servedUdrInfo { + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } + + list servedUdmInfo { + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } + + list servedAusfInfo { + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses AusfInfoGrp; + } + + list servedAmfInfo { + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses amfInfo; + } + + list servedSmfInfo { + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses SmfInfoGrp; + } + + list servedUpfInfo { + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses upfInfo; + } + + list servedPcfInfo { + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses pcfInfo; + } + + list servedBsfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId{ + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses bsfInfo; + } + + list servedChfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + 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 ; + } + } + grouping NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -69,7 +319,23 @@ module _3gpp-5gc-nrm-nrffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list nrfInfo { + description ""; + key idx; + leaf idx {type uint32;} + uses NrfInfoGrp; + } + list nFProfileList { + description "It is a set of NFProfile(s) to be registered in the NRF + instance. NFProfile is defined in 3GPP TS 29.510 "; + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } list managedNFProfile { key idx; leaf idx { type uint32; } diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 19d9ea5fe..4a943bdf8 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -29,7 +29,7 @@ module _3gpp-5gc-nrm-smffunction { revision 2018-08-07 { reference "Initial revision";} - grouping smfInfo { + grouping SmfInfoGrp { list sNssaiSmfInfoList { description "List of parameters supported by the SMF per S-NSSAI."; diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index a1a37c312..071eb6df8 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -28,7 +28,7 @@ module _3gpp-5gc-nrm-udrfunction { revision 2019-05-22 {reference "initial revision"; } - grouping udrInfo { + grouping UdrInfoGrp { leaf groupId { description "Identity of the UDR group that is served -- GitLab From 76ce2f334d29802b74706075da22504385f34da8 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 5 Aug 2025 21:26:29 +0200 Subject: [PATCH 38/46] correct pyang errors --- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 83017f42a..a82e3a5f1 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -14,6 +14,12 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp;} + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp;} + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp;} + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp;} + + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. @@ -77,7 +83,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses AusfInfoGrp; + uses ausf3gpp:AusfInfoGrp; } list servedAmfInfo { @@ -93,7 +99,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses amfInfo; + uses amf3gpp:AmfInfoGrp; } list servedSmfInfo { @@ -109,7 +115,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses SmfInfoGrp; + uses smf3gpp:SmfInfoGrp; } list servedUpfInfo { @@ -125,7 +131,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses upfInfo; + uses upf3gpp:UpfInfoGrp; } list servedPcfInfo { @@ -141,7 +147,7 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; - uses pcfInfo; + uses pcf3gpp:pcfInfoGrp; } list servedBsfInfo { -- GitLab From 33c5c4dac0e9ec1c2026901a9d613d0e82a2a539 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Tue, 5 Aug 2025 22:23:04 +0200 Subject: [PATCH 39/46] moving from nfprofile to nrffunction nd correcting pyang an lint errors --- yang-models/_3gpp-5g-common-yang-types.yang | 192 ++--- .../_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang | 22 +- ...-5gc-nrm-GtpUPathQoSMonitoringControl.yang | 52 +- .../_3gpp-5gc-nrm-QFQoSMonitoringControl.yang | 44 +- yang-models/_3gpp-5gc-nrm-affunction.yang | 16 +- yang-models/_3gpp-5gc-nrm-amffunction.yang | 250 +++--- yang-models/_3gpp-5gc-nrm-amfregion.yang | 30 +- yang-models/_3gpp-5gc-nrm-amfset.yang | 34 +- yang-models/_3gpp-5gc-nrm-anlffunction.yang | 22 +- yang-models/_3gpp-5gc-nrm-ausffunction.yang | 86 +-- .../_3gpp-5gc-nrm-configurable5qiset.yang | 38 +- yang-models/_3gpp-5gc-nrm-dnfunction.yang | 16 +- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 46 +- .../_3gpp-5gc-nrm-ecmconnectioninfo.yang | 140 ++-- yang-models/_3gpp-5gc-nrm-ep.yang | 184 ++--- .../_3gpp-5gc-nrm-externalnrffunction.yang | 16 +- .../_3gpp-5gc-nrm-externalnssffunction.yang | 16 +- .../_3gpp-5gc-nrm-externalseppfunction.yang | 24 +- yang-models/_3gpp-5gc-nrm-gmlcfunction.yang | 226 +++--- yang-models/_3gpp-5gc-nrm-lmffunction.yang | 112 +-- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 282 +++---- yang-models/_3gpp-5gc-nrm-n3iwffunction.yang | 18 +- yang-models/_3gpp-5gc-nrm-neffunction.yang | 178 ++--- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 654 ++++++++-------- yang-models/_3gpp-5gc-nrm-nfservice.yang | 132 ++-- yang-models/_3gpp-5gc-nrm-ngeirfunction.yang | 32 +- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 507 +++++++++++-- yang-models/_3gpp-5gc-nrm-nssffunction.yang | 44 +- yang-models/_3gpp-5gc-nrm-nwdaffunction.yang | 250 +++--- yang-models/_3gpp-5gc-nrm-pcffunction.yang | 87 +-- .../_3gpp-5gc-nrm-predefinedpccruleset.yang | 108 +-- yang-models/_3gpp-5gc-nrm-scpfunction.yang | 24 +- yang-models/_3gpp-5gc-nrm-seppfunction.yang | 58 +- yang-models/_3gpp-5gc-nrm-smffunction.yang | 88 +-- yang-models/_3gpp-5gc-nrm-smsffunction.yang | 28 +- yang-models/_3gpp-5gc-nrm-udmfunction.yang | 94 +-- yang-models/_3gpp-5gc-nrm-udrfunction.yang | 48 +- yang-models/_3gpp-5gc-nrm-udsffunction.yang | 36 +- yang-models/_3gpp-5gc-nrm-upffunction.yang | 282 +++---- yang-models/_3gpp-common-antennafunction.yang | 392 +++++----- yang-models/_3gpp-common-ep-rp.yang | 42 +- yang-models/_3gpp-common-externaldata.yang | 86 +-- yang-models/_3gpp-common-filemanagement.yang | 28 +- yang-models/_3gpp-common-files.yang | 250 +++--- yang-models/_3gpp-common-fm.yang | 190 ++--- yang-models/_3gpp-common-managed-element.yang | 162 ++-- .../_3gpp-common-managed-function.yang | 226 +++--- yang-models/_3gpp-common-management-node.yang | 54 +- ..._3gpp-common-managementdatacollection.yang | 216 +++--- yang-models/_3gpp-common-measurements.yang | 36 +- yang-models/_3gpp-common-mecontext.yang | 4 +- yang-models/_3gpp-common-mnsagent.yang | 44 +- yang-models/_3gpp-common-mnsregistry.yang | 136 ++-- yang-models/_3gpp-common-qmcjob.yang | 116 +-- .../_3gpp-common-sectorequipmentfunction.yang | 174 ++--- yang-models/_3gpp-common-subnetwork.yang | 124 +-- .../_3gpp-common-subscription-control.yang | 344 ++++----- yang-models/_3gpp-common-top.yang | 30 +- yang-models/_3gpp-common-trace.yang | 718 +++++++++--------- yang-models/_3gpp-common-util.yang | 142 ++-- yang-models/_3gpp-common-yang-extensions.yang | 72 +- yang-models/_3gpp-common-yang-types.yang | 608 +++++++-------- .../_3gpp-engy-nrm-energyinformation.yang | 96 +-- yang-models/_3gpp-nr-nrm-beam.yang | 4 +- yang-models/_3gpp-nr-nrm-bwp.yang | 8 +- yang-models/_3gpp-nr-nrm-bwpset.yang | 10 +- yang-models/_3gpp-nr-nrm-cco.yang | 92 +-- .../_3gpp-nr-nrm-cesmanagementfunction.yang | 158 ++-- ...3gpp-nr-nrm-commonbeamformingfunction.yang | 30 +- ...3gpp-nr-nrm-cpciconfigurationfunction.yang | 32 +- .../_3gpp-nr-nrm-danrmanagementfunction.yang | 14 +- .../_3gpp-nr-nrm-desmanagementfunction.yang | 70 +- yang-models/_3gpp-nr-nrm-dlbofunction.yang | 36 +- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 40 +- ...3gpp-nr-nrm-dpciconfigurationfunction.yang | 26 +- ...3gpp-nr-nrm-drachoptimizationfunction.yang | 48 +- yang-models/_3gpp-nr-nrm-ecmappingrule.yang | 38 +- yang-models/_3gpp-nr-nrm-ep.yang | 46 +- .../_3gpp-nr-nrm-eutrancellrelation.yang | 22 +- yang-models/_3gpp-nr-nrm-eutranetwork.yang | 8 +- .../_3gpp-nr-nrm-eutranfreqrelation.yang | 16 +- yang-models/_3gpp-nr-nrm-eutranfrequency.yang | 12 +- .../_3gpp-nr-nrm-externalamffunction.yang | 16 +- .../_3gpp-nr-nrm-externalenbfunction.yang | 12 +- .../_3gpp-nr-nrm-externaleutrancell.yang | 16 +- .../_3gpp-nr-nrm-externalgnbcucpfunction.yang | 20 +- .../_3gpp-nr-nrm-externalgnbcuupfunction.yang | 24 +- .../_3gpp-nr-nrm-externalgnbdufunction.yang | 24 +- .../_3gpp-nr-nrm-externalnrcellcu.yang | 44 +- ...3gpp-nr-nrm-externalservinggwfunction.yang | 10 +- .../_3gpp-nr-nrm-externalupffunction.yang | 10 +- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 120 +-- yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang | 34 +- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 12 +- yang-models/_3gpp-nr-nrm-mwab.yang | 40 +- yang-models/_3gpp-nr-nrm-nrcellcu.yang | 18 +- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 212 +++--- yang-models/_3gpp-nr-nrm-nrcellrelation.yang | 50 +- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 40 +- yang-models/_3gpp-nr-nrm-nrfrequency.yang | 16 +- yang-models/_3gpp-nr-nrm-nrnetwork.yang | 8 +- .../_3gpp-nr-nrm-nroperatorcelldu.yang | 30 +- yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang | 30 +- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 188 ++--- yang-models/_3gpp-nr-nrm-operatordu.yang | 42 +- yang-models/_3gpp-nr-nrm-redcapaccess.yang | 48 +- yang-models/_3gpp-nr-nrm-rimrsset.yang | 288 +++---- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 134 ++-- yang-models/_3gpp-ns-nrm-common.yang | 22 +- yang-models/_3gpp-ns-nrm-networkslice.yang | 32 +- .../_3gpp-ns-nrm-networkslicesubnet.yang | 140 ++-- yang-models/_3gpp-ns-nrm-serviceprofile.yang | 152 ++-- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 320 ++++---- yang-models/_3gpp-stm-nrm-stmfunction.yang | 98 +-- 114 files changed, 6054 insertions(+), 5712 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index f16c83e5c..59ddcb2c3 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -2,16 +2,16 @@ module _3gpp-5g-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; prefix "types5g3gpp"; - + import ietf-yang-types { prefix yang; } 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 "The model defines common types for 5G networks and + description "The model defines common types for 5G networks and network slicing. - Copyright 2025, 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"; @@ -19,13 +19,13 @@ module _3gpp-5g-common-yang-types { 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 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-05-10 { reference CR-0916; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } - + grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of @@ -38,17 +38,17 @@ module _3gpp-5g-common-yang-types { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; - must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } leaf fqdn { - description "This parameter defines FQDN of the Network Function + description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; - must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; - } + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } } - + grouping SdRangeGrp { leaf start { type string { @@ -56,50 +56,50 @@ module _3gpp-5g-common-yang-types { } mandatory true; description "First value identifying the start of an SD range. - This string shall be formatted as specified for the sd attribute of the + This string shall be formatted as specified for the sd attribute of the Snssai data type in clause 5.4.4.2 of TS 29.571."; } - + leaf end { type string { pattern "[A-Fa-f0-9]{6}"; } mandatory true; description "Last value identifying the end of an SD range. - This string shall be formatted as specified for the sd attribute of the + This string shall be formatted as specified for the sd attribute of the Snssai data type in clause 5.4.4.2 in TS 29.571"; } } - + grouping SnssaiExtensionGrp { list sdRanges { min-elements 1; key "start end"; - description "It shall contain the range(s) of Slice Differentiator values - supported for the Slice/Service Type value indicated in the sst + description "It shall contain the range(s) of Slice Differentiator values + supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type (see clause 5.4.4.2 in TS 29.571)."; uses SdRangeGrp; } - + leaf wildcardSd { type boolean; default false; - description "It indicates that all SD values are supported for the - Slice/Service Type value indicated in the sst attribute of the Snssai + description "It indicates that all SD values are supported for the + Slice/Service Type value indicated in the sst attribute of the Snssai data type (see clause 5.4.4.2 in TS 29.571)."; } } - + grouping ExtSnssaiGrp { list snssai { - description "It represents the S-NSSAI the NetworkSlice managed object + description "It represents the S-NSSAI the NetworkSlice managed object is supporting. The S-NSSAI is defined in TS 23.003 "; min-elements 1; - max-elements 1; + max-elements 1; key "sd sst"; uses SNssai; } - + list snssaiExtension { description "It represents extensions to the Snssai."; min-elements 1; @@ -109,15 +109,15 @@ module _3gpp-5g-common-yang-types { } } grouping sNssaiSmfInfoItem { - list sNssai { + list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key "sst sd"; uses types5g3gpp:SNssai; } - - list dnnSmfInfoList { + + list dnnSmfInfoList { description "List of parameters supported by the SMF per DNN. The absence indicates the DNN can be selected for any DNAI."; min-elements 1; @@ -125,13 +125,13 @@ module _3gpp-5g-common-yang-types { uses DnnSmfInfoItem; } } - + grouping MappedCellIdInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between Mapped Cell IDs and geographical areas (see clause 16.14.5 of TS 38.300"; - + list ntnGeoArea { - description "This attribute indicates a specific geographical location + description "This attribute indicates a specific geographical location mapped to Mapped Cell ID(s)."; min-elements 1; max-elements 1; @@ -139,9 +139,9 @@ module _3gpp-5g-common-yang-types { leaf idx { type uint32; } uses types3gpp:GeoAreaGrp; } - + list mappedCellId { - description "This attribute is in format of NCGI to indicate a fixed + description "This attribute is in format of NCGI to indicate a fixed geographical area (See subclause 16.14.5 in TS 38.300)"; min-elements 1; max-elements 1; @@ -150,66 +150,66 @@ module _3gpp-5g-common-yang-types { uses NcgiGrp; } } - + grouping NcgiGrp { description "Represents the Ncgi datatype"; - + list plmnId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + leaf nrCellId { type string; mandatory true; description "This attribute represents NR Cell Identity. - It's a 36-bit string identifying an NR Cell Id as specified in - clause 9.3.1.7 of TS 38.413, in hexadecimal representation. Each - character in the string shall take a value of - '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. - The most significant character representing the 4 most significant - bits of the Cell Id shall appear first in the string, and the - character representing the 4 least significant bit of the + It's a 36-bit string identifying an NR Cell Id as specified in + clause 9.3.1.7 of TS 38.413, in hexadecimal representation. Each + character in the string shall take a value of + '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most significant + bits of the Cell Id shall appear first in the string, and the + character representing the 4 least significant bit of the Cell Id shall appear last in the string. - Pattern: '^[A-Fa-f0-9]{9}$' + Pattern: '^[A-Fa-f0-9]{9}$' Example: An NR Cell Id 0x225BD6007 shall be encoded as '225BD6007'."; } - + leaf nId { type string; mandatory true; - description "Network Identity; Shall be present if PlmnIdNid identifies - an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP TS 23.501."; } } - + typedef NRTAC { type string; - description "This holds the identity of the common Tracking Area Code - for the PLMNs. + description "This holds the identity of the common Tracking Area Code + for the PLMNs. allowedValues: - a) It is the TAC or Extended-TAC. - b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, + a) It is the TAC or Extended-TAC. + b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. d) For a 5G SA (Stand Alone), it has a non-null value."; } - + grouping SNssai { - description + description "Single Network Slice Selection Assistance Information(S-NSSAI)"; reference "3GPP TS 23.003"; - + leaf sd { description "Slice Differentiator If not needed, the value can be set to ff:ff:ff."; @@ -218,35 +218,35 @@ module _3gpp-5g-common-yang-types { } reference "3GPP TS 23.003"; } - + leaf sst { type uint8; description "Slice/Service Type. - Values 0 to 127 belong to standardized SST range and are defined in + Values 0 to 127 belong to standardized SST range and are defined in 3GPP TS 23.501. Values 128 to 255 belong to operator-specific range."; } } - + grouping PlmnIdNid { - description "Represents the SCP domain specific information as defined + description "Represents the SCP domain specific information as defined in TS 29.510 "; uses types3gpp:PLMNId; - + leaf nid { type string; - description "This attribute represents network Identity; - Shall be present if PlmnIdNid identifies an SNPN. + description "This attribute represents network Identity; + Shall be present if PlmnIdNid identifies an SNPN. (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in TS 23.501"; } } grouping PLMNInfo { - description "The PLMNInfo data type define a S-NSSAI member in a specific - PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). - The PLMNId represents a data type that is comprised of mcc - (mobile country code) and mnc (mobile network code), (See TS 23.003 - subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is - comprised of an SST (Slice/Service type) and an optional + description "The PLMNInfo data type define a S-NSSAI member in a specific + PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). + The PLMNId represents a data type that is comprised of mcc + (mobile country code) and mnc (mobile network code), (See TS 23.003 + subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is + comprised of an SST (Slice/Service type) and an optional SD (Slice Differentiator) field"; uses types3gpp:PLMNId; uses SNssai; @@ -262,38 +262,38 @@ module _3gpp-5g-common-yang-types { enum DIRECT_COMMUNICATION_WITH_NRF { value 1; - description "Directly communicate to other NF service discovered + description "Directly communicate to other NF service discovered by NRF."; } enum INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY { value 2; - description "Communicate to pre-configured other NF service through + description "Communicate to pre-configured other NF service through SCP as a proxy."; } enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { value 3; - description "Communication to NF service discovered by NRF through SCP + description "Communication to NF service discovered by NRF through SCP as a proxy."; } } } - + grouping CommModel { leaf groupId { - type uint16; + type uint16; } leaf commModelType { type CommModelType; - } - leaf-list targetNFServiceList { - type types3gpp:DistinguishedName; + } + leaf-list targetNFServiceList { + type types3gpp:DistinguishedName; } leaf commModelConfiguration { type string; - } + } } grouping TaiRangeGrp { list plmnId { @@ -303,8 +303,8 @@ module _3gpp-5g-common-yang-types { key "mcc mnc"; uses types3gpp:PLMNId; } - - list tacRangeList { + + list tacRangeList { description "The range of the TACs."; min-elements 1; key "start end"; @@ -314,31 +314,31 @@ module _3gpp-5g-common-yang-types { grouping TacRange { leaf start { - description "First value identifying the start of a TAC range, + 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, + 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 + 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 DnnSmfInfoItem { leaf dnn { description "Supported DNN."; @@ -347,21 +347,21 @@ module _3gpp-5g-common-yang-types { } leaf-list dnaiList { - description "List of Data network access identifiers supported by + description "List of Data network access identifiers supported by the SMF for this DNN. The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; min-elements 1; type string; } - } - + } + grouping SupportedFunc { leaf function { - type string; + type string; } leaf policy { type string; - } + } } typedef EnergySavingLoadThresholdT { @@ -379,14 +379,14 @@ module _3gpp-5g-common-yang-types { } typedef PhysCellID { - type uint32 { - range "0..1007"; + type uint32 { + range "0..1007"; } reference "clause 7.4.2 of TS 38.211"; } typedef UTC24TimeOfDayT { - description "Time of day in HH:MM or H:MM 24-hour format per UTC + description "Time of day in HH:MM or H:MM 24-hour format per UTC time zone."; type string { pattern "(([01]?[0-9])|(2[0-3])):([0-5][0-9])"; diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang index 0a1adaef4..03dbf5acb 100755 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -1,22 +1,22 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; prefix FiveQiDscpMapping3gpp; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description " This IOC represents the set of mapping between 5QIs and DSCP. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2025-01-25 { reference CR-1442 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-05-27 { reference "CR-0287"; } @@ -28,7 +28,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { min-elements 1; description " Identifies the 5QI values that are mapped to a same DSCP"; } - + leaf dscp { type uint32 { range 0..255 ; @@ -44,7 +44,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { key "dscp"; uses FiveQiDscpMapping; } - } + } grouping FiveQiDscpMappingSetSubtree { list FiveQiDscpMappingSet { @@ -54,10 +54,10 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { container attributes { uses FiveQiDscpMappingSetGrp; } - } + } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { uses FiveQiDscpMappingSetSubtree; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang index b649d0bb0..d7d2c1217 100755 --- a/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang +++ b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang @@ -1,30 +1,30 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl; prefix gtpUPathQMCtrl3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } 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 capabilities and properties for control + description "This IOC represents the capabilities and properties for control of GTP-U path QoS monitoring defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-09-30 { reference "CR-0393"; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-04-10 { reference "S5-202103"; } grouping GtpUPathDelayThresholdsType { - description "Thresholds for reporting the packet delay for GTP-U path QoS + description "Thresholds for reporting the packet delay for GTP-U path QoS monitoring "; reference "3GPP TS 29.244"; leaf n3AveragePacketDelayThreshold { @@ -64,22 +64,22 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { enum DISABLED; } } - + list gtpUPathMonitoredSNSSAIs { key "sd sst"; - description "The S-NSSAIs for which the the GTP-U path QoS monitoring is + description "The S-NSSAIs for which the the GTP-U path QoS monitoring is to be performed."; reference "3GPP TS 23.003"; uses types5g3gpp:SNssai; } - + leaf-list monitoredDSCPs { description "The DSCPs for which the GTP-U path QoS monitoring is to be performed."; reference "3GPP TS 29.244"; type uint32; } - + leaf isEventTriggeredGtpUPathMonitoringSupported { description "It indicates whether the event triggered GTP-U path QoS monitoring reporting based on thresholds is supported."; @@ -87,52 +87,52 @@ module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { reference "3GPP TS 29.244"; type boolean; } - + leaf isPeriodicGtpUMonitoringSupported { - description "It indicates whether the periodic GTP-U path QoS monitoring + description "It indicates whether the periodic GTP-U path QoS monitoring reporting is supported."; mandatory true; reference "3GPP TS 29.244"; type boolean; } - + leaf isImmediateGtpUMonitoringSupported { - description "It indicates whether the immediate GTP-U path QoS monitoring + description "It indicates whether the immediate GTP-U path QoS monitoring reporting is supported."; mandatory true; reference "3GPP TS 29.244"; type boolean; } - + list gtpUPathDelayThresholds { - key n3AveragePacketDelayThreshold; + key n3AveragePacketDelayThreshold; // if max-elements is increased later, the key may need to be modified min-elements 1; max-elements 1; - description "It specifies the thresholds for reporting the packet delay + description "It specifies the thresholds for reporting the packet delay for the GTO-U path QoS monitoring."; uses GtpUPathDelayThresholdsType; } - + leaf gtpUPathMinimumWaitTime { - description "It specifies the minimum waiting time (in seconds) between - two consecutive reports for event triggered GTP-U path QoS monitoring + description "It specifies the minimum waiting time (in seconds) between + two consecutive reports for event triggered GTP-U path QoS monitoring reporting."; type uint32; } - + leaf gtpUPathMeasurementPeriod { - description "It specifies the period (in seconds) for reporting the packet + description "It specifies the period (in seconds) for reporting the packet delay for GTP-U path QoS monitoring."; type uint32; } - } + } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { list GtpUPathQoSMonitoringControl { - description "Specifies the capabilities and properties for control of - GTP-U path QoS monitoring. For more information about the GTP-U path + description "Specifies the capabilities and properties for control of + GTP-U path QoS monitoring. For more information about the GTP-U path QoS monitoring."; reference "3GPP TS 23.501"; key id; diff --git a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang index 3294c01f8..964dfc475 100755 --- a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang +++ b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang @@ -1,25 +1,25 @@ module _3gpp-5gc-nrm-QFQoSMonitoringControl { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-QFQoSMonitoringControl; prefix qFQMCtrl3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - organization "3gpp SA5"; + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the capabilities and properties for control - of QoS monitoring per QoS flow per UE for URLLC service defined - + description "This IOC represents the capabilities and properties for control + of QoS monitoring per QoS flow per UE for URLLC service defined + in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } @@ -58,41 +58,41 @@ in 3GPP TS 23.501. enum DISABLED; } } - + list qFMonitoredSNSSAIs { description "The S-NSSAIs for which the QoS monitoring per QoS flow per UE is to be performed."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai;} - + leaf-list qFMonitored5QIs { - description "The 5QIs for which the QoS monitoring per QoS flow + description "The 5QIs for which the QoS monitoring per QoS flow per UE is to be performed."; reference "3GPP TS 23.501"; type uint32 { range "0..255"; } } - + leaf isEventTriggeredQFMonitoringSupported { - description "It indicates whether the event based QoS monitoring + description "It indicates whether the event based QoS monitoring reporting per QoS flow per UE is supported."; mandatory true; reference "3GPP TS 29.244"; type boolean; } - + leaf isPeriodicQFMonitoringSupported { - description "It indicates whether the periodic QoS monitoring reporting + description "It indicates whether the periodic QoS monitoring reporting per QoS flow per UE is supported."; mandatory true; reference "3GPP TS 29.244"; type boolean; } - + leaf isSessionReleasedQFMonitoringSupported { - description "It indicates whether the session release based QoS monitoring + description "It indicates whether the session release based QoS monitoring reporting per QoS flow per UE is supported."; mandatory true; reference "3GPP TS 29.244"; @@ -103,7 +103,7 @@ in 3GPP TS 23.501. key "idx"; min-elements 1; max-elements 1; - description "It specifies the thresholds for reporting the packet delay + description "It specifies the thresholds for reporting the packet delay between PSA and UE for QoS monitoring per QoS flow per UE."; leaf idx { type uint32 ; } @@ -112,17 +112,17 @@ in 3GPP TS 23.501. leaf qFMinimumWaitTime { description "It specifies the minimum waiting time (in seconds) between - two consecutive reports for event triggered QoS monitoring reporting + two consecutive reports for event triggered QoS monitoring reporting per QoS flow per UE."; type uint32; } - + leaf qFMeasurementPeriod { - description "It specifies the period (in seconds) for reporting the + description "It specifies the period (in seconds) for reporting the packet delay for QoS monitoring per QoS flow per UE."; type uint32; } - } + } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { diff --git a/yang-models/_3gpp-5gc-nrm-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang index f3ec73762..2cc577c4b 100755 --- a/yang-models/_3gpp-5gc-nrm-affunction.yang +++ b/yang-models/_3gpp-5gc-nrm-affunction.yang @@ -1,31 +1,31 @@ module _3gpp-5gc-nrm-affunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-affunction; prefix af3gpp; - + 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 "This IOC is defined only to describe the IOCs representing its interaction interface with 5GC (i.e. EP_Rx and EP_N5). It has no attributes defined. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 {reference "initial revision"; } - + grouping AFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; } - + augment "/me3gpp:ManagedElement" { list AFFunction { description "5G Core AF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 4fe06e700..92fd61bbb 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -11,38 +11,38 @@ module _3gpp-5gc-nrm-amffunction { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } 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 2025, 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 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; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } - + grouping NTNGlobalRanNodeIDGrp{ - + list pLMNId { description "The PLMN Identifier is composed of - a Mobile Country Code (MCC) and + a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - + choice GlobalRanNodeID{ description "Unique identifier of an NG-RAN node."; reference "3GPP TS 38.413"; @@ -64,7 +64,7 @@ module _3gpp-5gc-nrm-amffunction { -[A-Fa-f0-9]{5})$'; } description "This represents the identifier of - the ng-eNB ID as specified in + the ng-eNB ID as specified in clause 9.3.1.8 of 3GPP TS 38.413."; mandatory true; } @@ -75,12 +75,12 @@ module _3gpp-5gc-nrm-amffunction { type string{ pattern '^[A-Fa-f0-9]+$'; } - description "This IE shall contain the N3IWF + description "This IE shall contain the N3IWF identifier received over NGAP and - shall be encoded as a string of + shall be encoded as a string of hexadecimal characters."; mandatory true; - } + } } case TNGF{ @@ -95,7 +95,7 @@ module _3gpp-5gc-nrm-amffunction { mandatory true; } } - + case TWIF{ leaf TWIFID{ type string; @@ -113,7 +113,7 @@ module _3gpp-5gc-nrm-amffunction { } description "This represents the identifier of the W-AGF ID as specified in - clause 9.3.1.162 of 3GPP TS 38.413 + clause 9.3.1.162 of 3GPP TS 38.413 in hexadecimal representation."; mandatory true; } @@ -167,72 +167,72 @@ module _3gpp-5gc-nrm-amffunction { grouping GUAMInfoGrp { description "Represents the GUAMInfo datatype."; - + list pLMNId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + leaf aMFIdentifier { type int64; - description "The AMFI is constructed from an AMF Region ID, an - AMF Set ID and an AMF Pointer. The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, - and the AMF Pointer uniquely identifies the AMF within the AMF Set. + description "The AMFI is constructed from an AMF Region ID, an + AMF Set ID and an AMF Pointer. The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, + and the AMF Pointer uniquely identifies the AMF within the AMF Set. (Ref. 3GPP TS 23.003)"; } } grouping N2InterfaceAmfInfoGrp { description "Represents the N2InterfaceAmfInfo datatype."; - + leaf-list ipv4EndpointAddress { type inet:ipv4-address; min-elements 1; - description "This attribute represents available AMF endpoint + description "This attribute represents available AMF endpoint IPv4 address(es) for N2."; } - + leaf-list ipv6EndpointAddress { type inet:ipv6-address; min-elements 1; - description "This attribute represents available AMF endpoint + description "This attribute represents available AMF endpoint IPv6 address(es) for N2."; } - + leaf amfName { type inet:host-name; - description "This attribute represents AMF Name FQDN as defined in + description "This attribute represents AMF Name FQDN as defined in clause 28.3.2.5 of TS 23.003."; - } + } } - + grouping BlockedLocationInfoGrp { description "Repreasents the datatype BlockedLocationInfo"; - + list blockedLocation { - description "This provides the geographical location at which the PLMN + description "This provides the geographical location at which the PLMN are not allowed in case of NTN."; min-elements 1; max-elements 1; key "mnc mcc"; - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + list blockedDurWindow { - description "This provides the time durations for which the PLMN are + description "This provides the time durations for which the PLMN are not allowed at a given location in case of NTN"; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } - + list blockedSlice { - description "This provides the slice for which the access is + description "This provides the slice for which the access is not allowed at a given location in case of NTN. "; max-elements 1; key idx; @@ -241,60 +241,60 @@ module _3gpp-5gc-nrm-amffunction { uses types5g3gpp:SNssai; } } - + grouping NTNPLMNRestrictionsInfoGrp { description "Represents the datatype NTNPLMNRestrictionsInfo"; - + list pLMNId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "mnc mcc"; - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + list blockedLocationInfoList { - description "This defines the information related with the location + description "This defines the information related with the location for which the access restrictions are to be applied in case of NTN."; key "idx"; leaf idx { type uint32 ; } uses BlockedLocationInfoGrp; } } - + grouping NtnLocationInfoGrp { description "Represents the NtnLocationInfo datatype."; - + list location { - description "This defines the Location (geographical area) under + description "This defines the Location (geographical area) under consideration to which the satellite coverage info belongs"; key idx; leaf idx { type uint32 ; } - uses types3gpp:GeoAreaGrp; + uses types3gpp:GeoAreaGrp; } - + list availabilityWindows { - description "This attribute defines the list of time windows at which - the satellite coverage will be available for this location. + description "This attribute defines the list of time windows at which + the satellite coverage will be available for this location. Either availabilityWindows or nonAvailabilityWindows shall be present."; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } - + list nonAvailabilityWindows { - description "This attribute defines the list of time windows at which - the satellite coverage will not be available for this location. + description "This attribute defines the list of time windows at which + the satellite coverage will not be available for this location. Either availabilityWindows or nonAvailabilityWindows shall be present."; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } } - + grouping SatelliteCoverageInfoGrp { description "Represents the datatype SatelliteCoverageInfo"; - + leaf nRSatelliteRATtype { type enumeration { enum NRLEO; @@ -302,23 +302,23 @@ module _3gpp-5gc-nrm-amffunction { enum NRGEO; enum NROTHERSAT; } - description "This attribute defines the RAT Type for NR satellite + description "This attribute defines the RAT Type for NR satellite access."; } - + list locationInfo { - description "This attribute defines the information about location and - corresponding time windows for which the satellite coverage will be + description "This attribute defines the information about location and + corresponding time windows for which the satellite coverage will be available or unavailable."; key idx; leaf idx { type uint32 ; } uses NtnLocationInfoGrp; } } - + grouping SliceExpiryInfoGrp { description "Represents the datatype SliceExpiryInfo"; - + list pLMNInfo { min-elements 1; // ??? config false; @@ -327,76 +327,76 @@ module _3gpp-5gc-nrm-amffunction { leaf idx { type uint32 ; } uses types5g3gpp:PLMNInfo; } - + leaf expiryTime { type yang:date-and-time; config false; - description "This attribute provides information about the time at - which the slice is scheduled to be expired as it is not required + description "This attribute provides information about the time at + which the slice is scheduled to be expired as it is not required anymore. - This attribute will be set based on the sliceAvailability coming as + This attribute will be set based on the sliceAvailability coming as part of ServiceProfile."; } } - + grouping MappedCellIdInfoGrp { description "Represents the datatype MappedCellIdInfo"; - + list ntnGeoArea { - description "This attribute indicates a specific geographical location + description "This attribute indicates a specific geographical location mapped to Mapped Cell ID(s)."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:GeoAreaGrp; + uses types3gpp:GeoAreaGrp; } - + list mappedCellId { - description "This attribute is in format of NCGI to indicate a fixed + description "This attribute is in format of NCGI to indicate a fixed geographical area (See subclause 16.14.5 in TS 38.300"; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types5g3gpp:NcgiGrp; - } + uses types5g3gpp:NcgiGrp; + } } - + grouping AmfInfoGrp { description "Represents the data type AmfInfo."; - + leaf amfRegionId { type int64; mandatory true; - description "It represents the AMF Region ID, which identifies the + description "It represents the AMF Region ID, which identifies the region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 "; } - + leaf amfSetId { type int64; mandatory true; - description "It represents the AMF Set ID, which is uniquely identifies + description "It represents the AMF Set ID, which is uniquely identifies the AMF Set within the AMF Region. allowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003"; } - + list taiList { min-elements 1; description "The list of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:TaiGrp; + uses types3gpp:TaiGrp; } - + list taiRangeList { min-elements 1; description "The range of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses types5g3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } - + list gUAMIdList { description "List of supported Globally Unique AMF Ids (GUAMIs)."; config false; @@ -405,60 +405,60 @@ module _3gpp-5gc-nrm-amffunction { leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts as a backup for AMF + description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; min-elements 1; key "idx"; leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts as a backup for + description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; min-elements 1; key "idx"; leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list n2InterfaceAmfInfo { - description "This attribute represents the N2 interface information of + description "This attribute represents the N2 interface information of the AMF. "; max-elements 1; key "idx"; leaf idx { type uint32 ; } uses N2InterfaceAmfInfoGrp; } - + leaf amfOnboardingCapability { type boolean; default false; - description "This attribute indicates the AMF supports SNPN Onboarding - capability. This is used for the case of Onboarding of UEs for SNPNs + description "This attribute indicates the AMF supports SNPN Onboarding + capability. This is used for the case of Onboarding of UEs for SNPNs (see TS 23.501, clause 5.30.2.10). - FALSE: AMF does not support SNPN Onboarding; - TRUE: AMF supports SNPN Onboarding."; } - + leaf highLatencyCom { type boolean; - description "This attribute indicates whether the AMF supports High - Latency communication (e.g. for NR RedCap UE). This is used for CP NF - to discover AMF supporting High Latency communication (see TS 23.501, + description "This attribute indicates whether the AMF supports High + Latency communication (e.g. for NR RedCap UE). This is used for CP NF + to discover AMF supporting High Latency communication (see TS 23.501, clause 6.3.5). - - FALSE: AMF does not support High Latency communication e.g. for + - FALSE: AMF does not support High Latency communication e.g. for NR RedCap UE; - TRUE: AMF supports High Latency communication e.g. for NR RedCap UE;"; } } - + grouping AMFFunctionGrp { description "Represents the AMFFunction IOC. - This IOC contains instances of NTNTimeBasedConfig to support - time-based configuration of the following NTN related entities: + This IOC contains instances of NTNTimeBasedConfig to support + time-based configuration of the following NTN related entities: AMFFunction and EP_N2."; uses mf3gpp:ManagedFunctionGrp; @@ -472,26 +472,26 @@ module _3gpp-5gc-nrm-amffunction { container aMFIdentifier { description "An AMF identifier, comprising an AMF Region ID, an - AMF Set ID and an AMF Pointer."; + AMF Set ID and an AMF Pointer."; uses types3gpp:AmfIdentifier; } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } leaf-list cNSIIdList { type string; - description "It is a set of NSI ID. NSI ID is an identifier for - identifying the Core Network part of a Network Slice instance when - multiple Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531"; } - + list managedNFProfile { key idx; min-elements 1; @@ -503,7 +503,7 @@ module _3gpp-5gc-nrm-amffunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -511,37 +511,37 @@ module _3gpp-5gc-nrm-amffunction { list amfInfo { max-elements 1; - description "This attribute represents information of an AMF + description "This attribute represents information of an AMF NF Instance."; key "idx"; leaf idx { type uint32 ; } uses AmfInfoGrp; } - + list nTNPLMNRestrictionsList { - description "This attribute defines the location restrictions per PLMN + description "This attribute defines the location restrictions per PLMN that relates to non-terrestrial network access."; key "idx"; leaf idx { type uint32 ; } uses NTNPLMNRestrictionsInfoGrp; } - + list satelliteCoverageInfoList { - description "This attribute defines the information related to NR + description "This attribute defines the information related to NR Satellite RAT type and corresponding information of satellite coverage"; key "idx"; leaf idx { type uint32 ; } uses SatelliteCoverageInfoGrp; } - + list sliceExpiryInfo { - description "This provides information related to a network slice + description "This provides information related to a network slice validity."; key "idx"; leaf idx { type uint32 ; } uses SliceExpiryInfoGrp; } - + list satelliteBackhaulInfoList{ description "Specifies a list of satellite backhaul information. It can be used by NF and NF services."; @@ -569,18 +569,18 @@ module _3gpp-5gc-nrm-amffunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } - + list mappedCellIdInfoList { - description "It provides the list of mapping between GEO area and + description "It provides the list of mapping between GEO area and Mapped Cell ID."; key "idx"; leaf idx { type uint32 ; } uses MappedCellIdInfoGrp; } - + leaf aMFSetRef { type types3gpp:DistinguishedName; description "This is the DN of AMFSet"; @@ -595,15 +595,15 @@ module _3gpp-5gc-nrm-amffunction { } } } - + augment "/me3gpp:ManagedElement" { list AMFFunction { - description "This IOC represents the AMF functionality in 5GC. - For more information about the AMF, see 3GPP TS 23.501. + description "This IOC represents the AMF functionality in 5GC. + For more information about the AMF, see 3GPP TS 23.501. - The attribute sliceExpiryInfo is used when the validity information of - a network slice need to be configured. The attribute - sliceExpiryInfo.pLMNInfo indicates the network slice to which the + The attribute sliceExpiryInfo is used when the validity information of + a network slice need to be configured. The attribute + sliceExpiryInfo.pLMNInfo indicates the network slice to which the validity information applies."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-5gc-nrm-amfregion.yang b/yang-models/_3gpp-5gc-nrm-amfregion.yang index f44940dac..2c55c01e2 100755 --- a/yang-models/_3gpp-5gc-nrm-amfregion.yang +++ b/yang-models/_3gpp-5gc-nrm-amfregion.yang @@ -2,7 +2,7 @@ module _3gpp-5gc-nrm-amfregion { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfregion; prefix amfr3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -13,25 +13,25 @@ module _3gpp-5gc-nrm-amfregion { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the AMF Region which consists one or multiple AMF Sets. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-11 { reference ""; } - + grouping AMFRegionGrp { description "Represents the AMFRegion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -39,40 +39,40 @@ module _3gpp-5gc-nrm-amfregion { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) + description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; min-elements 1; config false; type types5g3gpp:NRTAC; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD + An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; //conditional support only if the network slicing feature is supported. reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + leaf aMFRegionId { description "Represents the AMF Region ID, which identifies the region."; mandatory true; type types3gpp:AmfRegionId; } - + leaf-list aMFSet { description "The AMFSet that the AFMRegion is associated with."; min-elements 1; type instance-identifier; } } - + augment "/subnet3gpp:SubNetwork" { list AMFRegion { description "5G Core AMFRegion IOC"; diff --git a/yang-models/_3gpp-5gc-nrm-amfset.yang b/yang-models/_3gpp-5gc-nrm-amfset.yang index 9473afee3..0aee9223a 100755 --- a/yang-models/_3gpp-5gc-nrm-amfset.yang +++ b/yang-models/_3gpp-5gc-nrm-amfset.yang @@ -2,35 +2,35 @@ module _3gpp-5gc-nrm-amfset { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfset; prefix amfset3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AMF Set which consists of some AMFs + description "This IOC represents the AMF Set which consists of some AMFs that serve a given area and Network Slice. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-11 { reference "Ericsson refactoring."; } - + grouping AMFSetGrp { description "Represents the AMFSet IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). The PLMN Identifier is composed + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -38,32 +38,32 @@ module _3gpp-5gc-nrm-amfset { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) + description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; min-elements 1; config false; type types5g3gpp:NRTAC; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD + An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; //conditional support only if the network slicing feature is supported. reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + leaf aMFRegion { description "The AMFRegion that the AFMSet is associated with."; type instance-identifier; } - + leaf-list aMFSetMemberList { description "List of DNs of AMFFunction instances of the AMFSet."; min-elements 1; @@ -71,7 +71,7 @@ module _3gpp-5gc-nrm-amfset { type types3gpp:DistinguishedName; } } - + augment "/subnet3gpp:SubNetwork" { list AMFSet { description "5G Core AMFSet IOC"; diff --git a/yang-models/_3gpp-5gc-nrm-anlffunction.yang b/yang-models/_3gpp-5gc-nrm-anlffunction.yang index 3bb52fcdd..8064d0e54 100644 --- a/yang-models/_3gpp-5gc-nrm-anlffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-anlffunction.yang @@ -1,28 +1,28 @@ module _3gpp-5gc-nrm-anlffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-anlffunction; prefix anlf3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } 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 AnLF function in 5GC. For more information about the AnLF, see 3GPP TS 23.288. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + revision 2024-08-07 { reference CR-1331; } revision 2023-11-03 { reference "initial revision"; } - + grouping AnLFFunctionGrp { description "Represents the AnLFFunction IOC"; - uses top3gpp:Top_Grp; + uses top3gpp:Top_Grp; leaf activationStatus { type enumeration { enum ACTIVATED; @@ -35,16 +35,16 @@ module _3gpp-5gc-nrm-anlffunction { type types3gpp:DistinguishedName; description "This attribute holds a DN list of MLModel ¨ (See TS 28.105)."; - config false; + config false; } leaf-list aIMLInferenceFunctionRefList { type types3gpp:DistinguishedName; description "This attribute holds a DN list of AIMLInferenceFunction (See TS 28.105) ."; - config false; - } + config false; + } } - + augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { list AnLFFunction { description "5G Core AnLF contained by NWDAF"; diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index a47aa8831..3f02fd5ae 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-ausffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ausffunction; prefix ausf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,93 +11,93 @@ module _3gpp-5gc-nrm-ausffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AUSF function in 5GC. For more + description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 {reference "initial revision"; } - + grouping AusfInfoGrp { - description "Represents the information of an AUSF NF Instance + description "Represents the information of an AUSF NF Instance (see TS 29.510)."; grouping SuciInfoGrp { - description "This data type represents SUCI information containing + description "This data type represents SUCI information containing Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; - + leaf-list routingInds { type string; min-elements 1; - description "It indicates served Routing Indicator (see TS 23.003, - clause 2.2B). If not provided, the AUSF/UDM + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM can serve any Routing Indicator."; } - + leaf-list hNwPubKeyIds { type int64; min-elements 1; - description "It indicating served Home Network Public Key - (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM can serve any public key."; } } - + leaf nFSrvGroupId { type string; config false; yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This parameter defines identity of the group that is + description "This parameter defines identity of the group that is served by the NF instance (See TS 29.510)."; } - - list supiRanges { - description "It represents list of ranges of SUPIs that can be served + + list supiRanges { + description "It represents list of ranges of SUPIs that can be served by the PCF instance."; key idx; leaf idx { type uint32 ; } - uses mnfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + leaf-list routingIndicators { - description "This attribute represents a list of Routing Indicator - information that allows to route network signalling with SUCI + description "This attribute represents a list of Routing Indicator + information that allows to route network signalling with SUCI (see TS 23.003 [13]) to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator."; type string { pattern "[0-9]{1,4}"; } } - + list suciInfos { - description "This attribute represents a list of SuciInfo. A SUCI - that matches this information can be served by the AUSF. - A SUCI that matches all attributes of at least one entry in this + description "This attribute represents a list of SuciInfo. A SUCI + that matches this information can be served by the AUSF. + A SUCI that matches all attributes of at least one entry in this array shall be considered as a match of this information."; key idx; leaf idx { type uint32 ; } uses SuciInfoGrp; - } + } } - + grouping AUSFFuntionGrp { description "Represents the AUSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -105,15 +105,15 @@ module _3gpp-5gc-nrm-ausffunction { leaf idx { type uint32 ; } uses types5g3gpp:PLMNInfo; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { - description "This data type represents a Profile definition + description "This data type represents a Profile definition of a Managed NF"; key idx; leaf idx { type uint32 ; } @@ -121,18 +121,18 @@ module _3gpp-5gc-nrm-ausffunction { max-elements 1; uses mnfp3gpp:ManagedNFProfileGrp; } - + list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list ausfInfo { - description "It represents the information of an AUSF NF Instance + description "It represents the information of an AUSF NF Instance (see TS 29.510)"; key idx; min-elements 1; @@ -141,7 +141,7 @@ module _3gpp-5gc-nrm-ausffunction { uses AusfInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list AUSFFunction { description "5G Core AUSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang index 26f68b810..466ec1c19 100755 --- a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang @@ -2,25 +2,25 @@ module _3gpp-5gc-nrm-configurable5qiset { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-configurable5qiset; prefix conf5QIs3gpp; - + 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 configurable 5QIs, including - their QoS characteristics, that need to be pre-configured + description "This IOC represents the configurable 5QIs, including + their QoS characteristics, that need to be pre-configured (and configurable) to the 5G NFs. The 5QI set definition supports multiple deployment scenarios. The sets can be name contained by SubNetwork ManagedElement, GNBDUFunction, GNBCUUPFunction and GNBCUCPFunction. Sets are then referenced by attribute - (configurable5QISetRef) in applicable MOIs. For consistency it is + (configurable5QISetRef) in applicable MOIs. For consistency it is recommended that referenced 5QI sets be defined within the same subtree. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-11-02 { reference "CR-0753" ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-04-29 { reference "CR-0729"; } @@ -34,7 +34,7 @@ module _3gpp-5gc-nrm-configurable5qiset { range 0..9 ; } mandatory true; - description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k where k is the Exponent."; } leaf exponent { @@ -42,7 +42,7 @@ module _3gpp-5gc-nrm-configurable5qiset { range 0..9 ; } mandatory true; - description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k, + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k, where k is the Exponent."; } } @@ -63,10 +63,10 @@ module _3gpp-5gc-nrm-configurable5qiset { enum NON_GBR; } mandatory true; - description "It indicates the Resource Type of a 5QI, as specified + description "It indicates the Resource Type of a 5QI, as specified in TS 23.501 "; } - + leaf priorityLevel { type uint32 { range 0..127 ; @@ -75,16 +75,16 @@ module _3gpp-5gc-nrm-configurable5qiset { description "It indicates the Priority Level of a 5QI, as specified in TS 23.501."; } - + leaf packetDelayBudget { type uint32 { range 0..1023 ; } mandatory true; - description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, + description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, as specified in TS 23.501 "; } - + list packetErrorRate { key "scalar exponent"; min-elements 1; @@ -102,7 +102,7 @@ module _3gpp-5gc-nrm-configurable5qiset { units ms; reference "TS 23.501"; } - + leaf maximumDataBurstVolume { type uint32{ range 0..4095 ; @@ -126,13 +126,13 @@ module _3gpp-5gc-nrm-configurable5qiset { container attributes { uses FiveQICharacteristicsGrp; } - } - } + } + } grouping Configurable5QISetSubtree { list Configurable5QISet { - description "Specifies the non-standardized 5QIs, including their QoS - characteristics, that need to be pre-configured (and configurable) to + description "Specifies the non-standardized 5QIs, including their QoS + characteristics, that need to be pre-configured (and configurable) to the 5G NFs, see 3GPP TS 23.501."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang index fb3a27d25..307fe7b0d 100755 --- a/yang-models/_3gpp-5gc-nrm-dnfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-dnfunction.yang @@ -1,32 +1,32 @@ module _3gpp-5gc-nrm-dnfunction { yang-version 1.1; - + namespace urn:3gpp:sa5_3gpp-5gc-nrm-dnfunction; prefix dn3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; description "This IOC is defined only to describe the IOCs representing Data Network (DN) interaction interface with 5GC (i.e. EP_N6). It has no attributes defined. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { description "initial revision"; } - + grouping DNFunctionGrp { uses mf3gpp:ManagedFunctionGrp; } - + augment "/me3gpp:ManagedElement" { list DNFunction { description "5G Core DN Function"; diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 9e3a4a1c0..77c52679c 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -2,7 +2,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dynamic5qiset; prefix dyn5QIs3gpp; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -10,17 +10,17 @@ module _3gpp-5gc-nrm-dynamic5qiset { 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 + description "This IOC represents the dynamic 5QIs including their QoS characteristics. - Copyright 2025, 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 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; } revision 2020-10-01 { reference "CR-0393"; } @@ -29,10 +29,10 @@ module _3gpp-5gc-nrm-dynamic5qiset { grouping Dynamic5QISetGrp { description "Represents the Dynamic5QISet IOC."; list dynamic5QIs { - description "This IOC specifies the dynamically assigned 5QIs - including their QoS characteristics, see 3GPP TS 23.501. - The instance of this IOC shall not be created or modified by the - MnS consumer except for the instance associated to + description "This IOC specifies the dynamically assigned 5QIs + including their QoS characteristics, see 3GPP TS 23.501. + The instance of this IOC shall not be created or modified by the + MnS consumer except for the instance associated to PCFFunction MOI or SMFFunction MOI when the PCF is not deployed."; key id; uses top3gpp:Top_Grp; @@ -40,12 +40,12 @@ module _3gpp-5gc-nrm-dynamic5qiset { uses Conf5QIs3gpp:FiveQICharacteristicsGrp; } } - } + } grouping Dynamic5QISetSubtree { description "Helps augmenting Dynamic5QISet into multiple places."; list Dynamic5QISet { - description "Specifies the dynamic 5QIs including their QoS + description "Specifies the dynamic 5QIs including their QoS characteristics, see 3GPP TS 23.501."; key "id"; uses top3gpp:Top_Grp; @@ -53,46 +53,46 @@ module _3gpp-5gc-nrm-dynamic5qiset { uses Dynamic5QISetGrp; } uses Conf5QIs3gpp:FiveQICharacteristicsSubtree; - } + } } - + feature Dynamic5QISetUnderSubNetwork { - description "Dynamic5QISet shall be contained under SubNetwork."; + description "Dynamic5QISet shall be contained under SubNetwork."; } - augment "/subnet3gpp:SubNetwork" { + augment "/subnet3gpp:SubNetwork" { if-feature Dynamic5QISetUnderSubNetwork; uses Dynamic5QISetSubtree; } feature Dynamic5QISetUnderManagedElement { - description "Dynamic5QISet shall be contained under ManagedElement."; + description "Dynamic5QISet shall be contained under ManagedElement."; } augment "/me3gpp:ManagedElement" { if-feature Dynamic5QISetUnderManagedElement; uses Dynamic5QISetSubtree; } - + feature Dynamic5QISetUnderGNBDUFunction { - description "Dynamic5QISet shall be contained under GNBDUFunction."; + 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; + if-feature Dynamic5QISetUnderGNBCUCPFunction; uses Dynamic5QISetSubtree; } feature Dynamic5QISetUnderGNBCUUPFunction { - description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; } augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { - if-feature Dynamic5QISetUnderGNBCUUPFunction; + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang b/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang index b8b795ab4..284eccc39 100644 --- a/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang +++ b/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang @@ -9,28 +9,28 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the EcmConnectionInfo Information + description "Defines the YANG mapping of the EcmConnectionInfo 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 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-01-29 { reference CR-1166 ; } - revision 2023-11-05 { reference CR-1131 ; } - + revision 2024-01-29 { reference CR-1166 ; } + revision 2023-11-05 { reference CR-1131 ; } + grouping GeoLocGrp { description "This datatype represent the geographical location."; reference "3GPP 28.538 clause 6.3.4"; - + list geographicalCoordinates { - description "This refers to the Topological Service Area, - (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype + description "This refers to the Topological Service Area, + (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype (see clause 6.3.8)."; key latitude; max-elements 1; uses types3gpp:GeographicalCoordinates; } - + leaf civicLocations { type string; } @@ -39,67 +39,67 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { grouping TopologicalServiceAreaGrp { description "This datatype represents the topological service area."; reference "3GPP TS 28.538 clause 6.3.7"; - + leaf-list cellIDList { - description "It represents the list of NR cells. + description "It represents the list of NR cells. - The cell ID, together with the gNB Identifier (using gNBId of the - parent GNBCUCPFunction or GNBDUFunction or ExternalCUCPFunction), - identifies a NR cell within a PLMN. This is the NR Cell Identity(NCI). + The cell ID, together with the gNB Identifier (using gNBId of the + parent GNBCUCPFunction or GNBDUFunction or ExternalCUCPFunction), + identifies a NR cell within a PLMN. This is the NR Cell Identity(NCI). See subclause 8.2 of TS 38.300"; type int32; } - + list trackingAreaIdList { description "It represents the list of tracking areas within a PLMN."; min-elements 1; key idx; - + leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + list servingPLMN { description "It specifies the PLMN to be served."; max-elements 1; key idx; - + leaf idx { type uint32; } uses types3gpp:PLMNId; } } - + grouping ServingLocationGrp { - description "This datatype represents the location which is to be served + description "This datatype represents the location which is to be served by the node."; reference "3GPP TS 28.536 clause 6.3.3"; - + list geographicalLocation { - description "This refers to the Geographical Service Area, - (see clause 7.3.3.3 in TS 23.558 that is defined as a datatype + description "This refers to the Geographical Service Area, + (see clause 7.3.3.3 in TS 23.558 that is defined as a datatype (see clause 6.3.4)."; max-elements 1; key idx; - + leaf idx { type uint32; } uses GeoLocGrp; } - - list topologicalLocation { - description "This refers to the Topological Service Area, - (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype + + list topologicalLocation { + description "This refers to the Topological Service Area, + (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype (see clause 6.3.7). "; max-elements 1; key idx; - + leaf idx { type uint32; } uses TopologicalServiceAreaGrp; } } - + grouping _5GCNfConnEcmInfoGrp { description "This data type specifies the 5GC NF connection information."; - + leaf _5GCNFType { type enumeration { enum PCF; @@ -108,15 +108,15 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { } description "It indicates the type of a NF instance."; } - + leaf _5GCNFIpAddress { type inet:host; mandatory true; - description "This parameter defines address of a NF instance, - It can be IP address (either IPv4 address (See RFC 791) or + description "This parameter defines address of a NF instance, + It can be IP address (either IPv4 address (See RFC 791) or IPv6 address (See RFC 2373) or FQDN (See TS 23.003). "; } - + leaf _5GCNFRef { type types3gpp:DistinguishedName; @@ -126,25 +126,25 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { grouping UPFConnInfoGrp { description "This data type specifies the UPF connection information."; - + leaf uPFIpAddress { type inet:host; - description "This parameter defines address of an UPF instance, - It can be IP address (either IPv4 address (See RFC 791) or + description "This parameter defines address of an UPF instance, + It can be IP address (either IPv4 address (See RFC 791) or IPv6 address (See RFC 2373) or FQDN (See TS 23.003). "; } - + leaf uPFRef { type types3gpp:DistinguishedName; description "This attribute holds the DN of an UPF instance."; } } - + grouping EcmConnectionInfoGrp { description "Represents the EcmConnectionInfo IOC."; - list eASServiceArea { - description "This parameter defines the EAS service area + list eASServiceArea { + description "This parameter defines the EAS service area (see clause 7.3.3.6 in TS 23.558)."; min-elements 1; max-elements 1; @@ -152,9 +152,9 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { leaf idx { type uint32 ; } uses ServingLocationGrp; } - + list eESServiceArea { - description "This parameter defines the EES service area + description "This parameter defines the EES service area (see clause 7.3.3.5 in TS 23.558)."; min-elements 1; max-elements 1; @@ -162,9 +162,9 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { leaf idx { type uint32 ; } uses ServingLocationGrp; } - + list eDNServiceArea { - description "This parameter defines the EDN service area + description "This parameter defines the EDN service area (see clause 7.3.3.4 in TS 23.558)"; min-elements 1; max-elements 1; @@ -172,50 +172,50 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { leaf idx { type uint32 ; } uses ServingLocationGrp; } - + leaf eASIpAddress { type inet:ip-address; mandatory true; - description "This parameter defines address of an EAS instance. - It can be IP address (either IPv4 address (See RFC 791) or IPv6 + description "This parameter defines address of an EAS instance. + It can be IP address (either IPv4 address (See RFC 791) or IPv6 address (See RFC 2373)."; } - + leaf eESIpAddress { type inet:ip-address; mandatory true; - description "This parameter defines address of an EES instance. - It can be IP address (either IPv4 address (See RFC 791) or IPv6 + description "This parameter defines address of an EES instance. + It can be IP address (either IPv4 address (See RFC 791) or IPv6 address (See RFC 2373). "; } - + leaf eCSIpAddress { type inet:ip-address; mandatory true; - description "This parameter defines address of an ECS instance. - It can be IP address (either IPv4 address (See RFC 791) or IPv6 + description "This parameter defines address of an ECS instance. + It can be IP address (either IPv4 address (See RFC 791) or IPv6 address (See RFC 2373)."; } - + leaf ednIdentifier { - type string; + type string; description "The identifier of the edge data network (See TS 23.558)."; } - + leaf ecmConnectionType { type enumeration { enum USERPLANE; enum CONTROLPLANE; enum BOTH; } - description "It indicates the type of ECM connection (i.e., user plane + description "It indicates the type of ECM connection (i.e., user plane connection via UPF, control plane connection via PCF or NEF."; } - + list _5GCNfConnEcmInfoList { - description "The attribute specifies a list of 5GCNfConnInfo which is - defined as a datatype (see clause 5.3.120). It is used to - provide 5GC NFs, such as PCF, NEF, SCEF, that are connected EDN NFs, + description "The attribute specifies a list of 5GCNfConnInfo which is + defined as a datatype (see clause 5.3.120). It is used to + provide 5GC NFs, such as PCF, NEF, SCEF, that are connected EDN NFs, such as EAS, EES, and ECS."; config false; min-elements 1; @@ -223,10 +223,10 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { leaf idx { type uint32 ; } uses _5GCNfConnEcmInfoGrp; } - + list uPFConnectionInfo { - description "The attribute is defined as a datatype UPFConnInfo - (see clause 5.3.121). It is used to provide the UPF IP address and + description "The attribute is defined as a datatype UPFConnInfo + (see clause 5.3.121). It is used to provide the UPF IP address and UPF DN. "; config false; min-elements 1; @@ -234,15 +234,15 @@ module _3gpp-5gc-nrm-ecmconnectioninfo { key idx; leaf idx { type uint32 ; } uses UPFConnInfoGrp; - } + } } grouping EcmConnectionInfoSubtree { description "Subtree containing EcmConnectionInfo."; - + list EcmConnectionInfo { - description "This IOC contains attributes to enable ECSP management - system to connect EDN NFs (i.e., EAS, ECS, and EES) to 5GC NFs + description "This IOC contains attributes to enable ECSP management + system to connect EDN NFs (i.e., EAS, ECS, and EES) to 5GC NFs (i.e. UPF, PCF, NEF, SCEF) (See clause 7.4.3 and 7.4.4 in TS 28.538). "; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 175fa05a0..ee948f5c6 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -2,7 +2,7 @@ module _3gpp-5gc-nrm-ep { yang-version 1.1; namespace "urn:3gpp:tsg:sa5:nrm:_3gpp-5gc-nrm-ep"; prefix "cep3gpp"; - + import _3gpp-common-ep-rp { prefix eprp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-affunction { prefix af3gpp; } @@ -23,113 +23,113 @@ module _3gpp-5gc-nrm-ep { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import ietf-inet-types { prefix inet; } - + organization "3GPP SA5"; description "Defines the YANG mapping of the 5GC related endpoint - Information Object Classes (IOCs) that are part of the 5G Core + Information Object Classes (IOCs) that are part of the 5G Core Network Resource Model. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2024-08-19 { reference CR-1314 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2024-08-19 { reference CR-1314 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-11-18 { description "Ericsson refactoring."; } - + revision 2018-07-31 { description "Initial revision"; } - + grouping EP_N2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N3Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N4Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N5Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N6Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N7Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N8Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N9Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N10Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N11Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N12Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N13Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N14Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N15Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N16Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N17Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N20Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N21Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N22Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N26Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N27Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N31Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N32Grp { uses eprp3gpp:EP_Common; container remotePlmnId { @@ -137,7 +137,7 @@ module _3gpp-5gc-nrm-ep { The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; uses types3gpp:PLMNId; } - + leaf remoteSeppAddress { description "The host address of the SEPP."; type inet:host; @@ -145,45 +145,45 @@ module _3gpp-5gc-nrm-ep { leaf remoteSeppId { type uint16; - } + } leaf n32cParas { type string; - } + } leaf n32fPolicy { type string; - } + } leaf withIPX { type boolean; - } + } } - + grouping EP_S5CGrp { uses eprp3gpp:EP_Common; } - + grouping EP_S5UGrp { uses eprp3gpp:EP_Common; } - + grouping EP_RxGrp { uses eprp3gpp:EP_Common; } - + grouping EP_MAP_SMSCGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NLSGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_SBI_IPXGrp { uses eprp3gpp:EP_Common; leaf-list sBIService { @@ -192,7 +192,7 @@ module _3gpp-5gc-nrm-ep { type string; } } - + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -202,7 +202,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N6Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -222,7 +222,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N8 { description "Represents the EP_N8 IOC."; key id; @@ -231,7 +231,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -240,7 +240,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N12 { description "Represents the EP_N12 IOC."; key id; @@ -249,7 +249,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N14 { description "Represents the EP_N14 IOC."; key id; @@ -258,7 +258,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N14Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -267,7 +267,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N17 { description "Represents the EP_N17 IOC."; key id; @@ -276,7 +276,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N17Grp; } } - + list EP_N20 { description "Represents the EP_N20 IOC."; key id; @@ -285,7 +285,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N22 { description "Represents the EP_N22 IOC."; key id; @@ -294,7 +294,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N26 { description "Represents the EP_N26 IOC."; key id; @@ -303,7 +303,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N26Grp; } } - + list EP_NLS { description "Represents the EP_NLS IOC."; key id; @@ -312,7 +312,7 @@ module _3gpp-5gc-nrm-ep { uses EP_NLSGrp; } } - + list EP_NL2 { description "Represents the EP_NL2 IOC."; key id; @@ -322,7 +322,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { list EP_N12 { description "Represents the EP_N12 IOC."; @@ -332,7 +332,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -340,9 +340,9 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N13Grp; } - } + } } - + augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -353,7 +353,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { list EP_NLS { description "Represents the EP_NLS IOC."; @@ -364,7 +364,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -374,7 +374,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -384,7 +384,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { list EP_N17 { description "Represents the EP_N17 IOC."; @@ -395,7 +395,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { list EP_N27 { description "Represents the EP_N27 IOC."; @@ -404,10 +404,10 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N26Grp; } - } + } } - + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { list EP_N22 { description "Represents the EP_N22 IOC."; @@ -417,7 +417,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N31 { description "Represents the EP_N31 IOC."; key id; @@ -427,7 +427,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { list EP_N5 { description "Represents the EP_N5 IOC."; @@ -437,7 +437,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N5Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -446,7 +446,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -455,7 +455,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -464,7 +464,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -474,7 +474,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { list EP_N32 { description "Represents the EP_N32 IOC."; @@ -485,7 +485,7 @@ module _3gpp-5gc-nrm-ep { } } - } + } augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { list EP_N20 { description "Represents the EP_20 IOC."; @@ -495,7 +495,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N21 { description "Represents the EP_N21 IOC."; key id; @@ -504,7 +504,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N21Grp; } } - + list EP_MAP_SMSC { description "Represents the EP_MAP_SMSC IOC."; key id; @@ -514,7 +514,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -524,7 +524,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -533,7 +533,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -542,7 +542,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -551,7 +551,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -560,7 +560,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_S5C { description "Represents the EP_S5C IOC."; key id; @@ -570,7 +570,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { list EP_N8 { description "Represents the EP_N8 IOC."; @@ -580,7 +580,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -589,7 +589,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -600,7 +600,7 @@ module _3gpp-5gc-nrm-ep { } } - + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -610,7 +610,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -619,7 +619,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N3Grp; } } - + list EP_N9 { description "Represents the EP_N9 IOC."; key id; @@ -628,7 +628,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N9Grp; } } - + list EP_S5U { description "Represents the EP_S5U IOC."; key id; @@ -637,7 +637,7 @@ module _3gpp-5gc-nrm-ep { uses EP_S5UGrp; } } - + list EP_EP_N6 { description "Represents the EP_N6 IOC."; key id; diff --git a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang index 3268b7717..7650161f1 100755 --- a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang @@ -2,26 +2,26 @@ module _3gpp-5gc-nrm-externalnrffunction { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnrffunction; prefix extnrf3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NRF function controlled + + description "This IOC represents external NRF function controlled by another management domain. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-11 { description "Ericsson refactoring."; } - + grouping ExternalNRFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; @@ -31,7 +31,7 @@ module _3gpp-5gc-nrm-externalnrffunction { uses types3gpp:PLMNId; } } - + augment "/subnet3gpp:SubNetwork" { list ExternalNRFFunction { description "5G Core External NRF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang index 5378bc0a7..5023a5a90 100755 --- a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang @@ -2,26 +2,26 @@ module _3gpp-5gc-nrm-externalnssffunction { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnssffunction; prefix extnssf3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NSSF function controlled + + description "This IOC represents external NSSF function controlled by another management domain. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-11 { description "Ericsson refactoring."; } - + grouping ExternalNSSFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; @@ -31,7 +31,7 @@ module _3gpp-5gc-nrm-externalnssffunction { uses types3gpp:PLMNId; } } - + augment "/subnet3gpp:SubNetwork" { list ExternalNSSFFunction { description "5G Core External NSSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang index 828cecc36..e3a4a2b65 100755 --- a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang @@ -1,35 +1,35 @@ module _3gpp-5gc-nrm-externalseppfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-extternalseppfunction; prefix extsepp3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _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 ietf-inet-types { prefix inet; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the external SEPP function which support - message filtering and policing on inter-PLMN control plane interface. + description "This IOC represents the external SEPP function which support + message filtering and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2019-11-17 {reference "initial revision"; } grouping ExternalSEPPFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + container pLMNId { description "PLMN Identifiers of the sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; yext3gpp:inVariant; uses types3gpp:PLMNId; @@ -38,14 +38,14 @@ module _3gpp-5gc-nrm-externalseppfunction { leaf sEPPId { type uint16; yext3gpp:inVariant; - } + } leaf fqdn { description "The domain name of the SEPP."; type inet:domain-name; } } - + augment "/me3gpp:ManagedElement" { list ExternalSEPPFunction { description "5G Core SEPP Function"; diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang index f516d33f7..aae36afa0 100644 --- a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -1,114 +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; - } - } +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 63b80fa99..60d0c5baf 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-lmffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-lmffunction; prefix lmf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } @@ -14,20 +14,20 @@ module _3gpp-5gc-nrm-lmffunction { 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 2025, 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-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2024-11-01 { reference CR-1405 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-11-01 { reference CR-1405 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5193518"; } revision 2019-05-15 { reference "initial revision"; } - + grouping LmfInfoGrp { description "Represents the LmfInfo datatype."; - + leaf-list servingClientTypes { type enumeration { enum EMERGENCY_SERVICES { @@ -52,22 +52,22 @@ module _3gpp-5gc-nrm-lmffunction { description "External client for PLMN Operator anonymous statistics"; } enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { - description "External client for PLMN Operator target MS service + description "External client for PLMN Operator target MS service support"; } } description "This attribute represents a list of external client type(s), - e.g. emergency client. The NRF should only include this LMF instance - to NF discovery with 'client-type' query parameter indicating one of + e.g. emergency client. The NRF should only include this LMF instance + to NF discovery with 'client-type' query parameter indicating one of the external client types in the list. - Absence of this attribute means the LMF is not dedicated to serve + Absence of this attribute means the LMF is not dedicated to serve specific client types."; } leaf lmfId { type string; - description "This attribute represents the LMF identification. + description "This attribute represents the LMF identification. See clause 6.1.6.3.6 TS 29.572"; } @@ -76,10 +76,10 @@ module _3gpp-5gc-nrm-lmffunction { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - min-elements 1; - description "This attribute contains the access type (3GPP_ACCESS and/or + min-elements 1; + description "This attribute contains 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 + If not included, it shall be assumed the both access types are supported."; } @@ -90,27 +90,27 @@ module _3gpp-5gc-nrm-lmffunction { enum ENB; } min-elements 1; - description "This attribute contains the AN node type (i.e. gNB or NG-eNB) + description "This attribute contains the AN node type (i.e. gNB or NG-eNB) supported by the LMF. - If not included, it shall be assumed that all AN node types are + If not included, it shall be assumed that all AN node types are supported."; } leaf-list servingRatTypes { type string; min-elements 1; - description "This attribute contains the RAT type (e.g. 5G NR, eLTE or - any of the RAT Types specified for NR satellite access) supported by + description "This attribute contains the RAT type (e.g. 5G NR, eLTE or + any of the RAT Types specified for NR satellite access) supported by the LMF. - If not included, it shall be assumed that all RAT types are supported + If not included, it shall be assumed that all RAT types are supported allowedValues: see clause 5.4.3.2 of TS 29.571"; } list taiList { - description "This attribute contains TAI list that the LMF can serve. + description "This attribute contains TAI list that the LMF can serve. It may contain one or more non-3GPP access TAIs. - The absence of both this attribute and the taiRangeList attribute - indicates that the LMF can be selected for any TAI in the serving + The absence of both this attribute and the taiRangeList attribute + indicates that the LMF can be selected for any TAI in the serving network."; min-elements 1; key idx; @@ -119,9 +119,9 @@ module _3gpp-5gc-nrm-lmffunction { } list taiRangeList { - description "This attribute contains TAI range list that the LMF can - serve. It may contain one or more non-3GPP access TAI ranges. - The absence of both this attribute and the taiList attribute indicates + description "This attribute contains TAI range list that the LMF can + serve. It may contain one or more non-3GPP access TAI ranges. + The absence of both this attribute and the taiList attribute indicates that the LMF can be selected for any TAI in the serving network."; min-elements 1; key idx; @@ -147,7 +147,7 @@ module _3gpp-5gc-nrm-lmffunction { description "indicates Ellipsoid point with altitude"; } enum POINT_ALTITUDE_UNCERTAINTY { - description "indicates Ellipsoid point with altitude and + description "indicates Ellipsoid point with altitude and uncertainty ellipsoid"; } enum ELLIPSOID_ARC { @@ -162,65 +162,65 @@ module _3gpp-5gc-nrm-lmffunction { } min-elements 1; description "This attribute contains the GAD shapes supported by the LMF. - If not included, it doesn't indicate that the LMF doesn't support any + If not included, it doesn't indicate that the LMF doesn't support any GAD shapes. The allowedValues are: see clause 6.1.6.3.4 of TS 29.572 "; } } grouping TrpMappingInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between satellite and TRPs."; - + leaf satelliteId { type string { pattern '[0-9]{5}'; } mandatory true; - description "This attribute indicates satellite Id. It shall be formatted - as a fixed 5-digit string, padding with leading digits '0' to complete + description "This attribute indicates satellite Id. It shall be formatted + as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length."; } - + leaf-list trpIds { type uint8 { range 1..max; } - description "This attribute indicates TRPs uniquely within an NG-RAN - node (see TS 38.455 clause 9.2.24). A gNB may serve several TRPs. + description "This attribute indicates TRPs uniquely within an NG-RAN + node (see TS 38.455 clause 9.2.24). A gNB may serve several TRPs. For NTN, a TRP may be located on board the satellite."; } } - + grouping TrpInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between gNB and TRPs."; - + leaf gNBId { type uint32; mandatory true; - description "It identifies a gNB within a PLMN. The gNB ID is part of + description "It 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 + 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"; } - + list trpMappingInfoList { description "This is the list of TRP mapping between satellite and TRPs."; min-elements 1; key idx; leaf idx { type uint32; } uses TrpMappingInfoGrp; - } + } } - + grouping LMFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -228,7 +228,7 @@ module _3gpp-5gc-nrm-lmffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + list managedNFProfile { description "This parameter defines profile for managed NF. See TS 23.501"; key idx; @@ -237,8 +237,8 @@ module _3gpp-5gc-nrm-lmffunction { } list commModelList { - description "The attribute specifies a list of commModel. It can be used - by NF and NF services to interact with each other in 5G Core network + description "The attribute specifies a list of commModel. It can be used + by NF and NF services to interact with each other in 5G Core network (see TS 23.501)"; min-elements 1; key "groupId"; @@ -254,7 +254,7 @@ module _3gpp-5gc-nrm-lmffunction { } list mappedCellIdInfoList { - description "It provides the list of mapping between GEO area and + description "It provides the list of mapping between GEO area and Mapped Cell ID."; key idx; leaf idx { type uint32; } @@ -270,33 +270,33 @@ module _3gpp-5gc-nrm-lmffunction { } list trpInfoList { - description "This is the list of TRP (Transmission-Reception Point) + description "This is the list of TRP (Transmission-Reception Point) related information on LMF (see TS 38.305 clause 5.4.4)."; min-elements 1; key idx; leaf idx { type uint32; } uses TrpInfoGrp; } - + leaf-list mLModelRefList { type types3gpp:DistinguishedName; config false; description "This attribute holds a DN list of MLModel. See TS 28.105"; } - + leaf-list aIMLInferenceFunctionRef { type types3gpp:DistinguishedName; config false; - description "This attribute holds a DN list of AIMLInferenceFunction. + description "This attribute holds a DN list of AIMLInferenceFunction. See TS 28.105"; } } - + augment "/me3gpp:ManagedElement" { list LMFFunction { description "5G Core LMF Function defined in TS 23.501. - Attribute mLModelRefList indicates that AI/ML is supported for LMF for - UE positioning. Attribute aIMLInferenceFunctionRefList indicates that + Attribute mLModelRefList indicates that AI/ML is supported for LMF for + UE positioning. Attribute aIMLInferenceFunctionRefList indicates that AI/ML Inference Function is supported for LMF for UE positioning."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index e278e345b..677ff8687 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -1,170 +1,170 @@ module _3gpp-5gc-nrm-managed-nfprofile { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-managed-nfprofile; prefix mnfp3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } 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-5g-common-yang-types { prefix types5g3gpp; } 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, +Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; revision 2025-07-25 { reference "initial revision"; } - + grouping SPNInfoIdGrp { - description "This data type represents the SNPN identification + description "This data type represents the SNPN identification consisting of MCC, MNC, and optionally NID."; leaf mcc { type string; description "Mobile Country Code (MCC) of the SNPN."; } - + leaf mnc { type string; description "Mobile Network Code (MNC) of the SNPN."; } - + leaf nId { type string; description "Network Identifier (NID) of the SNPN."; } } grouping CollocatedNfInstanceGrp { - description "This data type represents the SNPN identification + description "This data type represents the SNPN identification consisting of MCC, MNC, and optionally NID."; leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; } - + leaf nfType { description "Type of Network Function."; mandatory true; type types3gpp:NfType; } } - grouping SupiRange { + grouping SupiRangeGrp { leaf start { - description "First value identifying the start ofa SUPI range.To be - used when the range of SUPI's can be represented as a numeric range + description "First value identifying the start ofa SUPI range.To be + used when the range of SUPI's can be represented as a numeric range (e.g., IMSI ranges)."; type string { pattern '^[0-9]+$'; } } - + leaf end { - description "Last value identifying the end of a SUPI range.To be + description "Last value identifying the end of a SUPI range.To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; type string { pattern '^[0-9]+$'; } } - + leaf pattern { - description "Pattern representing the set of SUPI's belonging to - this range.A SUPI value is considered part of the range if and + description "Pattern representing the set of SUPI's belonging to + this range.A SUPI value is considered part of the range if and only if the SUPI string fully matches the regular expression."; type string; } } - + grouping ConditionItemGrp { - description "This data type represents a single condition item that - shall be evaluated to determine whether a discovered NF (Service) + description "This data type represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) Instance shall be selected."; - + leaf consumerNfTypes { - description "It represents the NF types of the consumers for - which the conditions included in this ConditionItem apply. + description "It represents the NF types of the consumers for + which the conditions included in this ConditionItem apply. If this attribute is absent, the conditions are applicable to all NF consumer types."; type types3gpp:NfType; } leaf serviceFeature { - description "It represents a feature number of that NF Service - Instance,under CANARY_RELEASE status. This attribute only - applies when the selectionConditions, where this + description "It represents a feature number of that NF Service + Instance,under CANARY_RELEASE status. This attribute only + applies when the selectionConditions, where this ConditionItem is included, is included in a NF Service Instance - This condition is evaluated to when the service requests + This condition is evaluated to when the service requests froma consumer of this NF Service Instance require the support of the indicated feature on the NF Service Instance."; - type uint32; // positive integer, 0 excluded by context + type uint32; // positive integer, 0 excluded by context } leaf vsServiceFeature { description "It represents a Vendor-Specific feature - number of thatNF Service Instance, under CANARY_RELEASE - status. This attribute only applies when the + number of thatNF Service Instance, under CANARY_RELEASE + status. This attribute only applies when the selectionConditions, where this ConditionItem is included, - is included in a NF Service Instance.This condition is - evaluated to true when the service requests from a - consumer of this NF Service Instance require the support - of the indicated Vendor-Specific feature on the NF + is included in a NF Service Instance.This condition is + evaluated to true when the service requests from a + consumer of this NF Service Instance require the support + of the indicated Vendor-Specific feature on the NF Service Instance."; - type uint32; + type uint32; } list supiRangeList { - description "It represents a set of SUPIs for which + description "It represents a set of SUPIs for which the NF (Service) instance under CANARY_RELEASE status shall be selected."; - key idx; + key idx; leaf idx { type uint32; } - uses SupiRange; + uses SupiRangeGrp; } list gpsiRangeList { - description "It represents a set of GPSIs for which the NF + description "It represents a set of GPSIs for which the NF (Service) instance under CANARY_RELEASE status shall be selected"; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses IdentityRange; } list impuRangeList { - description "It represents a set of IMS Public Identities + description "It represents a set of IMS Public Identities for which the NF (Service) instance under CANARY_RELEASE status shall be selected"; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses IdentityRange; } list impiRangeList { description "It represents a set of IMS Private Identities - for which theNF (Service) instance under + for which theNF (Service) instance under CANARY_RELEASE status shall be selected."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses IdentityRange; } leaf peiList { - description "It represents a set of PEIs of the UEs for + description "It represents a set of PEIs of the UEs for which the NF(Service) instance under CANARY_RELEASE status shall be selected"; type string; } list taiRangeList { - description "It represents a set of TAIs where the + description "It represents a set of TAIs where the NF(Service) instance under CANARY_RELEASE status shall be selected for a certain UE"; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } leaf dnnList { - description " It represents a set of TAIs where the NF + description " It represents a set of TAIs where the NF (Service) instance under CANARY_RELEASE status shall be selected for a certain UE"; type string; @@ -179,33 +179,33 @@ TTA, TTC). All rights reserved."; key "mcc mnc"; uses types3gpp:PLMNId; } - list sNssaiList { - description "The specific list of S-NSSAIs supported + list sNssaiList { + description "The specific list of S-NSSAIs supported by the given PLMN."; min-elements 1; max-elements 1; key "sst sd"; uses types5g3gpp:SNssai; } - leaf nid { + leaf nid { description "Network Identity; Shall be present if PlmnIdNid identifies an SNPN "; - reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, + reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP TS 23.501 "; type string; } } grouping ConditionGroupGrp { - description "This <> represents a group of conditions that + description "This <> represents a group of conditions that shall be evaluated to determine whether a discovered NF (Service) Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; - + choice LogicalOperator{ case and { container and { - description "It represents a list of conditions where the - overall evaluation is true only if all the conditions + description "It represents a list of conditions where the + overall evaluation is true only if all the conditions in the list are evaluated as true."; uses SelectionConditionsGrp; } @@ -219,27 +219,27 @@ TTA, TTC). All rights reserved."; uses SelectionConditionsGrp; } } - } + } } - + grouping SelectionConditionsGrp { - description "This data type represents the list of conditions that + description "This data type represents the list of conditions that shall be selected by an NF Service Consumer."; reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; - + list conditionItem{ key "id"; - description "It represent a single condition item that shall be + description "It represent a single condition item that shall be evaluated Instance shall be selected."; leaf id{ type string; } uses ConditionItemGrp; } - - // circular dependency for grouping "ConditionGroupGrp" introduced in - //stage 2 + + // circular dependency for grouping "ConditionGroupGrp" introduced in + //stage 2 // container conditionGroup{ // description "It represents a group of conditions // that shall be evaluated"; @@ -247,7 +247,7 @@ TTA, TTC). All rights reserved."; // } } - + grouping IdentityRange { leaf start { description "First value identifying the start of an identity range. @@ -260,21 +260,21 @@ TTA, TTC). All rights reserved."; leaf end {type string; } // dummy leaf pattern {type string; } // dummy } - + grouping ManagedNFProfileGrp { - + leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; } - + leaf nfType { description "Type of Network Function."; mandatory true; type types3gpp:NfType; } - + leaf nfStatus { description "Status of the NF Instance."; mandatory true; @@ -290,8 +290,8 @@ grouping ManagedNFProfileGrp { leaf nfInstanceName { description "It represents human readable name of the NF Instance"; type string; - } - + } + leaf heartBeatTimer { description "Time in seconds expected between 2 consecutive heart-beat messages from an NF Instance to the NRF. @@ -300,7 +300,7 @@ grouping ManagedNFProfileGrp { heartbeat time proposed by the NF service consumer."; type uint16; } - + list plmnList { description "PLMN(s) of the Network Function. This IE shall be present if this information @@ -310,8 +310,8 @@ grouping ManagedNFProfileGrp { key "mcc mnc"; uses types3gpp:PLMNId; } - - list sNssais { + + list sNssais { description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. When present this IE represents the list of S-NSSAIs supported in @@ -335,20 +335,20 @@ grouping ManagedNFProfileGrp { leaf authzInfo { description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins + information. It shall include the NF type (s) and NF realms/origins allowed to consume NF Service(s) of NF Service Producer "; reference "TS 23.501"; type string; - } + } list allowedPlmns { description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; + If not provided, any PLMN is allowed to access the NF."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - + list sNPNList { key "mcc mnc nId"; description "SNPN(s) of the Network Function. This attributeIE shall be @@ -361,7 +361,7 @@ grouping ManagedNFProfileGrp { description "It includes the S-NSSAIs supported by the Network Function for each PLMN supported by the Network Function. When present, it shall override sNssais IE.If the perPlmnSnssaiList attribute is provided in - at least one NF Service, the S-NSSAIs supported per PLMN in the + at least one NF Service, the S-NSSAIs supported per PLMN in the NF Profile shall be the set or a superset of the perPlmnSnssaiList of the NFService(s)."; key idx; @@ -371,8 +371,8 @@ grouping ManagedNFProfileGrp { list allowedSNPNs { description "SNPNs allowed to access the NF instance. - The absence of this attribute in the NF profile indicates that no SNPN, - other than the SNPN(s) registered in the snpnList attribute of the + The absence of this attribute in the NF profile indicates that no SNPN, + other than the SNPN(s) registered in the snpnList attribute of the NF Profile, is allowed to access the service instance"; key "mCC mNC"; uses nfs3gpp:SNPNIdGrp; @@ -386,9 +386,9 @@ grouping ManagedNFProfileGrp { } leaf-list allowedNfDomains { - description "Pattern (regular expression according to the ECMA-262 - dialect [75]) representing the NF domain names within the PLMN of - the NRF allowed to access the NF instance If not provided, + description "Pattern (regular expression according to the ECMA-262 + dialect [75]) representing the NF domain names within the PLMN of + the NRF allowed to access the NF instance If not provided, any NF domain is allowed to access the NF."; type string; } @@ -405,7 +405,7 @@ grouping ManagedNFProfileGrp { // If not provided, any slice is allowed to access the NF."; // key "sst sd"; // uses RuleSet;? -// } +// } leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; @@ -413,9 +413,9 @@ grouping ManagedNFProfileGrp { } leaf extLocality { description "It indicates the operator defined information about the - location of the NF instance. The key of the map shall be a (unique) - valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum - of 32 characters, representing a type of locality as defined in + location of the NF instance. The key of the map shall be a (unique) + valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum + of 32 characters, representing a type of locality as defined in clause 6.1.6.3.18."; type string; } @@ -427,48 +427,48 @@ grouping ManagedNFProfileGrp { parameters, those will have precedence over this value."; type uint16; } - + leaf load { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; } leaf loadTimeStamp { - description "It indicates the point in time in which the latest load - information (sent by the NF in the load attribute of the NF Profile) - was generated at the NF Instance.If the NF did not provide a timestamp, - the NRF should set it to the instant when the NRF received the message + description "It indicates the point in time in which the latest load + information (sent by the NF in the load attribute of the NF Profile) + was generated at the NF Instance.If the NF did not provide a timestamp, + the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; type yang:date-and-time ; } - + leaf-list recoveryTime { - description "Timestamp when the NF was (re)started. The NRF shall notify + description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed"; type yang:date-and-time; } leaf nfServicePersistence { - description "This parameter indicates whether the different service - instances of a same NF Service in the NF instance, supporting a same - API version, are capable to persist their resource state in shared - storage and therefore these resources are available after a new NF - service instance supporting the same API version is selected by a NF + description "This parameter indicates whether the different service + instances of a same NF Service in the NF instance, supporting a same + API version, are capable to persist their resource state in shared + storage and therefore these resources are available after a new NF + service instance supporting the same API version is selected by a NF Service Consumer "; - reference "TS 29.510"; + reference "TS 29.510"; type boolean; } leaf-list nfSetIdList { type string ; min-elements 1; - description "A NF Set Identifier is a globally unique identifier of - a set of equivalent and interchangeable CP NFs from a given network - that provide distribution, redundancy and scalability - (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall + description "A NF Set Identifier is a globally unique identifier of + a set of equivalent and interchangeable CP NFs from a given network + that provide distribution, redundancy and scalability + (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. - A NF Set Identifier shall be formatted as the following string: + A NF Set Identifier shall be formatted as the following string: set.set.5gc.mnc.mcc for a NF Set in a PLMN, or - set.set.5gc.nid.mnc.mcc for a NF Set + set.set.5gc.nid.mnc.mcc for a NF Set in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN of the NF."; } @@ -483,26 +483,26 @@ grouping ManagedNFProfileGrp { leaf-list nfProfilePartialUpdateChangesSupportInd { description "It represents NF Profile Partial Update Changes Support Indicator. TRUE: the NF Service Consumer supports receiving NF Profile - Changes in the response to an NF Profile Partial Update operation. - FALSE (default): the NF Service Consumer does not support receiving - NF Profile Changes in the response to an NF Profile Partial Update + Changes in the response to an NF Profile Partial Update operation. + FALSE (default): the NF Service Consumer does not support receiving + NF Profile Changes in the response to an NF Profile Partial Update operation"; max-elements 1; type boolean; } leaf-list nfProfileChangesInd { description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF + in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; - + type boolean; max-elements 1; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types. - This attribute may contain multiple default subscriptions for a same + This attribute may contain multiple default subscriptions for a same notification type; in that case, those default subscriptions are used as alternative notification endpoints."; key notificationType; @@ -520,7 +520,7 @@ grouping ManagedNFProfileGrp { reference "clause 6.3 of 3gpp TS 29.500"; max-elements 1; type boolean; - } + } leaf-list olcHSupportInd { description "This parameter indicates whether the NF supports or does not support Overload Control based on OCI Header ."; @@ -529,7 +529,7 @@ grouping ManagedNFProfileGrp { type boolean; } leaf-list nfSetRecoveryTimeList { - description "This parameter contains the recovery time of NF Set(s) + description "This parameter contains the recovery time of NF Set(s) indicated by the NfSetId, where the NF instance belongs."; type yang:date-and-time ; max-elements 1; @@ -548,7 +548,7 @@ grouping ManagedNFProfileGrp { type string; } leaf vendorId { - description "Vendor ID of the NF instance, according to the + description "Vendor ID of the NF instance, according to the IANA-assigned SMI Network Management Private Enterprise Codes [77]. allowedValues: 6 decimal digits; if the SMI code has less than 6 digits, it shall be padded with leading digits 0 to complete @@ -567,8 +567,8 @@ grouping ManagedNFProfileGrp { type inet:domain-name; } list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be + description "List of NF Service Instances. It shall include + the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; @@ -578,7 +578,7 @@ grouping ManagedNFProfileGrp { // description "It indicates a map of Vendor-Specific features, where the // key of the map is the IANA-assigned SMI Network Management Private // Enterprise Codes and the value of each entry of the map shall be - // a list (array) of VendorSpecificFeature objects as defined + // a list (array) of VendorSpecificFeature objects as defined // in the clause 5.3.247."; // type string; // min-elements 1; @@ -592,22 +592,22 @@ grouping ManagedNFProfileGrp { uses SelectionConditionsGrp; } leaf-list canaryRelease { - description "This attribute indicates whether an NF instance whose + description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. it should only be selected by NF Service Consumers under the conditions indicated by the selectionConditions attribute. - True: the NF is under Canary Release condition, even if the + True: the NF is under Canary Release condition, even if the nfStatus is set to REGISTERED - False: the NF instance indicates its Canary Release condition + False: the NF instance indicates its Canary Release condition via the nfStatus attribute"; max-elements 1; type boolean; } leaf-list exclusiveCanaryReleaseSelection { - description "This attribute indicates whether an NF Service - Consumer should only select an NF Service Producer in Canary + description "This attribute indicates whether an NF Service + Consumer should only select an NF Service Producer in Canary Release condition. - True: the consumer shall only select producers in Canary Release + True: the consumer shall only select producers in Canary Release condition False: the consumer may select producers not in Canary Release condition"; @@ -615,9 +615,9 @@ grouping ManagedNFProfileGrp { type boolean; } leaf sharedProfileDataId { - description "This attribute indicates a string uniquely identifying + description "This attribute indicates a string uniquely identifying Shared Profile Data. The format of the sharedProfileDataId shall be - a Universally Unique Identifier (UUID) version 4, as described in + a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [44]. The hexadecimal letters should be formatted as lower-case characters by the sender, and they shall be handled as case-insensitive by the receiver. @@ -625,8 +625,8 @@ grouping ManagedNFProfileGrp { type string; } leaf-list shutdownTime { - description "It indicates the timestamp when the NF Instance is - planned to be shut down. This attribute may be present if the + description "It indicates the timestamp when the NF Instance is + planned to be shut down. This attribute may be present if the nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; type yang:date-and-time ; max-elements 1; @@ -634,25 +634,25 @@ grouping ManagedNFProfileGrp { leaf supportedRcfs { description "It represents a list of Resource Content Filter IDs"; type string; - } + } leaf canaryPrecedenceOverPreferred { - description "ManagedNFProfile.canaryPrecedenceOverPreferred This - attribute indicates whether the NRF shall prioritize the NF Service - Producer in Canary Release condition over the preferences + description "ManagedNFProfile.canaryPrecedenceOverPreferred This + attribute indicates whether the NRF shall prioritize the NF Service + Producer in Canary Release condition over the preferences (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. - allowedValues: + allowedValues: True NRF shall prioritize NF Service Producers in Canary Release condition at NF discovery requests, i.e. NF Service Producers - determined according to preferred-xxx and/or ext-preferred-xxx - shall be prioritized after the NF Service Producers in Canary + determined according to preferred-xxx and/or ext-preferred-xxx + shall be prioritized after the NF Service Producers in Canary Release condition. The associated NF (service) priorities for Service Producers in Canary Release condition shall not be modified by NRF. - False NRF shall prioritize the NF Service Producers according to + False NRF shall prioritize the NF Service Producers according to preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition - in NF Service Producers shall not be prioritized over NF Service + in NF Service Producers shall not be prioritized over NF Service Consumer preferences at NF discovery requests)"; type boolean; - } + } typedef NFStatus { type enumeration { enum REGISTERED; @@ -660,6 +660,6 @@ grouping ManagedNFProfileGrp { } } -} +} } diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang index 25dc78827..44d09552d 100755 --- a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang @@ -1,31 +1,31 @@ module _3gpp-5gc-nrm-n3iwffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-n3iwffunction; prefix n3iwf3gpp; - + 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"; description "This IOC represents the N3IWF function which is used to enable non-3GPP access networks connected to the 5GC. For more information about the N3IWF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-22 { description "initial revision"; } - + grouping N3IWFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; @@ -42,7 +42,7 @@ module _3gpp-5gc-nrm-n3iwffunction { uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list N3IWFFunction { description "5G Core N3IWF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index a1034491b..7ae26ae98 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-neffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; prefix nef3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -12,62 +12,62 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NEF function in 5GC. For more + description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2025-01-25 { reference CR-1442 ; } - revision 2024-05-18 { reference CR-1273 ; } - revision 2024-04-12 { reference CR-1218 ; } + 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-09-18 { reference CR-1043 ; } 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"; } - + grouping DnnInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + leaf dnn { type string; mandatory true; - description "String representing a Data Network as defined in clause 9A - of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, - or a full DNN with both the Network Identifier and Operator Identifier, - as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be - coded as string in which the labels are separated by dots - (e.g. 'Label1.Label2.Label3'). - - Whether the dnn data type contains just the DNN Network Identifier, or - the Network Identifier plus the Operator Identifier, shall be + description "String representing a Data Network as defined in clause 9A + of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, + or a full DNN with both the Network Identifier and Operator Identifier, + as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be + coded as string in which the labels are separated by dots + (e.g. 'Label1.Label2.Label3'). + + Whether the dnn data type contains just the DNN Network Identifier, or + the Network Identifier plus the Operator Identifier, shall be documented in each API where this data type is used."; } } - + grouping SnssaiInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + list sNssai { - description "It represents the S-NSSAI the NetworkSlice managed object - is supporting. The S-NSSAI is defined in TS 23.003."; + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003."; min-elements 1; key idx; leaf idx { type uint32 ; } uses types5g3gpp:SNssai; } - + list dnnInfoList{ - description "It represents list of parameters supported by the + description "It represents list of parameters supported by the NF per DNN."; min-elements 1; key idx; @@ -75,61 +75,61 @@ module _3gpp-5gc-nrm-neffunction { uses DnnInfoItemGrp; } } - + grouping AfEventExposureDataGrp { - description "This data type represents the AF Event Exposure data managed + description "This data type represents the AF Event Exposure data managed by a given NEF Instance. (See clause 6.1.6.2.50 TS 29.510"; - + leaf-list afEvents { // stage 2 double defined type string; min-elements 1; - description "It represents AF Event(s) exposed by the NEF after + description "It represents AF Event(s) exposed by the NEF after registration of the AF(s) at the NEF."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } } - + grouping PfdDataGrp { - description "This data type represents the list of Application IDs - and/or AF IDs managed by a given NEF Instance. + description "This data type represents the list of Application IDs + and/or AF IDs managed by a given NEF Instance. (See clause 6.1.6.2.49 TS 29.510)"; - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } } - + grouping UnTrustAfInfoGrp { - description "This data type represents information of an untrusted AF + description "This data type represents information of an untrusted AF Instance. (See clause 6.1.6.2.95 TS 29.510)"; - + leaf afId { type string; mandatory true; description "It represents associated AF id."; } - + list sNssaiInfoList { description "It represents S-NSSAIs and DNNs supported by the AF."; min-elements 1; @@ -137,21 +137,21 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses SnssaiInfoItemGrp; } - + leaf mappingInd { type boolean; yext3gpp:initial-value false; - description "When present, this attribute indicates whether the - AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) + description "When present, this attribute indicates whether the + AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) and UE ID (i.e. GPSI). True: the AF supports mapping between UE IP address and UE ID; - False: the AF does not support mapping between UE IP address + False: the AF does not support mapping between UE IP address and UE ID."; } } - + grouping NefInfoGrp { - description "This data type represents information of an NEF Instance. + description "This data type represents information of an NEF Instance. (See clause 6.1.6.2.48 TS 29.510)."; list taiList { @@ -173,73 +173,73 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses types5g3gpp:TaiRangeGrp; } - + leaf nefId { type string; mandatory true; - description "It represents the NEF ID. + description "It represents the NEF ID. (see clause 6.1.6.3.2 of TS 29.510)"; } - + list pfdData { config false; - description "It represents PFD data, containing the list of internal - application identifiers and/or the list of application function + description "It represents PFD data, containing the list of internal + application identifiers and/or the list of application function identifiers for which the PFDs can be provided. - Absence of this attribute indicates that the PFDs for any internal - application identifier and for any application function identifier + Absence of this attribute indicates that the PFDs for any internal + application identifier and for any application function identifier can be provided."; min-elements 1; key idx; leaf idx { type uint32 ; } uses PfdDataGrp; } - + list afEeData { config false; - description "It represents the AF provided event exposure data. The NEF + description "It represents the AF provided event exposure data. The NEF registers such information in the NRF on behalf of the AF."; min-elements 1; key idx; leaf idx { type uint32 ; } uses AfEventExposureDataGrp; } - + list gpsiRanges { - description "It represents list of ranges of GPSIs whose profile data + description "It represents list of ranges of GPSIs whose profile data is available."; min-elements 1; key idx; leaf idx { type uint32 ; } uses mnfp3gpp:IdentityRange; } - - list externalGroupIdentifiersRanges { - description "It represents list of ranges of external groups whose + + list externalGroupIdentifiersRanges { + description "It represents list of ranges of external groups whose profile data is available."; // stage 2 definition is shaky min-elements 1; key idx; leaf idx { type uint32 ; } uses mnfp3gpp:IdentityRange; } - + leaf-list servedFqdnList { type string; min-elements 1; - description "It represents pattern (regular expression according to - the ECMA-262 dialect [75]) representing the Domain names served by + description "It represents pattern (regular expression according to + the ECMA-262 dialect [75]) representing the Domain names served by the NEF."; } - + leaf-list dnaiList { type string; min-elements 1; - description "It represents list of Data network access identifiers - supported by the NEF. The absence of this attribute indicates that + description "It represents list of Data network access identifiers + supported by the NEF. The absence of this attribute indicates that the NEF can be selected for any DNAI."; } - + list unTrustAfInfoList { description "It represents list of information corresponding to the AFs."; min-elements 1; @@ -247,7 +247,7 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses UnTrustAfInfoGrp; } - + leaf uasNfFunctionalityInd { type boolean; yext3gpp:initial-value false; @@ -256,42 +256,42 @@ module _3gpp-5gc-nrm-neffunction { - True: UAS NF functionality is supported by the NEF. - False (default): UAS NF functionality is not supported by the NEF"; } - + leaf multiMemAfSessQosInd { type boolean; default false; - description "This attribute indicates whether the NEF supports + description "This attribute indicates whether the NEF supports Multi-member AF session with required QoS functionality: - - TRUE: Multi-member AF session with required QoS functionality is + - TRUE: Multi-member AF session with required QoS functionality is supported by the NEF - - FALSE (default): Multi-member AF session with required QoS + - FALSE (default): Multi-member AF session with required QoS functionality is not supported by the NEF."; } - + leaf memberUESelAssistInd { type boolean; default false; - description "This attribute indicates whether the NEF supports member + description "This attribute indicates whether the NEF supports member UE selection assistance functionality: - - TRUE: member UE selection assistance functionality is supported by + - TRUE: member UE selection assistance functionality is supported by the NEF - - FALSE (default): member UE selection assistance functionality is + - FALSE (default): member UE selection assistance functionality is not supported by the NEF."; } } - + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -308,18 +308,18 @@ module _3gpp-5gc-nrm-neffunction { key idx; uses types3gpp:ManagedNFProfile; } - + leaf-list capabilityList { description "List of supported capabilities of the NEF."; reference "3GPP TS 23.003"; type string; } - + leaf isCAPIFSup { type boolean; yext3gpp:inVariant; } - + list nefInfo { description "This attribute represents information of an NEF NF Instance."; key idx; @@ -327,7 +327,7 @@ module _3gpp-5gc-nrm-neffunction { uses NefInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list NEFFunction { description "5G Core NEF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 354d8b8ac..bb632e6df 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -1,14 +1,14 @@ module _3gpp-5gc-nrm-nfprofile { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfprofile; prefix nfp3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } 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-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; } @@ -16,37 +16,37 @@ module _3gpp-5gc-nrm-nfprofile { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; - revision 2025-03-25 { reference CR-1489 ; } - revision 2025-01-25 { reference CR-1442 ; } - revision 2024-04-12 { reference CR-1218 ; } + 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 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-02-14 { reference CR-0891; } revision 2019-06-17 { reference "initial revision"; } - + grouping NFProfileGrp { leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; } - + leaf nfType { description "Type of Network Function."; mandatory true; type types3gpp:NfType; } - + leaf nfStatus { description "Status of the NF Instance."; mandatory true; type NFStatus; } - + leaf heartBeatTimer { description "Time in seconds expected between 2 consecutive heart-beat messages from an NF Instance to the NRF. @@ -55,19 +55,19 @@ module _3gpp-5gc-nrm-nfprofile { heartbeat time proposed by the NF service consumer."; type uint16; } - + list plmnList { description "PLMN(s) of the Network Function. This IE shall be present if this information is available for the NF. If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; - + min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - - list sNssais { + + list sNssais { description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. When present this IE represents the list of S-NSSAIs supported in @@ -76,7 +76,7 @@ module _3gpp-5gc-nrm-nfprofile { key "sst sd"; uses Snssai; } - + list perPlmnSnssaiList { description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting @@ -85,88 +85,88 @@ module _3gpp-5gc-nrm-nfprofile { the Network Function. When present, this IE shall override sNssais IE."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses PlmnSnssai; } - + leaf-list nsiList { description "NSI identities of the Network Function. If not provided, the NF can serve any NSI."; min-elements 1; type string; } - + leaf fqdn { description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF shall be that of the AMF Name."; type inet:domain-name; } - + leaf interPlmnFqdn { description "If the NF needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter-PLMN routing is specified."; type inet:domain-name; } - + leaf-list ipv4Addresses { description "IPv4 address(es) of the Network Function."; min-elements 1; type inet:ipv4-address; } - + leaf-list ipv6Addresses { description "IPv6 address(es) of the Network Function."; min-elements 1; type inet:ipv6-address; } - + list allowedPlmns { description "PLMNs allowed to access the NF instance. If not provided, any PLMN is allowed to access the NF."; - + min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf-list allowedNfTypes { description "Type of the NFs allowed to access the NF instance. If not provided, any NF type is allowed to access the NF."; min-elements 1; type types3gpp:NfType; } - + leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed - to access the NF instance. If not provided, + description "Pattern representing the NF domain names allowed + to access the NF instance. If not provided, any NF domain is allowed to access the NF."; min-elements 1; type string; } - - list allowedNssais { + + list allowedNssais { description "S-NSSAI of the allowed slices to access the NF instance. If not provided, any slice is allowed to access the NF."; min-elements 1; key "sst sd"; uses Snssai; } - + leaf priority { description "Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, - those will have precedence over this value. + those will have precedence over this value. The NRF may overwrite the received priority value when exposing an NFProfile with the Nnrf_NFDiscovery service."; type uint16; } - + leaf capacity { description "Static capacity information in the range of 0-65535, expressed as a weight relative to other NF instances of @@ -174,21 +174,21 @@ module _3gpp-5gc-nrm-nfprofile { parameters, those will have precedence over this value."; type uint16; } - + leaf load { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; } - + leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; type string; } - + grouping udrInfo { - + leaf groupId { description "Identity of the UDR group that is served by the UDR instance. @@ -196,7 +196,7 @@ module _3gpp-5gc-nrm-nfprofile { to any UDR group."; type string; } - + list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDR instance."; @@ -204,7 +204,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses SupiRange; } - + list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDR instance."; @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses IdentityRange; } - + list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDR instance."; @@ -220,7 +220,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses IdentityRange; } - + leaf-list supportedDataSets { description "List of supported data sets in the UDR instance. If not provided, the UDR supports all data sets."; @@ -228,32 +228,32 @@ module _3gpp-5gc-nrm-nfprofile { type DataSetId; } } - + grouping udmInfo { - + leaf groupId { - description "Identity of the UDM group that is served by the + description "Identity of the UDM group that is served by the UDM instance. If not provided, the UDM instance does not pertain to any UDM group."; type string; } - + list supiRanges { - description "List of ranges of SUPI's whose profile data is + description "List of ranges of SUPI's whose profile data is available in the UDM instance."; key "start end pattern"; min-elements 1; uses SupiRange; } - + list gpsiRanges { - description "List of ranges of GPSIs whose profile data is + description "List of ranges of GPSIs whose profile data is available in the UDM instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } - + list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDM instance."; @@ -261,227 +261,227 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses IdentityRange; } - + leaf-list routingIndicators { description "List of Routing Indicator information that allows to route network signalling with SUCI - to the UDM instance. If not provided, + to the UDM instance. If not provided, the UDM can serve any Routing Indicator. Pattern: '^[0-9]{1,4}$'."; min-elements 1; type string; } } - + grouping ausfInfo { - + leaf groupId { - description "Identity of the AUSF group. If not provided, + description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; type string; } - + list supiRanges { - description "List of ranges of SUPIs that can be served by + description "List of ranges of SUPIs that can be served by the AUSF instance. If not provided, the AUSF can serve any SUPI."; key "start end pattern"; min-elements 1; uses SupiRange; } - + leaf-list routingIndicators { description "List of Routing Indicator information that allows to route network signalling with SUCI - to the AUSF instance. If not provided, + to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator. Pattern: '^[0-9]{1,4}$'."; min-elements 1; type string; } } - + grouping amfInfo { - + leaf amfRegionId { description "AMF region identifier"; type string; } - + leaf amfSetId { description "AMF set identifier"; type string; } - + list guamiList { description "List of supported GUAMIs."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses Guami; } - + list taiList { - description "The list of TAIs the AMF can serve. + description "The list of TAIs the AMF can serve. It may contain the non-3GPP access TAI. - The absence of this attribute and + The absence of this attribute and the taiRangeList attribute indicate that the AMF can be selected for any TAI in the serving network."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses types3gpp:TaiGrp; } - + list taiRangeList { - description "The range of TAIs the AMF can serve. + description "The range of TAIs the AMF can serve. The absence of this attribute and the taiList attribute indicate that the AMF can be selected for any TAI in the serving network."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } - + list backupInfoAmfFailure { description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses Guami; } - + list backupInfoAmfRemoval { description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses Guami; } - + list n2InterfaceAmfInfo { - description "N2 interface information of the AMF. + description "N2 interface information of the AMF. This information needs not be sent in NF Discovery responses. It may be used by the NRF to update the DNS for AMF discovery by the 5G Access Network."; - + max-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses N2InterfaceAmfInfo; } } - + grouping smfInfo { - + list sNssaiSmfInfoList { description "List of parameters supported by the SMF per S-NSSAI."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses sNssaiSmfInfoItem; } - + list taiList { - description "The list of TAIs the SMF can serve. + description "The list of TAIs the SMF can serve. It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList + The absence of this attribute and the taiRangeList attribute indicate that - the SMF can be selected for any TAI + the SMF can be selected for any TAI in the serving network."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses types3gpp:TaiGrp; } - + list taiRangeList { - description "The range of TAIs the SMF can serve. + description "The range of TAIs the SMF can serve. The absence of this attribute and the taiList - attribute indicate that the SMF can be selected + attribute indicate that the SMF can be selected for any TAI in the serving network."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } - + leaf pgwFqdn { description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; type inet:domain-name; } - + leaf-list accessType { - description "If included, this IE shall contain the access type + description "If included, this IE 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."; - + min-elements 1; max-elements 2; type AccessType; } } - + grouping upfInfo { - + list sNssaiUpfInfoList { description "List of parameters supported by the UPF per S-NSSAI."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses SnssaiUpfInfoItem; } - + leaf-list smfServingArea { description "The SMF service area(s) the UPF can serve. If not provided, the UPF can serve any SMF service area."; - + min-elements 1; type string; } - + list interfaceUpfInfo { - description "List of User Plane interfaces configured on the UPF. + description "List of User Plane interfaces configured on the UPF. When this IE is provided in the NF Discovery response, the NF Service Consumer (e.g. SMF) may use this information for UPF selection."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses InterfaceUpfInfoItem; } - + leaf iwkEpsInd { description "Indicates whether interworking with EPS is supported by the UPF. true: Supported false (default): Not Supported"; - + type boolean; } - + leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by the UPF. + description "List of PDU session type(s) supported by the UPF. The absence of this attribute indicates that the UPF can be selected for any PDU session type."; - + min-elements 1; type PduSessionType; } @@ -497,7 +497,7 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL2UetoNetworkRelay { type boolean; - description "Indicates support for ProSe Layer-2 + description "Indicates support for ProSe Layer-2 UE-to-Network Relay.."; } leaf proseL3UetoNetworkRelay { @@ -512,17 +512,17 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL3RemoteUe { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 Remote UE."; } leaf proseL2UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-2 + description "Indicates support for ProSe Layer-2 UE-to-UE Relay."; } leaf proseL3UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 UE-to-UE Relay."; } leaf proseL2EndUe { @@ -535,7 +535,7 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL3IntermRelay { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 Intermediate Relay."; } leaf proseL3MultihopRemote { @@ -544,7 +544,7 @@ module _3gpp-5gc-nrm-nfprofile { } leaf proseL3NetMultihopRelay { type boolean; - description "Indicates support for ProSe Layer-3 Network Multihop + description "Indicates support for ProSe Layer-3 Network Multihop Relay."; } leaf proseL3UeMultihopRelay { @@ -554,18 +554,18 @@ module _3gpp-5gc-nrm-nfprofile { leaf proseL3EndUeMultihop { type boolean; description "Indicates support for ProSe Layer-3 End UE Multihop."; - } - } + } + } grouping pcfInfo { - + leaf-list dnnList { description "DNNs supported by the PCF. If not provided, the PCF can serve any DNN."; - + min-elements 1; type string; } - + list supiRanges { description "List of ranges of SUPIs that can be served by the PCF instance. If not provided, the PCF can serve any SUPI."; @@ -573,22 +573,22 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses SupiRange; } - + leaf rxDiamHost { description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter host + When present, this IE shall indicate the Diameter host of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - + type string; } - + leaf rxDiamRealm { description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter realm + When present, this IE shall indicate the Diameter realm of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - + type string; } list proseCapability { @@ -597,32 +597,32 @@ module _3gpp-5gc-nrm-nfprofile { config false; } } - + grouping bsfInfo { - + list ipv4AddressRanges { description "List of ranges of IPv4 addresses handled by BSF. If not provided, the BSF can serve any IPv4 address."; key "start end"; uses types3gpp:Ipv4AddressRange; } - + leaf-list dnnList { description "List of DNNs handled by the BSF If not provided, the BSF can serve any DNN."; - + min-elements 1; type string; } - + leaf-list ipDomainList { - description "List of IPv4 address domains, as described in + description "List of IPv4 address domains, as described in subclause 6.2 of 3GPP TS 29.513, handled by the BSF. If not provided, the BSF can serve any IP domain."; min-elements 1; type string; } - + list ipv6PrefixRanges { description "List of ranges of IPv6 prefixes handled by the BSF. If not provided, the BSF can serve any IPv6 prefix."; @@ -630,9 +630,9 @@ module _3gpp-5gc-nrm-nfprofile { uses types3gpp:Ipv6PrefixRange; } } - + grouping chfInfo { - + list supiRangeList { description "List of ranges of SUPIs that can be served by the CHF instance. If not provided, the CHF can serve any SUPI."; @@ -640,20 +640,20 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; uses SupiRange; } - + list gpsiRangeList { - description "List of ranges of GPSI that can be served + description "List of ranges of GPSI that can be served by the CHF instance. If not provided, the CHF can serve any GPSI."; key "start end pattern"; min-elements 1; uses IdentityRange; } - + list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN + 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; @@ -662,72 +662,72 @@ module _3gpp-5gc-nrm-nfprofile { 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 + 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 + (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, + 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, + 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.."; + 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."; + 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."; + 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."; + 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 + 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 + 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"; @@ -749,7 +749,7 @@ module _3gpp-5gc-nrm-nfprofile { uses ImsiRange; } list imsPrivateIdentityRanges{ - description "This attribute defines the list of ranges of IMS Private + 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"; @@ -767,7 +767,7 @@ module _3gpp-5gc-nrm-nfprofile { leaf id { description "Unique identifier for the IMSI range."; type string; - } + } uses IdentityRange; } list msisdnRanges{ @@ -778,12 +778,12 @@ module _3gpp-5gc-nrm-nfprofile { 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, + 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"; @@ -800,9 +800,9 @@ module _3gpp-5gc-nrm-nfprofile { 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 "; @@ -811,9 +811,9 @@ module _3gpp-5gc-nrm-nfprofile { 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."; @@ -833,224 +833,224 @@ module _3gpp-5gc-nrm-nfprofile { key "mcc mnc"; uses types3gpp:PLMNId; } - } + } grouping nrfInfoGrp { - + list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses udrInfo; } - + list servedUdmInfo { description "This attribute contains all the udmInfo attributes - locally configured in the NRF or the NRF + locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses udmInfo; } - + list servedAusfInfo { description "This attribute contains all the ausfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses ausfInfo; } - + list servedAmfInfo { description "This attribute contains all the amfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses amfInfo; } - + list servedSmfInfo { description "This attribute contains all the smfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses smfInfo; } - + list servedUpfInfo { description "This attribute contains all the upfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses upfInfo; } - + list servedPcfInfo { description "This attribute contains all the pcfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses pcfInfo; } - + list servedBsfInfo { description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId{ description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses bsfInfo; } - + list servedChfInfo { description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + 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 + 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."; + 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."; + 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."; + 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; } @@ -1058,7 +1058,7 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + map entry belongs to."; key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; @@ -1066,12 +1066,12 @@ module _3gpp-5gc-nrm-nfprofile { } min-elements 1; uses HssInfoGrp; - } + } list served5gDdnmfInfo { description "This attribute contains all the 5gDdnmfInfo - attribute locally configured in the NRF or that the NRF - received during NF registration. The key of the map is - the nfInstanceId to which the map entry belongs to."; + 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."; @@ -1079,95 +1079,95 @@ module _3gpp-5gc-nrm-nfprofile { } min-elements 1; uses FiveGDdnmfInfo ; - } + } } list nrfInfo { description "nrfinfo"; - key idx; + key idx; leaf idx { type uint32; } max-elements 1; uses nrfInfoGrp; } list nfInfo { description "nrfinfo"; - key idx; + 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])."; + 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; + type uint16; } - } - + } + leaf customInfo { description "Specific data for custom Network Functions."; type string; } - + leaf recoveryTime { description "Timestamp when the NF was (re)started."; type yang:date-and-time; } - + leaf nfServicePersistence { description "If present, and set to true, it indicates that the different service instances of a same NF Service in this NF instance, - + supporting a same API version, are capable to persist their resource state in shared storage and therefore these resources are available after a new NF service instance supporting - the same API version is selected by a NF + the same API version is selected by a NF Service Consumer (see 3GPP TS 23.527). Otherwise, it indicates that the NF Service - Instances of + Instances of a same NF Service are not capable to share resource state inside the NF Instance."; - + type boolean; } - + list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be + description "List of NF Service Instances. It shall include + the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; } - + leaf nfProfileChangesSupportInd { description "NF Profile Changes Support Indicator. - This IE may be present + This IE may be present in the NFRegister or NFUpdate (NF Profile Complete - Replacement) request + Replacement) request and shall be absent in the response. true: the NF Service Consumer supports receiving NF Profile Changes in the response. - false (default): the NF Service Consumer does not support + false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; - + type boolean; } - + leaf nfProfileChangesInd { description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF + in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; - + type boolean; } - + list defaultNotificationSubscriptions { description "Notification endpoints for different notification types."; key notificationType; @@ -1175,14 +1175,14 @@ module _3gpp-5gc-nrm-nfprofile { uses types3gpp:DefaultNotificationSubscription; } } - + typedef NFStatus { type enumeration { enum REGISTERED; enum SUSPENDED; } } - + typedef DataSetId { type enumeration { enum SUBSCRIPTION; @@ -1191,41 +1191,41 @@ module _3gpp-5gc-nrm-nfprofile { enum APPLICATION; } } - + grouping SupiRange { leaf start { description "First value identifying the start of a SUPI range. - To be used when the range of SUPI's can be - represented + To be used when the range of SUPI's can be + represented as a numeric range (e.g., IMSI ranges)."; type string { pattern '^[0-9]+$'; } } - + leaf end { - description "Last value identifying the end of + description "Last value identifying the end of a SUPI range. - To be used when the range of SUPI's can be + To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; type string { pattern '^[0-9]+$'; } } - + leaf pattern { - description "Pattern representing the set of SUPI's belonging + description "Pattern representing the set of SUPI's belonging to this range. - A SUPI value is considered part + A SUPI value is considered part of the range - if and only if the SUPI string + if and only if the SUPI string fully matches the regular expression."; type string; } } - + grouping IdentityRange { leaf start { description "First value identifying the start of an identity range. @@ -1235,7 +1235,7 @@ module _3gpp-5gc-nrm-nfprofile { pattern '^[0-9]+$'; } } - + leaf end { description "Last value identifying the end of an identity range. To be used when the range of identities can be represented @@ -1244,19 +1244,19 @@ module _3gpp-5gc-nrm-nfprofile { pattern '^[0-9]+$'; } } - + leaf pattern { - description "Pattern representing the set of identities + description "Pattern representing the set of identities belonging to this range. - An identity value is considered part of the range + An identity value is considered part of the range if and only if the identity string fully matches the regular expression."; type string; } } - + grouping SnssaiUpfInfoItem { - list sNssai { + list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; @@ -1264,25 +1264,25 @@ module _3gpp-5gc-nrm-nfprofile { uses Snssai; } } - + grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; mandatory true; type string; } - + leaf-list dnaiList { description "List of Data network access identifiers supported by the UPF for this DNN. - The absence of this attribute indicates that the UPF + The absence of this attribute indicates that the UPF can be selected for this DNN for any DNAI."; min-elements 1; - type string; //dnai is the type but its only a string with - //desc: DNAI (Data network access identifier), + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), //is this needed as its own typedef or string is ok } - + leaf-list pduSessionTypes { description "List of PDU session type(s) supported by the UPF for a specific DNN."; @@ -1290,7 +1290,7 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } - + grouping Snssai { leaf sst { description "Unsigned integer, within the range 0 to 255, @@ -1300,7 +1300,7 @@ module _3gpp-5gc-nrm-nfprofile { mandatory true; type uint32; } - + leaf sd { description "3-octet string, representing the Slice Differentiator, in hexadecimal representation."; @@ -1308,10 +1308,10 @@ module _3gpp-5gc-nrm-nfprofile { pattern '^[A-Fa-f0-9]{6}$'; } } - + reference "3GPP TS 29.571"; } - + typedef PduSessionType { type enumeration { enum IPV4; @@ -1321,7 +1321,7 @@ module _3gpp-5gc-nrm-nfprofile { enum ETHERNET; } } - + grouping Guami { list plmnId { description "PLMN Identity."; @@ -1330,7 +1330,7 @@ module _3gpp-5gc-nrm-nfprofile { key "mcc mnc"; uses types3gpp:PLMNId; } - + list amfId { description "AMF Identity."; min-elements 1; @@ -1339,14 +1339,14 @@ module _3gpp-5gc-nrm-nfprofile { uses types3gpp:AmfIdentifier; } } - + grouping InterfaceUpfInfoItem { leaf interfaceType { description "User Plane interface type."; mandatory true; type UPInterfaceType; } - + choice address { case ipv4EndpointAddresses { leaf-list ipv4EndpointAddresses { @@ -1356,7 +1356,7 @@ module _3gpp-5gc-nrm-nfprofile { type inet:ipv4-address; } } - + case ipv6EndpointAddresses { leaf-list ipv6EndpointAddresses { description "Available endpoint IPv6 address(es) of @@ -1365,23 +1365,23 @@ module _3gpp-5gc-nrm-nfprofile { type inet:ipv6-address; } } - + case endpointFqdn { leaf endpointFqdn { - description "FQDN of available endpoint of the + description "FQDN of available endpoint of the User Plane interface."; type inet:domain-name; } } } - + leaf networkInstance { - description "Network Instance associated to the + description "Network Instance associated to the User Plane interface."; type string; } } - + typedef UPInterfaceType { type enumeration { enum N3; @@ -1389,14 +1389,14 @@ module _3gpp-5gc-nrm-nfprofile { enum N9; } } - + typedef AccessType { type enumeration { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } } - + grouping N2InterfaceAmfInfo { choice address { case ipv4EndpointAddress { @@ -1406,7 +1406,7 @@ module _3gpp-5gc-nrm-nfprofile { type inet:ipv4-address; } } - + case ipv6EndpointAddress { leaf-list ipv6EndpointAddress { description "Available AMF endpoint IPv6 address(es) for N2."; @@ -1415,23 +1415,23 @@ module _3gpp-5gc-nrm-nfprofile { } } } - + leaf amfName { description "AMF name."; type string; } } - + grouping sNssaiSmfInfoItem { - list sNssai { + list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key "sst sd"; uses Snssai; } - - list dnnSmfInfoList { + + list dnnSmfInfoList { description "List of parameters supported by the SMF per DNN. The absence indicates the DNN can be selected for any DNAI."; min-elements 1; @@ -1439,7 +1439,7 @@ module _3gpp-5gc-nrm-nfprofile { uses DnnSmfInfoItem; } } - + grouping DnnSmfInfoItem { leaf dnn { description "Supported DNN."; @@ -1448,14 +1448,14 @@ module _3gpp-5gc-nrm-nfprofile { } leaf-list dnaiList { - description "List of Data network access identifiers supported by + description "List of Data network access identifiers supported by the SMF for this DNN. The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; min-elements 1; type string; } } - + grouping PlmnSnssai { list plmnId { description "PLMN ID for which list of supported S-NSSAI(s) @@ -1465,9 +1465,9 @@ module _3gpp-5gc-nrm-nfprofile { key "mcc mnc"; uses types3gpp:PLMNId; } - - list sNssaiList { - description "The specific list of S-NSSAIs supported + + list sNssaiList { + description "The specific list of S-NSSAIs supported by the given PLMN."; min-elements 1; key "sst sd"; @@ -1490,18 +1490,18 @@ module _3gpp-5gc-nrm-nfprofile { } } 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 + 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 + 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)."; diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 2577809c6..04802fe0b 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -1,81 +1,81 @@ module _3gpp-5gc-nrm-nfservice { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfservice; prefix nfs3gpp; - + import _3gpp-common-yang-types { prefix types3gpp; } import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF service class. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; - - revision 2025-01-25 { reference CR-1442; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-01-25 { reference CR-1442; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-05 { reference CR-0412 ; } revision 2019-06-17 { reference "initial revision"; } - + grouping NFServiceGrp { description "Represents the NFService IOC"; leaf serviceInstanceID { - description + description "Unique ID of the service instance within a given NF Instance."; mandatory true; type string; } - + leaf serviceName { description "Name of the service instance (e.g. 'nudm-sdm')."; mandatory true; type ServiceName; } - + list versions { //check in review if key is ok (unique) - description "API versions supported by the NF Service and if available, + description "API versions supported by the NF Service and if available, the corresponding retirement date of the NF Service."; min-elements 1; key "apiVersionInUri apiFullVersion"; uses NFServiceVersion; } - + leaf scheme { description "URI scheme (e.g. 'http', 'https')."; mandatory true; type UriScheme; } - + leaf nfServiceStatus { description "Status of the NF Service Instance."; mandatory true; type NFServiceStatus; } - + leaf fqdn { description "FQDN of the NF Service Instance."; //optional support type inet:domain-name; } - + leaf interPlmnFqdn { - description "If the NF service needs to be discoverable by other NFs in a + description "If the NF service needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter PLMN routing."; //optional support type inet:domain-name; } - + list ipEndPoints { - description "IP address(es) and port information of the Network Function - (including IPv4 and/or IPv6 address)where the service is listening + description "IP address(es) and port information of the Network Function + (including IPv4 and/or IPv6 address)where the service is listening for incoming service requests."; //optional support - + key idx; leaf idx { type string; @@ -83,14 +83,14 @@ module _3gpp-5gc-nrm-nfservice { min-elements 1; uses ipEndPoint; } - + leaf apiPrefix { - description "Optional path segment(s) used to construct the {apiRoot} + description "Optional path segment(s) used to construct the {apiRoot} variable of the different API URIs."; //optional support type string; } - + list defaultNotificationSubscriptions { description "Notification endpoints for different notification types."; key notificationType; @@ -98,12 +98,12 @@ module _3gpp-5gc-nrm-nfservice { min-elements 1; uses types3gpp:DefaultNotificationSubscription; } - + list allowedPLMNs { description "PLMNs allowed to access the service instance. - The absence of this attribute indicates that any PLMN is allowed to + The absence of this attribute indicates that any PLMN is allowed to access the service instance."; - + min-elements 1; //optional support key "mcc mnc"; @@ -111,21 +111,21 @@ module _3gpp-5gc-nrm-nfservice { } list allowedSnpns { description "PLMNs allowed to access the service instance. - The absence of this attribute indicates that any PLMN is allowed to + The absence of this attribute indicates that any PLMN is allowed to access the service instance."; - + min-elements 1; //optional support key "mcc mnc"; uses types3gpp:PLMNId; - } + } leaf-list allowedNfTypes { - description "SNPNs allowed to access the NF instance"; + description "SNPNs allowed to access the NF instance"; min-elements 1; //optional support type types3gpp:NfType; } - + leaf-list allowedNfDomains { description "Pattern representing the NF domain names allowed to access the service instance."; @@ -133,7 +133,7 @@ module _3gpp-5gc-nrm-nfservice { min-elements 1; type string; } - + list allowedNSSAI { description "S-NSSAI of the allowed slices to access the service instance. The absence of this attribute indicates that any slice @@ -150,7 +150,7 @@ module _3gpp-5gc-nrm-nfservice { //optional support type string; min-elements 1; - } + } leaf-list allowedOperationsPerNfInstance { description "It indicates the allowed operations on resources for a given NF Instance; the key of the map is the NF Instance Id, and @@ -163,45 +163,45 @@ module _3gpp-5gc-nrm-nfservice { type boolean; default false; description "When it is present and set to true, indicates that - the scopes defined in attribute allowedOperationsPerNfInstance + the scopes defined in attribute allowedOperationsPerNfInstance for a given NF Instance ID take precedence over the scopes defined - in attribute allowedOperationsPerNfType for the corresponding + in attribute allowedOperationsPerNfType for the corresponding NF type of the NF Instance associated to such NF Instance ID.."; - } + } leaf-list oauth2Required { type boolean; max-elements 1; - description "It indicates whether the NF Service Instance requires + description "It indicates whether the NF Service Instance requires Oauth2-based authorization"; - } + } leaf-list sharedServiceDataId { type string; max-elements 1; description "String uniquely identifying SharedServiceData. The format - of the sharedServiceDataId shall be a Universally Unique Identifier + of the sharedServiceDataId shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [44]. The hexadecimal letters should be formatted as lower-case characters by the sender, and they shall be handled as case-insensitive by the receiver."; - } + } leaf priority { - description "Priority (relative to other services of the same type) - in the range of 0-65535, to be used for NF Service selection; lower + description "Priority (relative to other services of the same type) + in the range of 0-65535, to be used for NF Service selection; lower values indicate a higher priority."; //optional support type uint16 { range "0..65535"; } } - + leaf capacity { - description "Static capacity information in the range of 0-65535, + description "Static capacity information in the range of 0-65535, expressed as a weight relative to other services of the same type."; //optional support type uint16; } - - + + leaf recoveryTime { description "Timestamp when the NF was (re)started."; //optional support @@ -214,23 +214,23 @@ module _3gpp-5gc-nrm-nfservice { type string; } } - + typedef SupportedFeatures { type string { pattern '[A-Fa-f0-9]*'; } } - + grouping ipEndPoint { choice address { leaf ipv4Address { type inet:ipv4-address; } - + leaf ipv6Address { type inet:ipv6-address; } - + leaf ipv6Prefix { type inet:ipv6-prefix; } @@ -244,7 +244,7 @@ module _3gpp-5gc-nrm-nfservice { type uint16; } } - + typedef TransportProtocol { type enumeration { enum TCP; @@ -252,24 +252,24 @@ module _3gpp-5gc-nrm-nfservice { enum UDP; } } - + grouping NFServiceVersion { leaf apiVersionInUri { mandatory true; type string; } - + leaf apiFullVersion { mandatory true; type string; } - + leaf expiry { //optional to support type yang:date-and-time; } } - + typedef ServiceName { type enumeration { enum NNRF_NFM; @@ -307,14 +307,14 @@ module _3gpp-5gc-nrm-nfservice { enum NNWDAF_ANALYTICSINFO; } } - + typedef UriScheme { type enumeration { enum HTTP; enum HTTPS; } } - + typedef NFServiceStatus { type enumeration { enum REGISTERED; @@ -322,17 +322,17 @@ module _3gpp-5gc-nrm-nfservice { enum UNDISCOVERABLE; } } - + grouping ChfServiceInfo { leaf primaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a + description "Shall be present if the CHF service instance serves as a secondary CHF instance of another primary CHF service instance."; //conditional to support type string; } - + leaf secondaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a + description "Shall be present if the CHF service instance serves as a primary CHF instance of another secondary CHF service instance."; //conditional to support type string; @@ -342,19 +342,19 @@ module _3gpp-5gc-nrm-nfservice { description "This <> represents the information of a SNPN identification"; leaf mCC { - description "This is the Mobile Country Code (MCC) of the PLMN + description "This is the Mobile Country Code (MCC) of the PLMN identifier. See TS 23.003 [13] subclause 2.2 and 12.1"; type string; } leaf mNC { - description "This is the Mobile Network Code (MNC) of the PLMN + description "This is the Mobile Network Code (MNC) of the PLMN identifier. See TS 23.003 [13] subclause 2.2 and 12.1."; type string; } leaf nId { - description "Network Identity; Shall be present if PlmnIdNid + description "Network Identity; Shall be present if PlmnIdNid identifies an SNPN"; type string; - } + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang index 2c8c1a4fb..0f86f481a 100755 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -1,38 +1,38 @@ module _3gpp-5gc-nrm-ngeirfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ngeirfunction; prefix ngeir3gpp; - + 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 IOC represents the 5G-EIR function in 5GC. For more + description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 {reference "initial revision"; } - + grouping NGEIRFunctionGrp { description "Represents the NGEIRFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -40,7 +40,7 @@ module _3gpp-5gc-nrm-ngeirfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -51,7 +51,7 @@ module _3gpp-5gc-nrm-ngeirfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; min-elements 1; @@ -62,13 +62,13 @@ module _3gpp-5gc-nrm-ngeirfunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list NGEIRFunction { description "5G Core NGEIR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index a82e3a5f1..fed4e6159 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-nrffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction; prefix nrf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -18,241 +18,485 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-smffunction { prefix smf3gpp;} import _3gpp-5gc-nrm-upffunction { prefix upf3gpp;} import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp;} + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} + import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} + import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. For more information about the NRF, see 3GPP TS 23.501 [2]. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2025-01-25 { reference CR-1442 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } - + + + grouping bsfInfo { + + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + key "start end"; + uses types3gpp:Ipv4AddressRange; + } + + leaf-list dnnList { + description "List of DNNs handled by the BSF + If not provided, the BSF can serve any DNN."; + + min-elements 1; + type string; + } + + leaf-list ipDomainList { + description "List of IPv4 address domains, as described in + subclause 6.2 of 3GPP TS 29.513, handled by the BSF. + If not provided, the BSF can serve any IP domain."; + min-elements 1; + type string; + } + + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + grouping chfInfo { + + list supiRangeList { + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRangeList { + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list plmnRangeList { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf primaryChfInstance { + //optional + description "This attribute represents the NF Instance Id of the + primary CHF instance. This attribute shall be absent if the + secondaryChfInstance is present."; + type string; + + } + leaf secondaryChfInstance { + //optional + description "This attribute represents the NF Instance Id of the + secondary CHF instance.This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; + + leaf-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; + //optional + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of + the P-CSCF for the Gm interface."; + type inet:ipv4-address; + //optional + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the + P-CSCF for the Gm interface."; + type inet:ipv6-address; + //optional + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw + interface."; + type string; + //optional + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + type inet:ipv4-address; + //optional + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; + //optional + } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN + 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; + //optional + } + } + 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 mnfp3gpp: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 mnfp3gpp:IdentityRange; + } + list msisdnRanges{ + description "This attribute defines the list of ranges of IMS Public + Identities whose profile data is available in the HSS instance "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list externalGroupIdentifiersRanges{ + description "This attribute defines the list of ranges of external + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp: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; + } + } grouping NrfInfoGrp { - + list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses udr3gpp:UdrInfoGrp; } - + list servedUdmInfo { description "This attribute contains all the udmInfo attributes - locally configured in the NRF or the NRF + locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses udm3gpp:UdmInfoGrp; } - + list servedAusfInfo { description "This attribute contains all the ausfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses ausf3gpp:AusfInfoGrp; } - + list servedAmfInfo { description "This attribute contains all the amfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses amf3gpp:AmfInfoGrp; } - + list servedSmfInfo { description "This attribute contains all the smfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses smf3gpp:SmfInfoGrp; } - + list servedUpfInfo { description "This attribute contains all the upfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses upf3gpp:UpfInfoGrp; } - + list servedPcfInfo { description "This attribute contains all the pcfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses pcf3gpp:pcfInfoGrp; } - + list servedBsfInfo { description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId{ description "String uniquely identifying a NF instance."; type string; } - + min-elements 1; uses bsfInfo; } - + list servedChfInfo { description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; - + key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; type string; } - + 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 + 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."; + 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."; + 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."; + 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; } @@ -260,7 +504,7 @@ module _3gpp-5gc-nrm-nrffunction { 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."; + map entry belongs to."; key nfInstanceId; leaf nfInstanceId { description "String uniquely identifying a NF instance."; @@ -268,12 +512,12 @@ module _3gpp-5gc-nrm-nrffunction { } 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."; + 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."; @@ -281,17 +525,114 @@ module _3gpp-5gc-nrm-nrffunction { } min-elements 1; uses FiveGDdnmfInfo ; - } + } + } + 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; + } + } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + grouping DnnUpfInfoItem { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; } + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + } + 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; + } + } + 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 NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -299,22 +640,23 @@ module _3gpp-5gc-nrm-nrffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -325,6 +667,7 @@ module _3gpp-5gc-nrm-nrffunction { key "sd sst"; uses types5g3gpp:SNssai; } + list nrfInfo { description ""; key idx; @@ -332,16 +675,14 @@ module _3gpp-5gc-nrm-nrffunction { uses NrfInfoGrp; } list nFProfileList { - description "It is a set of NFProfile(s) to be registered in the NRF + description "It is a set of NFProfile(s) to be registered in the NRF instance. NFProfile is defined in 3GPP TS 29.510 "; key idx; leaf idx { type uint32; } min-elements 1; max-elements 1; uses mnfp3gpp:ManagedNFProfileGrp; - description "This parameter defines profile for managed NF"; - reference "3gpp TS 23.501"; - } + } list managedNFProfile { key idx; leaf idx { type uint32; } @@ -352,7 +693,7 @@ module _3gpp-5gc-nrm-nrffunction { reference "3gpp TS 23.501"; } } - + augment "/me3gpp:ManagedElement" { list NRFFunction { description "5G Core NRF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang index 315ae9ebc..655609065 100755 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -1,39 +1,39 @@ module _3gpp-5gc-nrm-nssffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction; prefix nssf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NSSF function in 5GC. For more + description "This IOC represents the NSSF function in 5GC. For more information about the NSSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 { reference "initial revision"; } - + grouping NSSFFunctionGrp { description "Represents the NSSFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,33 +41,33 @@ module _3gpp-5gc-nrm-nssffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; - + reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list managedNFProfile { key idx; min-elements 1; @@ -76,7 +76,7 @@ module _3gpp-5gc-nrm-nssffunction { uses types3gpp:ManagedNFProfile; } } - + augment "/me3gpp:ManagedElement" { list NSSFFunction { description "5G Core NSSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 3ed04046e..291131c95 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-nwdaffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nwdaffunction; prefix nwdaf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,27 +11,27 @@ 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; } - + 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 + description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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; } + revision 2024-04-12 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-15 {reference "initial revision"; } - + typedef NwdafEvent { - description "The detailed ENUM value for NwdafEvent see the + description "The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; type union { type enumeration { @@ -49,94 +49,94 @@ module _3gpp-5gc-nrm-nwdaffunction { enum DISPERSION; enum RED_TRANS_EXP; enum WLAN_PERFORMANCE; - enum SM_CONGESTION; + enum SM_CONGESTION; } type string; } } - + grouping NwdafCapabilityGrp { - description "This data type represents the capability supported by the + description "This data type represents the capability supported by the NWDAF."; reference "TS 29.510"; - + leaf analyticsAggregation { type boolean ; default false; - description "It indicates whether the NWDAF supports analytics + description "It indicates whether the NWDAF supports analytics aggregation"; } - + leaf analyticsMetadataProvisioning { type boolean ; default false; - description "It indicate whether the NWDAF supports analytics metadata + description "It indicate whether the NWDAF supports analytics metadata provisioning:"; - } + } leaf roamingExchange { type boolean ; default false; description "It indicates whether the NWDAF supports roaming exchange capability"; - } + } } grouping MlAnalyticsInfoGrp { - description "This data type represents ML Analytics Filter information + description "This data type represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; reference "TS 29.510"; - + leaf-list mlAnalyticsIds { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF - instance. MnS consumer can configure this attribute to specify - which Analytic functionalities (identified by nwdafEvent) can be - performed the NWDAF instance. If the value of this attribute is not + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF + instance. MnS consumer can configure this attribute to specify + which Analytic functionalities (identified by nwdafEvent) can be + performed the NWDAF instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents - Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, + Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, if none are provided the NWDAF can serve any mlAnalyticsId."; } - + list sNSSAIList { min-elements 1; - description "List of S-NSSAIs the managed object is capable of + description "List of S-NSSAIs the managed object is capable of supporting."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + list trackingAreaList { - description "This attribute represents area of Interest of the ML model, - if none are provided the ML model for the analytics can apply to any + description "This attribute represents area of Interest of the ML model, + if none are provided the ML model for the analytics can apply to any TAIs. - If present, it represents the list of TAIs, it may contain one or + If present, it represents the list of TAIs, it may contain one or more non-3GPP access TAIs."; key idx ; leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + leaf-list mlModelInterInfo { type string { pattern "[0-9]{6}"; } - description "This attribute defines the list of NWDAF vendors that are - allowed to retrieve ML models from the NWDAF containing MTLF. The - absence of this attribute indicates that none of the NWDAF vendors - can retrieve the ML models. + description "This attribute defines the list of NWDAF vendors that are + allowed to retrieve ML models from the NWDAF containing MTLF. The + absence of this attribute indicates that none of the NWDAF vendors + can retrieve the ML models. - allowedValues: 6 decimal digits; if the SMI code has less than - 6 digits, it shall be padded with leading digits '0' to complete a + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits '0' to complete a 6-digit string value."; } - + leaf flCapabilityType { type enumeration { enum FL_SERVER { @@ -146,25 +146,25 @@ module _3gpp-5gc-nrm-nwdaffunction { description "NWDAF containing MTLF as Federated Learning Client"; } enum FL_SERVER_AND_CLIENT { - description "NWDAF containing MTLF as Federated Learning Server and + description "NWDAF containing MTLF as Federated Learning Server and Client."; } } - description "This attribute defines the federated learning capability + description "This attribute defines the federated learning capability type supported by NWDAF containing MTLF."; } - + list flTimeInterval { key idx ; leaf idx { type uint32; } - description "This attribute defines the time window at which the - indicated flCapabilityType supported by NWDAF MTLF is available. - This attribute shall be present only if flCapabilityType attribute + description "This attribute defines the time window at which the + indicated flCapabilityType supported by NWDAF MTLF is available. + This attribute shall be present only if flCapabilityType attribute is present."; uses types3gpp:TimeWindowGrp; } } - + grouping NwdafInfoGrp { description "This data type represents specific data for the NWDAF."; reference "TS 29.510"; @@ -172,24 +172,24 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf-list nwdafEvents { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - MnS consumer can configure this attribute to specify which Analytic - functionalities (identified by nwdafEvent) can be performed the NWDAF - instance. If the value of this attribute is not present, the NWDAF + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. + MnS consumer can configure this attribute to specify which Analytic + functionalities (identified by nwdafEvent) can be performed the NWDAF + instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents. - The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 + The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; } - + leaf-list eventIds { type string ; min-elements 1; - description "It represents the EventId(s) supported by the - Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve + description "It represents the EventId(s) supported by the + Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve any eventId. (see clause TS 29.520)"; } - + list taiList { description "The list of TAIs. "; min-elements 1; @@ -197,7 +197,7 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + list taiRangeList { min-elements 1; key idx ; @@ -205,7 +205,7 @@ module _3gpp-5gc-nrm-nwdaffunction { description "The range of TAIs."; uses types5g3gpp:TaiRangeGrp; } - + list nwdafCapability { max-elements 1; key idx ; @@ -214,100 +214,100 @@ module _3gpp-5gc-nrm-nwdaffunction { If not present, the NWDAF shall be regarded with no capability."; uses NwdafCapabilityGrp; } - + leaf analyticsDelay { type int32 ; units seconds; - description "It represents the supported Analytics Delay related to the - eventIds and nwdafEvents. - It is an unsigned integer identifying a period of time in units of + description "It represents the supported Analytics Delay related to the + eventIds and nwdafEvents. + It is an unsigned integer identifying a period of time in units of seconds.(see clause 5.2.2 TS 29.571)."; } - + leaf-list servingNfTypeList { type types3gpp:NfType; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the NWDAF can collect data from any NF type."; } - + leaf-list servingNfSetIdList { type string ; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the - NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the + NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId in TS 29.571)"; } - + list mlAnalyticsList { min-elements 1; key idx ; leaf idx { type uint32; } - description "It represents ML Analytics Filter information supported by + description "It represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; uses MlAnalyticsInfoGrp; } } - + grouping NetworkSliceInfoGrp { - description "Represents information of network slice when the NWDAF is + description "Represents information of network slice when the NWDAF is authorized to collect the management data of the network slice. "; - + list sNSSAI { - description "It represents the S-NSSAI the NetworkSlice managed object + description "It represents the S-NSSAI the NetworkSlice managed object is supporting. The S-NSSAI is defined in TS 23.003 "; key idx; min-elements 1; max-elements 1; - + leaf idx { type string; } uses types5g3gpp:SNssai; } - + leaf-list cNSIId { type string; - description "It represents NSI ID which is an identifier for identifying - the Core Network part of a Network Slice instance when multiple - Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It represents NSI ID which is an identifier for identifying + the Core Network part of a Network Slice instance when multiple + Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531."; } - + leaf networkSliceRef { type types3gpp:DistinguishedName; mandatory true; - description "This holds a DN of the NetworkSlice managed object relating - to the NetworkSlice instance differentiated by sNSSAI and optional + description "This holds a DN of the NetworkSlice managed object relating + to the NetworkSlice instance differentiated by sNSSAI and optional cNSIId."; } } - + grouping NWDAFFunctionGrp { - description "The NWDAFFunction IOC includes attributes inherited from + description "The NWDAFFunction IOC includes attributes inherited from ManagedFunction IOC(defined in TS 28.622)and the following attributes:"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { description "It defines the PLMN(s) of a Network Function."; - min-elements 1; + min-elements 1; key "idx"; leaf idx { type uint32; } uses types3gpp:PLMNId; uses types5g3gpp:SNssai; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { key idx; min-elements 1; @@ -319,23 +319,23 @@ module _3gpp-5gc-nrm-nwdaffunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list networkSliceInfoList { key idx; min-elements 1; - description "The attribute specifies a list of NetworkSliceInfo which - is defined as a datatype (see clause 5.3.95). It is used by an - authorized consumer, e.g. NWDAF, to facilitate the data collection + description "The attribute specifies a list of NetworkSliceInfo which + is defined as a datatype (see clause 5.3.95). It is used by an + authorized consumer, e.g. NWDAF, to facilitate the data collection from OAM."; leaf idx { type string; } - uses NetworkSliceInfoGrp; + uses NetworkSliceInfoGrp; yext3gpp:inVariant; } @@ -347,67 +347,67 @@ module _3gpp-5gc-nrm-nwdaffunction { description "It represents specific data for the NWDAF."; uses NwdafInfoGrp; } - + leaf administrativeState { type types3gpp:BasicAdministrativeState ; mandatory true; - description "This attribute determines whether the NWDAF is enabled or - disabled. MnS consumer can configure this attribute to activate or - de-activate the analytic functionalities (identified by nwdafEvent + description "This attribute determines whether the NWDAF is enabled or + disabled. MnS consumer can configure this attribute to activate or + de-activate the analytic functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance."; } - + leaf nwdafLogicalFuncSupported { type enumeration { enum NWDAF_WITH_ANLF { - description "Indicates the NWDAF containing Analytics logical + description "Indicates the NWDAF containing Analytics logical function (AnLF)"; } enum NWDAF_WITH_MTLF { - description "Indicates the NWDAF containing Model Training logical + description "Indicates the NWDAF containing Model Training logical function (MTLF)."; } enum NWDAF_WITH_ANLF_MTLF { - description "Indicates the NWDAF containing both Analytics logical + description "Indicates the NWDAF containing both Analytics logical function (AnLF) and Model Training logical function (MTLF)."; } } config false; - description "It represents the logical functions supported by the NWDAF. - If not present, the NWDAF shall be regarded with no logical - decomposition, in that case the NWDAF only supports the analytics + description "It represents the logical functions supported by the NWDAF. + If not present, the NWDAF shall be regarded with no logical + decomposition, in that case the NWDAF only supports the analytics services."; } leaf roamingAnalytics { type boolean ; config false; - description "It indicates whether the NWDAF supports + description "It indicates whether the NWDAF supports Nnwdaf_RoamingAnalytics service"; } leaf roamingData { type boolean ; config false; - description "It indicates whether the NWDAF supports + description "It indicates whether the NWDAF supports Nnwdaf_RoamingData service"; - } + } } - + augment "/me3gpp:ManagedElement" { list NWDAFFunction { description "5G Core NWDAF Function. - For more information about the NWDAF, see TS 23.501. Several - attributes (including 'nwdafInfo', 'administrativeState' and - 'ManagedNFProfile.servingScope') are used to control the functionalities + For more information about the NWDAF, see TS 23.501. Several + attributes (including 'nwdafInfo', 'administrativeState' and + 'ManagedNFProfile.servingScope') are used to control the functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - The attribute 'ManagedNFProfile.servingScope' is used to represent - specified certain geographical area(s) can be served by the NWDAF - instance. - - The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used - to represent specified certain tracking area(s) can be served by the + The attribute 'ManagedNFProfile.servingScope' is used to represent + specified certain geographical area(s) can be served by the NWDAF + instance. + + The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used + to represent specified certain tracking area(s) can be served by the NWDAF instance."; reference "3GPP TS 28.541 3GPP TS 23.501"; key id; diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index 725bdbc2e..a9ab6b435 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-pcffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-pcffunction; prefix pcf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,25 +11,25 @@ module _3gpp-5gc-nrm-pcffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the PCF function in 5GC. For more + description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501. - Copyright 2025, 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-07-25 { reference CR-1558 ; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-06 { reference "CR-0331"; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 { reference "initial revision"; } - + grouping ProSeCapabilityGrp { leaf proseDirectDiscovery { type boolean; @@ -41,7 +41,7 @@ module _3gpp-5gc-nrm-pcffunction { } leaf proseL2UetoNetworkRelay { type boolean; - description "Indicates support for ProSe Layer-2 + description "Indicates support for ProSe Layer-2 UE-to-Network Relay.."; } leaf proseL3UetoNetworkRelay { @@ -56,17 +56,17 @@ module _3gpp-5gc-nrm-pcffunction { } leaf proseL3RemoteUe { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 Remote UE."; } leaf proseL2UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-2 + description "Indicates support for ProSe Layer-2 UE-to-UE Relay."; } leaf proseL3UetoUeRelay { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 UE-to-UE Relay."; } leaf proseL2EndUe { @@ -79,7 +79,7 @@ module _3gpp-5gc-nrm-pcffunction { } leaf proseL3IntermRelay { type boolean; - description "Indicates support for ProSe Layer-3 + description "Indicates support for ProSe Layer-3 Intermediate Relay."; } leaf proseL3MultihopRemote { @@ -88,7 +88,7 @@ module _3gpp-5gc-nrm-pcffunction { } leaf proseL3NetMultihopRelay { type boolean; - description "Indicates support for ProSe Layer-3 Network Multihop + description "Indicates support for ProSe Layer-3 Network Multihop Relay."; } leaf proseL3UeMultihopRelay { @@ -98,41 +98,42 @@ module _3gpp-5gc-nrm-pcffunction { leaf proseL3EndUeMultihop { type boolean; description "Indicates support for ProSe Layer-3 End UE Multihop."; - } - } + } + } grouping pcfInfoGrp { - + leaf-list dnnList { description "DNNs supported by the PCF. If not provided, the PCF can serve any DNN."; - + min-elements 1; type string; } - + list supiRanges { description "List of ranges of SUPIs that can be served by the PCF instance. If not provided, the PCF can serve any SUPI."; - key "start end pattern"; + key idx; + leaf idx { type uint32; } min-elements 1; - uses mnfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + leaf rxDiamHost { description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter host + When present, this IE shall indicate the Diameter host of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - + type string; } - + leaf rxDiamRealm { description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter realm + When present, this IE shall indicate the Diameter realm of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - + type string; } list proseCapability { @@ -144,11 +145,11 @@ module _3gpp-5gc-nrm-pcffunction { grouping PCFFunctionGrp { description "Represents the PCFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -156,13 +157,13 @@ module _3gpp-5gc-nrm-pcffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -173,7 +174,7 @@ module _3gpp-5gc-nrm-pcffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -185,19 +186,19 @@ module _3gpp-5gc-nrm-pcffunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } leaf supportedBMOList { - description "It is used to indicate the list of supported BMOs + description "It is used to indicate the list of supported BMOs (Bridge Managed Objects) required for integration with TSN system."; type string; } list pcfInfo { - description "This attribute represents information of a PCF NF Instance. - Multiple pcfInfo may be allowed to define different DNN list for each + description "This attribute represents information of a PCF NF Instance. + Multiple pcfInfo may be allowed to define different DNN list for each supiranges."; key idx; leaf idx { type uint32; } @@ -205,16 +206,16 @@ module _3gpp-5gc-nrm-pcffunction { } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the PCFFunction supports + description "DN of the Dynamic5QISet that the PCFFunction supports (is associated to)."; } leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the PCFFunction supports + description "DN of the Configurable5QISet that the PCFFunction supports (is associated to)."; } } - + augment "/me3gpp:ManagedElement" { list PCFFunction { description "5G Core PCF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index 5489a5413..c54cbddb7 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -1,44 +1,44 @@ module _3gpp-5gc-nrm-predefinedpccruleset { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-predefinedpccruleset; prefix PredPccRules3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } import ietf-yang-types { prefix yang; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the predefined PCC rules, which are + description "This IOC represents the predefined PCC rules, which are configured to SMF and referenced by PCF. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2025-05-01 { reference CR-xxxx ; } revision 2025-04-25 { reference CR-1520 ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-10-04 { reference "CR-0393"; } revision 2020-08-21 { reference "CR-0330"; } grouping TscaiInputContainer { - description "It specifies the transports TSCAI input parameters for TSC + description "It specifies the transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE for a PCC rule."; reference " 3GPP TS 29.512"; leaf periodicity { type uint32; - description "It identifies the time period between the start of two bursts + description "It identifies the time period between the start of two bursts in reference to the TSN GM."; reference "3GPP TS 29.571."; } leaf burstArrivalTime { type yang:date-and-time; - description "It Indicates the arrival time (in date-time format) of the + description "It Indicates the arrival time (in date-time format) of the data burst in reference to the TSN GM."; reference "3GPP,TS 29.571."; } @@ -53,13 +53,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf activationTime { type yang:date-and-time; - description " It indicates the time (in date-time format) when the decision + description " It indicates the time (in date-time format) when the decision data shall be activated."; reference "3GPP29.512 and TS 29.571."; } leaf deactivationTime { type yang:date-and-time; - description "It indicates the time (in date-time format) when the decision + description "It indicates the time (in date-time format) when the decision data shall be deactivated."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -68,7 +68,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - description "It provides the condition of access type of the UE when the + description "It provides the condition of access type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512."; } @@ -90,7 +90,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum UTRA; enum GERA; } - description "It provides the condition of RAT type of the UE when the + description "It provides the condition of RAT type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -126,7 +126,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..100; } - description "It indicates the traffic load to steer to the 3GPP Access + description "It indicates the traffic load to steer to the 3GPP Access expressed in one percent."; } leaf prioAcc { @@ -140,19 +140,19 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping UpPathChgEvent { - description "It specifies the information about the AF subscriptions of the + description "It specifies the information about the AF subscriptions of the UP path change."; reference "3GPPTS 29.512"; leaf notificationUri { type string; mandatory true; - description "It provides notification address (Uri) of AF receiving the + description "It provides notification address (Uri) of AF receiving the event notification."; } leaf notifCorreId { type string; mandatory true; - description "It is used to set the value of Notification Correlation ID in + description "It is used to set the value of Notification Correlation ID in the notification sent by the SMF, see TS 29.512"; } leaf dnaiChgType { @@ -167,7 +167,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf afAckInd { type boolean; default false; - description "It identifies whether the AF acknowledgement of UP path + description "It identifies whether the AF acknowledgement of UP path event notification is expected."; } } @@ -176,24 +176,24 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It specifies the traffic routing information."; leaf ipv4Addr { type string; - description "It defines the Ipv4 address of the tunnel end point in the + description "It defines the Ipv4 address of the tunnel end point in the data network, formatted in the dotted decimal notation."; } leaf ipv6Addr { type string; - description "It defines the Ipv6 address of the tunnel end point in the + description "It defines the Ipv6 address of the tunnel end point in the data network."; } leaf portNumber { type uint32; mandatory true; - description " It defines the UDP port number of the tunnel end point in + description " It defines the UDP port number of the tunnel end point in the data network, see TS 29.571"; } } grouping RouteToLocation { - description "It specifies a list of location which the traffic shall be + description "It specifies a list of location which the traffic shall be routed to for the AF request."; leaf dnai { type string; @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping RedirectInformaton { - description "It specifies the redirect information for traffic control in + description "It specifies the redirect information for traffic control in the PCC rule."; leaf redirectEnabled { type boolean; @@ -238,12 +238,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping TrafficControlDataInformation { - description "It specifies the traffic control data for a service + description "It specifies the traffic control data for a service flow of a PCC rule."; leaf tcId { type string; mandatory true; - description "It univocally identifies the traffic control policy data + description "It univocally identifies the traffic control policy data within a PDU session."; } leaf flowStatus { @@ -255,22 +255,22 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum REMOVED; } mandatory true; - description "It represents whether the service data flow(s) are enabled + description "It represents whether the service data flow(s) are enabled or disabled."; } container redirectInfo { - description "It contains the redirect information indicating whether the + description "It contains the redirect information indicating whether the detected application traffic should be redirected to another controlled address."; uses RedirectInformaton; } container addRedirectInfo { - description "It contains the additional redirect information indicating - whether the detected application traffic should be redirected to another + description "It contains the additional redirect information indicating + whether the detected application traffic should be redirected to another controlled address."; list redirectInfo { - description "The list of redirect information indicating whether the - detected application traffic should be redirected to another + description "The list of redirect information indicating whether the + detected application traffic should be redirected to another controlled address."; key "redirectServerAddress"; uses RedirectInformaton; @@ -279,7 +279,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf muteNotif { type boolean; default false; - description "It indicates whether applicat'on's start or stop notification + description "It indicates whether applicat'on's start or stop notification is to be muted."; } leaf trafficSteeringPolIdDl { @@ -288,14 +288,14 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf trafficSteeringPolIdUl { type string; - description "It references to a pre-configured traffic steering policy for + description "It references to a pre-configured traffic steering policy for uplink traffic at the SMF, see TS 29.512"; } container routeToLocs { - description "It provides a list of location which the traffic shall be + description "It provides a list of location which the traffic shall be routed to for the AF request."; list routeToLoc { - description "The list of location which the traffic shall be routed to + description "The list of location which the traffic shall be routed to for the AF request."; key "dnai"; uses RouteToLocation; @@ -311,7 +311,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { reference "3GPPTS 29.512"; } container steerModeDl { - description "It provides the traffic distribution rule across 3GPP and + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for downlink traffic."; uses SteeringMode; } @@ -429,7 +429,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf destMacAddr { type string; mandatory true; - description "It specifies the destination MAC address formatted in the + description "It specifies the destination MAC address formatted in the hexadecimal ."; reference "clause 1.1 and clause 2.1 of IETF RFC"; } @@ -454,16 +454,16 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf sourceMacAddr { type string; mandatory true; - description "It specifies the source MAC address formatted in the + description "It specifies the source MAC address formatted in the hexadecimal notation."; reference "clause 1.1 and clause 2.1 of IETF RFC 7042"; } leaf-list vlanTags { type string; - description "It specifies the Customer-VLAN and/or Service-VLAN tags - containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and - IETF RFC 7042. The first/lower instance in the array stands for the - Customer-VLAN tag and the second/higher instance in the array stands + description "It specifies the Customer-VLAN and/or Service-VLAN tags + containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and + IETF RFC 7042. The first/lower instance in the array stands for the + Customer-VLAN tag and the second/higher instance in the array stands for the Service-VLAN tag."; } leaf srcMacAddrEnd { @@ -539,7 +539,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf applicationId { type string; default false; - description "A reference to the application detection filter configured + description "A reference to the application detection filter configured at the UPF."; } leaf appDescriptor { @@ -554,7 +554,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..255; } - description "It indicates the order in which this PCC rule is applied + description "It indicates the order in which this PCC rule is applied relative to other PCC rules within the same PDU session."; } leaf afSigProtocol { @@ -562,13 +562,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum NO_INFORMATION; enum SIP; } - description "Indicates the protocol used for signalling between the UE + description "Indicates the protocol used for signalling between the UE and the AF, the default value is NO_INFORMATION."; } leaf isAppRelocatable { type boolean; default false; - description "It indicates the application relocation possibility, the + description "It indicates the application relocation possibility, the default value is NO_INFORMATION."; } leaf isUeAddrPreserved { @@ -585,7 +585,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } } container altQosParams { - description "It contains the QoS control policy data for the Alternative + description "It contains the QoS control policy data for the Alternative QoS parameter sets of the service data flow."; list qosDataInfo { description "The list of QoS control policy data."; @@ -601,15 +601,15 @@ module _3gpp-5gc-nrm-predefinedpccruleset { uses TrafficControlDataInformation; } } - uses ConditionData; + uses ConditionData; container tscaiInputUl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; } container tscaiInputDl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; } leaf easRedisIndRequired { type boolean; @@ -629,7 +629,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { 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."; @@ -637,7 +637,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf nscSupportedFeats { type uint32; description "Indicates the Network Function Service Consumer features supported per service."; - } + } } grouping PredefinedPccRuleSetGrp { @@ -647,7 +647,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { key "pccRuleId"; uses PccRule; } - } + } grouping PredefinedPccRuleSetSubtree { description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; @@ -659,7 +659,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; uses PredefinedPccRuleSetGrp; } - } + } } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { diff --git a/yang-models/_3gpp-5gc-nrm-scpfunction.yang b/yang-models/_3gpp-5gc-nrm-scpfunction.yang index f52d2f078..ce1914b9b 100755 --- a/yang-models/_3gpp-5gc-nrm-scpfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-scpfunction.yang @@ -1,30 +1,30 @@ module _3gpp-5gc-nrm-scpfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-scpfunction; prefix scp3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } 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 IOC represents the SCP function in 5GC. For more + description "This IOC represents the SCP function in 5GC. For more information about the SCP, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2019-10-24 { reference "initial revision"; } - + grouping SCPFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + leaf address { description "The host address of the SCP."; type inet:host; @@ -33,13 +33,13 @@ module _3gpp-5gc-nrm-scpfunction { list supportedFuncList { min-elements 1; key "function"; - description "This parameter lists functionalities supported by a SCP. + description "This parameter lists functionalities supported by a SCP. Refer to TS 23.501 "; uses types5g3gpp:SupportedFunc; } - + } - + augment "/me3gpp:ManagedElement" { list SCPFunction { description "5G Core SCP Function"; diff --git a/yang-models/_3gpp-5gc-nrm-seppfunction.yang b/yang-models/_3gpp-5gc-nrm-seppfunction.yang index 3be7623d4..19eeb3860 100755 --- a/yang-models/_3gpp-5gc-nrm-seppfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-seppfunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-seppfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-seppfunction; prefix sepp3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } @@ -11,18 +11,18 @@ module _3gpp-5gc-nrm-seppfunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import ietf-inet-types { prefix inet; } - + organization "3gpp SA5"; description "This IOC represents the SEPP function which support message filtering and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-28 { reference S5-193518 ; } - + typedef SEPPType { reference "3GPP TS 23501"; type enumeration { @@ -37,41 +37,41 @@ module _3gpp-5gc-nrm-seppfunction { } } } - + grouping SeppInfoGrp { leaf seppPrefix { type string ; - description "This attributes represents optional deployment specific - string used to construct the apiRoot of the next hop SEPP, as described + description "This attributes represents optional deployment specific + string used to construct the apiRoot of the next hop SEPP, as described in clause 6.10 of TS 29.500"; } - + leaf-list seppPorts { type uint16 ; - description "This attributes represents SEPP port number(s) for HTTP + description "This attributes represents SEPP port number(s) for HTTP and/or HTTPS. - This attribute shall be present if the SEPP uses non-default HTTP - and/or HTTPS ports. When present, it shall contain the HTTP and/or + This attribute shall be present if the SEPP uses non-default HTTP + and/or HTTPS ports. When present, it shall contain the HTTP and/or HTTPS ports. The key of the map shall be 'http' or 'https'. - The value shall indicate the port number for HTTP or + The value shall indicate the port number for HTTP or HTTPS respectively."; } - + list remotePlmnList { - description "It represents a list of remote PLMNs reachable through the + description "It represents a list of remote PLMNs reachable through the SEPP. - The absence of this attribute indicates that any PLMN is reachable + The absence of this attribute indicates that any PLMN is reachable through the SEPP."; key idx; leaf idx { type uint32 ; } uses types3gpp:PLMNId; } - + list remoteSnpnList { - description "This attributes represents list of remote SNPNs reachable + description "This attributes represents list of remote SNPNs reachable through the SEPP. - The absence of this attribute indicates that no SNPN is reachable + The absence of this attribute indicates that no SNPN is reachable through the SEPP."; key idx; leaf idx { type uint32 ; } @@ -81,39 +81,39 @@ module _3gpp-5gc-nrm-seppfunction { grouping SEPPFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + container pLMNId { description "PLMN Identifiers of the sepp. The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; yext3gpp:inVariant; uses types3gpp:PLMNId; } - + leaf sEPPType { type sepp3gpp:SEPPType; yext3gpp:inVariant; } - + leaf sEPPId { type uint16; yext3gpp:inVariant; - } - + } + leaf fqdn { description "The domain name of the SEPP."; type inet:domain-name; } - + list seppInfo { max-elements 1; key idx; - description "This attributes represents information of a SEPP Instance, + description "This attributes represents information of a SEPP Instance, as described in clause 6.1.6.2.72 of TS 29.510 "; leaf idx { type uint32 ; } uses SeppInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list SEPPFunction { description "5G Core SEPP Function"; diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 4a943bdf8..d62b1cfac 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -14,12 +14,12 @@ module _3gpp-5gc-nrm-smffunction { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "SMFFunction derived from basic ManagedFunction. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } @@ -30,62 +30,62 @@ module _3gpp-5gc-nrm-smffunction { grouping SmfInfoGrp { - + list sNssaiSmfInfoList { description "List of parameters supported by the SMF per S-NSSAI."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses types5g3gpp:sNssaiSmfInfoItem; } - + list taiList { - description "The list of TAIs the SMF can serve. + description "The list of TAIs the SMF can serve. It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList + The absence of this attribute and the taiRangeList attribute indicate that - the SMF can be selected for any TAI + the SMF can be selected for any TAI in the serving network."; - - key idx; + + key idx; leaf idx { type uint32; } - + min-elements 1; uses types3gpp:TaiGrp; } - + list taiRangeList { - description "The range of TAIs the SMF can serve. + description "The range of TAIs the SMF can serve. The absence of this attribute and the taiList - attribute indicate that the SMF can be selected + attribute indicate that the SMF can be selected for any TAI in the serving network."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } - + leaf pgwFqdn { description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; type inet:domain-name; } leaf-list accessType { - description "If included, this IE shall contain the access type + description "If included, this IE 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."; - + min-elements 1; max-elements 2; type AccessType; } leaf priority { description "This parameter defines Priority (relative to other - NFs of the same type) in the range of 0-65535, to be used for + NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If - priority is also present in the nfServiceList parameters, + priority is also present in the nfServiceList parameters, those will have precedence over this value "; - type uint16; + type uint16; } leaf-list vsmfSupportInd { description "Used by an SMF to explicitly indicate the support of @@ -99,28 +99,28 @@ module _3gpp-5gc-nrm-smffunction { } leaf pgwFqdnList { - description "When present, this attribute provides additional FQDNs - to the FQDN indicated in the pgwFqdn attribute. - The pgwFqdnList attribute may be present if the pgwFqdn attribute + description "When present, this attribute provides additional FQDNs + to the FQDN indicated in the pgwFqdn attribute. + The pgwFqdnList attribute may be present if the pgwFqdn attribute is present."; type string; } leaf-list ismfSupportInd { - description "This attribute may be used by an SMF to explicitly - indicate the support of I-SMF capability and its preference to be - selected as I-SMF. When present, this attribute shall indicate + description "This attribute may be used by an SMF to explicitly + indicate the support of I-SMF capability and its preference to be + selected as I-SMF. When present, this attribute shall indicate whether the I-SMF capability are supported by the SMF: - TRUE: I-SMF capability supported by the SMF - FALSE: I-SMF capability not supported by the SMF. Absence of this - attribute indicates the I-SMF capability support of the SMF is not + attribute indicates the I-SMF capability support of the SMF is not specified."; max-elements 1; type boolean; } leaf-list smfOnboardingCapability { - description "This attribute indicates the SMF supports SNPN - Onboarding capability and User Plane Remote Provisioning. This - is used for the case of Onboarding of UEs for SNPNs + description "This attribute indicates the SMF supports SNPN + Onboarding capability and User Plane Remote Provisioning. This + is used for the case of Onboarding of UEs for SNPNs (see TS 23.501 [2], clauses 5.30.2.10 and 6.2.6.2). - FALSE: SMF does not support SNPN Onboarding; - TRUE: SMF supports SNPN Onboarding."; @@ -129,8 +129,8 @@ module _3gpp-5gc-nrm-smffunction { } leaf-list smfUPRPCapability { description "This attribute IE indicates the SMF supports User - Plane Remote Provisioning (UPRP) capability. This is used for - the case of Onboarding of UEs for SNPNs , + Plane Remote Provisioning (UPRP) capability. This is used for + the case of Onboarding of UEs for SNPNs , clauses 5.30.2.10 and 6.2.6.2). - FALSE: SMF does not support UPRP; - TRUE: SMF supports UPRP."; @@ -138,14 +138,14 @@ module _3gpp-5gc-nrm-smffunction { type boolean; } } - + grouping SMFFunctionGrp { description "Represents the SMFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; key "mcc mnc"; uses types3gpp:PLMNId; @@ -160,11 +160,11 @@ module _3gpp-5gc-nrm-smffunction { } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -177,7 +177,7 @@ module _3gpp-5gc-nrm-smffunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -185,13 +185,13 @@ module _3gpp-5gc-nrm-smffunction { leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the SMFFunction supports + description "DN of the Configurable5QISet that the SMFFunction supports (is associated to)."; } - + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the SMFFunction supports + description "DN of the Dynamic5QISet that the SMFFunction supports (is associated to)."; } @@ -208,9 +208,9 @@ module _3gpp-5gc-nrm-smffunction { leaf-list dnaiList { description "List of Data network access identifiers."; min-elements 1; - type string; + type string; } - + leaf satelliteid { description "Unique identifier of a GEO satellite."; type string; diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang index 61c7d1242..481789e7f 100755 --- a/yang-models/_3gpp-5gc-nrm-smsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smsffunction.yang @@ -1,42 +1,42 @@ module _3gpp-5gc-nrm-smsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smsffunction; prefix smsf3gpp; - + 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"; description "This IOC represents the SMSF function defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-15 { description "initial revision"; - + } - + grouping SMSFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - + min-elements 1; max-elements 6; key "mcc mnc"; uses types3gpp:PLMNId; - } - + } + list managedNFProfile { key idx; min-elements 1; @@ -49,7 +49,7 @@ module _3gpp-5gc-nrm-smsffunction { uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list SMSFFunction { description "5G Core SMSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index c91967e05..32fc1d769 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-udmfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udmfunction; prefix udm3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,26 +11,26 @@ module _3gpp-5gc-nrm-udmfunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDM function in 5GC. For more + description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + revision 2024-04-04 { reference CR-1139; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-22 { reference "initial revision";} - + grouping InternalGroupIdRangeGrp { leaf start { - description "It indicates first value identifying the start of an + description "It indicates first value identifying the start of an identity range, to be used when the range of identities can be represented as a consecutive numeric range."; type string; @@ -38,64 +38,64 @@ module _3gpp-5gc-nrm-udmfunction { leaf end{ description "It indicates last value identifying the end of an - identity range, to be used when the range of identities can be + identity range, to be used when the range of identities can be represented as a consecutive numeric range."; - type string; + type string; } leaf pattern { - description "It indicates pattern (regular expression according - to the ECMA-262 dialect [75]) representing the set of identities - belonging to this range. An identity value is considered part of - the range if and only if the identity string fully matches the + description "It indicates pattern (regular expression according + to the ECMA-262 dialect [75]) representing the set of identities + belonging to this range. An identity value is considered part of + the range if and only if the identity string fully matches the regular expression."; - type string; + type string; } } grouping SuciInfoGrp { - description "This data type represents SUCI information containing + description "This data type represents SUCI information containing Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; - + leaf-list routingInds { type string; min-elements 1; - description "It indicates served Routing Indicator (see TS 23.003, - clause 2.2B). If not provided, the AUSF/UDM + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM can serve any Routing Indicator."; } - + leaf-list hNwPubKeyIds { type int64; min-elements 1; - description "It indicating served Home Network Public Key - (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM can serve any public key."; } } grouping UdmInfoGrp { - + leaf groupId { - description "Identity of the UDM group that is served by the + description "Identity of the UDM group that is served by the UDM instance. If not provided, the UDM instance does not pertain to any UDM group."; type string; } - + list supiRanges { - description "List of ranges of SUPI's whose profile data is + description "List of ranges of SUPI's whose profile data is available in the UDM instance."; key "start end pattern"; min-elements 1; - uses mnfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + list gpsiRanges { - description "List of ranges of GPSIs whose profile data is + description "List of ranges of GPSIs whose profile data is available in the UDM instance."; key "start end pattern"; min-elements 1; uses mnfp3gpp:IdentityRange; } - + list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDM instance."; @@ -103,11 +103,11 @@ module _3gpp-5gc-nrm-udmfunction { min-elements 1; uses mnfp3gpp:IdentityRange; } - + leaf-list routingIndicators { description "List of Routing Indicator information that allows to route network signalling with SUCI - to the UDM instance. If not provided, + to the UDM instance. If not provided, the UDM can serve any Routing Indicator. Pattern: '^[0-9]{1,4}$'."; min-elements 1; @@ -115,9 +115,9 @@ module _3gpp-5gc-nrm-udmfunction { } list internalGroupIdentifiersRanges{ - description "It represents list of ranges of Internal Group + description "It represents list of ranges of Internal Group Identifiers whose profile data is available in the UDM instance. - If not provided, it does not imply that the UDM supports all + If not provided, it does not imply that the UDM supports all internal groups."; key idx; leaf idx { type uint32; } @@ -126,10 +126,10 @@ module _3gpp-5gc-nrm-udmfunction { list suciInfos { description "It represents list of SuciInfo. A SUCI that matches this information can be served by the UDM .A SUCI that matches - all attributes of at least one entry in this array shall be + all attributes of at least one entry in this array shall be considered as a match of this information"; key idx; - leaf idx { type uint32; } + leaf idx { type uint32; } uses SuciInfoGrp; } } @@ -137,11 +137,11 @@ module _3gpp-5gc-nrm-udmfunction { grouping UDMFuntionGrp { description "Represents the UDMFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -149,13 +149,13 @@ module _3gpp-5gc-nrm-udmfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -166,7 +166,7 @@ module _3gpp-5gc-nrm-udmfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -179,7 +179,7 @@ module _3gpp-5gc-nrm-udmfunction { list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -207,11 +207,11 @@ module _3gpp-5gc-nrm-udmfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } } - + augment "/me3gpp:ManagedElement" { list UDMFunction { description "5G Core UDM Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 071eb6df8..5f9ff1028 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-udrfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction; prefix udr3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -14,22 +14,22 @@ module _3gpp-5gc-nrm-udrfunction { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDR function in 5GC. For more information + description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501. - Copyright 2025, 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-07-25 { reference CR-1558 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-22 {reference "initial revision"; } grouping UdrInfoGrp { - + leaf groupId { description "Identity of the UDR group that is served by the UDR instance. @@ -37,15 +37,15 @@ module _3gpp-5gc-nrm-udrfunction { to any UDR group."; type string; } - + list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; - uses mnfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDR instance."; @@ -53,7 +53,7 @@ module _3gpp-5gc-nrm-udrfunction { min-elements 1; uses mnfp3gpp:IdentityRange; } - + list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDR instance."; @@ -61,22 +61,22 @@ module _3gpp-5gc-nrm-udrfunction { min-elements 1; uses mnfp3gpp:IdentityRange; } - + leaf-list supportedDataSets { description "List of supported data sets in the UDR instance. If not provided, the UDR supports all data sets."; min-elements 1; type DataSetId; } - } + } grouping UDRFuntionGrp { description "Representse the UDRFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -84,13 +84,13 @@ module _3gpp-5gc-nrm-udrfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -101,7 +101,7 @@ module _3gpp-5gc-nrm-udrfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -111,7 +111,7 @@ module _3gpp-5gc-nrm-udrfunction { uses mnfp3gpp:ManagedNFProfileGrp; } } - + typedef DataSetId { type enumeration { enum SUBSCRIPTION; @@ -120,7 +120,7 @@ module _3gpp-5gc-nrm-udrfunction { enum APPLICATION; } } - + augment "/me3gpp:ManagedElement" { list UDRFunction { description "5G Core UDR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang index 553ca7d5a..ee9c30b9b 100755 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -1,39 +1,39 @@ module _3gpp-5gc-nrm-udsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction; prefix udsf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDSF function which can be interacted + description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-22 { reference "initial revision"; } - + grouping UDSFFuntionGrp { description "Represents the UDSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +41,13 @@ module _3gpp-5gc-nrm-udsffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,7 +58,7 @@ module _3gpp-5gc-nrm-udsffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; min-elements 1; @@ -68,7 +68,7 @@ module _3gpp-5gc-nrm-udsffunction { uses types3gpp:ManagedNFProfile; } } - + augment "/me3gpp:ManagedElement" { list UDSFFunction { description "5G Core UDSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index afef56593..3e709c478 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -14,13 +14,13 @@ module _3gpp-5gc-nrm-upffunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "UPFFunction derived from basic ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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-07-25 { reference CR-1558 ; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } @@ -36,106 +36,106 @@ module _3gpp-5gc-nrm-upffunction { enum ETHERNET; } } - - grouping DnnUpfInfoItemGrp { + + grouping DnnUpfInfoItemGrp { leaf dnn { description "String representing a Data Network."; mandatory true; type string; } - + leaf-list dnaiList { description "List of Data network access identifiers supported by the UPF for this DNN. - The absence of this attribute indicates that the UPF + The absence of this attribute indicates that the UPF can be selected for this DNN for any DNAI."; min-elements 1; - type string; //dnai is the type but its only a string with - //desc: DNAI (Data network access identifier), + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), //is this needed as its own typedef or string is ok } - + leaf-list pduSessionTypes { description "List of PDU session type(s) supported by the UPF for a specific DNN."; min-elements 1; type PduSessionType; } - + list ipv4AddressRanges { - description "This attribute represents a list of ranges of IPv4 addresses + description "This attribute represents a list of ranges of IPv4 addresses handled by UPF. "; key idx; leaf idx { type uint32; } uses types3gpp:Ipv4AddressRange; } - + list ipv6PrefixRanges { - description "This attribute represents a list of ranges of IPv6 prefixes + description "This attribute represents a list of ranges of IPv6 prefixes handled by the UPF. "; key idx; leaf idx { type uint32; } uses types3gpp:Ipv6PrefixRange; } - + list natedIpv4AddressRanges { - description "This attribute represents a list of ranges of NATed IPv4 + description "This attribute represents a list of ranges of NATed IPv4 addresses."; key idx; leaf idx { type uint32; } uses types3gpp:Ipv4AddressRange; } - + list natedIpv6PrefixRanges { - description "This attribute represents a list of ranges of NATed IPv6 + description "This attribute represents a list of ranges of NATed IPv6 prefixes."; key idx; leaf idx { type uint32; } uses types3gpp:Ipv6PrefixRange; } - + leaf-list ipv4IndexList { type union { type int32; type string; } - description "This attribute represents a list of Ipv4 Index supported by + description "This attribute represents a list of Ipv4 Index supported by the UPF. - This <> represents the IP Index to be sent from UDM to the SMF. + This <> represents the IP Index to be sent from UDM to the SMF. (See clause 6.1.6.2.77 TS 29.503) It is a list of non-exclusive alternatives (Integer or String)."; } - + leaf-list ipv6IndexList { type union { type int32; type string; } - description "This attribute represents a list of Ipv6 Index supported + description "This attribute represents a list of Ipv6 Index supported by the UPF. - This <> represents the IP Index to be sent from UDM to the SMF. + This <> represents the IP Index to be sent from UDM to the SMF. (See clause 6.1.6.2.77 TS 29.503) It is a list of non-exclusive alternatives (Integer or String)."; } - + leaf networkInstance { type string; - description "This attribute represents the N6 Network Instance + description "This attribute represents the N6 Network Instance (See TS 29.244) associated with the S-NSSAI and DNN."; } - + leaf-list dnaiNwInstanceList { type string; - description "This attribute represents a map of a network instance per - DNAI for the DNN, where the key of the map is the DNAI (Data network + description "This attribute represents a map of a network instance per + DNAI for the DNN, where the key of the map is the DNAI (Data network access identifier), see TS 23.501. - When present, the value of each entry of the map shall contain a N6 + When present, the value of each entry of the map shall contain a N6 network instance that is configured for the DNAI indicated by the key."; } - } - - grouping SnssaiUpfInfoItemGrp { - list sNssai { + } + + grouping SnssaiUpfInfoItemGrp { + list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; @@ -143,20 +143,20 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types5g3gpp:ExtSnssaiGrp; } - + list dnnUpfInfoList { - description "It represents list of parameters supported by the UPF + description "It represents list of parameters supported by the UPF per DNN."; min-elements 1; key dnn; - uses DnnUpfInfoItemGrp; + uses DnnUpfInfoItemGrp; } - + leaf redundantTransport { type boolean; default false; - description "This attribute indicates whether the UPF supports redundant - transport path on the transport layer in the corresponding network + description "This attribute indicates whether the UPF supports redundant + transport path on the transport layer in the corresponding network slice. true: supported false: not supported"; @@ -189,8 +189,8 @@ module _3gpp-5gc-nrm-upffunction { enum SXBU; enum N4U; } - } - + } + grouping InterfaceUpfInfoItemGrp { leaf interfaceType { description "User Plane interface type. @@ -199,7 +199,7 @@ module _3gpp-5gc-nrm-upffunction { type UPInterfaceType; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } - + leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of the User Plane interface."; @@ -213,42 +213,42 @@ module _3gpp-5gc-nrm-upffunction { } leaf fqdn { - description "This parameter defines FQDN of the Network Function + description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; } - + leaf networkInstance { - description "Network Instance (See TS 29.244) associated to the User + description "Network Instance (See TS 29.244) associated to the User Plane interface"; type string; mandatory true; } } - + grouping AtsssCapabilityGrp { leaf atsssLL { - description "Indicates the ATSSS-LL capability to support procedures - related to Access Traffic Steering, Switching, Splitting + description "Indicates the ATSSS-LL capability to support procedures + related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } - + leaf mptcp { - description "Indicates the MPTCP capability to support procedures related - to Access Traffic Steering, Switching, Splitting + description "Indicates the MPTCP capability to support procedures related + to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } - + leaf rttWithoutPmf { - description "Indicates whether the UPF supports RTT measurement without + description "Indicates whether the UPF supports RTT measurement without PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). true: Supported false: Not Supported"; @@ -256,47 +256,47 @@ module _3gpp-5gc-nrm-upffunction { default false; } } - + grouping UpfInfoGrp { - description "Represents datatype UpfInfo. This data type represents + description "Represents datatype UpfInfo. This data type represents information of an UPF Instance"; list sNssaiUpfInfoList { - description "This attribute represents a list of parameters supported by + description "This attribute represents a list of parameters supported by the UPF per S-NSSAI."; min-elements 1; - key idx; + key idx; leaf idx { type uint32; } uses SnssaiUpfInfoItemGrp; } - + leaf-list smfServingArea { type string; min-elements 1; description "The SMF service area(s) the UPF can serve. See TS 29.510. If not provided, the UPF can serve any SMF service area."; } - + list interfaceUpfInfoList { - description "List of User Plane interfaces configured on the UPF. When - this parameter is provided in the NF Discovery response, the NF Service + description "List of User Plane interfaces configured on the UPF. When + this parameter is provided in the NF Discovery response, the NF Service Consumer (e.g., SMF) may use this information for UPF selection."; min-elements 1; key idx; leaf idx { type uint32; } uses InterfaceUpfInfoItemGrp; } - + leaf iwkEpsInd { type boolean; mandatory true; config false; - description "Indicates whether interworking with EPS is supported by + description "Indicates whether interworking with EPS is supported by the UPF. True: Supported False: Not Supported"; } - + leaf-list pduSessionTypes { type enumeration { enum IPV4; @@ -309,7 +309,7 @@ module _3gpp-5gc-nrm-upffunction { min-elements 1; description "Indicates the type(s) of a PDU session."; } - + list atsssCapability { config false; description "Indicate the ATSSS capability of the UPF"; @@ -319,17 +319,17 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses AtsssCapabilityGrp; } - + leaf ueIpAddrInd { type boolean; config false; default false; - description "Indicates whether the UPF supports allocating UE IP + description "Indicates whether the UPF supports allocating UE IP addresses/prefixes. true: supported false: not supported"; } - + list taiList { description "The list of TAIs."; min-elements 1; @@ -337,7 +337,7 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + list taiRangeList { description "The range of TAIs."; min-elements 1; @@ -345,10 +345,10 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } - + list wAgfInfo { - description "Indicate that the UPF is collocated with W-AGF. If not - present, the UPF is not collocated with Wireline Access Gateway + description "Indicate that the UPF is collocated with W-AGF. If not + present, the UPF is not collocated with Wireline Access Gateway Function (W-AGF)."; min-elements 1; max-elements 1; @@ -356,10 +356,10 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } - + list tngfInfo { - description "Indicate that the UPF is collocated with TNGF. If not - present, the UPF is not collocated with Trusted Non-3GPP Gateway + description "Indicate that the UPF is collocated with TNGF. If not + present, the UPF is not collocated with Trusted Non-3GPP Gateway Function (TNGF)."; min-elements 1; max-elements 1; @@ -367,10 +367,10 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } - + list twifInfo { - description "Indicate that the UPF is collocated with TWIF. If not - present, the UPF is not collocated with Trusted WLAN Interworking + description "Indicate that the UPF is collocated with TWIF. If not + present, the UPF is not collocated with Trusted WLAN Interworking Function (TWIF)."; min-elements 1; max-elements 1; @@ -378,17 +378,17 @@ module _3gpp-5gc-nrm-upffunction { leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } - + leaf priority { type uint16; mandatory true; - description "This parameter defines Priority (relative to other NFs of - the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over + description "This parameter defines Priority (relative to other NFs of + the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over this value (See TS 29.510)."; } - + leaf redundantGtpu { type boolean; default false; @@ -397,74 +397,74 @@ module _3gpp-5gc-nrm-upffunction { true: supported false: not supported"; } - + leaf ipups { type boolean; default false; - description "Indicates whether the UPF is configured for Inter-PLMN User - Plane Security (IPUPS). Any UPF can support the IPUPS functionality. - In network deployments where specific UPFs are used to provide IPUPS, + description "Indicates whether the UPF is configured for Inter-PLMN User + Plane Security (IPUPS). Any UPF can support the IPUPS functionality. + In network deployments where specific UPFs are used to provide IPUPS, UPFs configured for providing IPUPS services shall be selected. true: The UPF is configured for IPUPS. false: The UPF is not configured for IPUPS"; } - + leaf dataForwarding { type boolean; default false; - description "Indicates whether the UPF is configured for data forwarding. - Based on operator policies, if dedicated UPFs are preferred to be used - for indirect data forwarding during handover scenarios, when setting - up the indirect data forwarding tunnel, the SMF should preferably - select a UPF configured for data forwarding and use the network - instance indicated in the Network Instance ID associated to the + description "Indicates whether the UPF is configured for data forwarding. + Based on operator policies, if dedicated UPFs are preferred to be used + for indirect data forwarding during handover scenarios, when setting + up the indirect data forwarding tunnel, the SMF should preferably + select a UPF configured for data forwarding and use the network + instance indicated in the Network Instance ID associated to the DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. true: the UPF is configured for data forwarding false: the UPF is not configured for data forwarding - If the UPF is configured for data forwarding, it shall support UP + If the UPF is configured for data forwarding, it shall support UP network interface with type 'DATA_FORWARDING'."; } - + leaf supportedPfcpFeatures { type string; config false; description "Supported Packet Forwarding Control Protocol (PFCP) Features. - A string used to indicate the PFCP features supported by the UPF, - which encodes the 'UP Function Features' as specified in - Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal + A string used to indicate the PFCP features supported by the UPF, + which encodes the 'UP Function Features' as specified in + Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal representation. - Each character in the string shall take a value of '0' to '9', 'a' - to 'f' or 'A' to 'F' and each two characters shall represent one octet - of 'UP Function Features' (starting from Octet 5, to higher octets). - For each two characters representing one octet, the first character - representing the 4 most significant bits of the octet and the second + Each character in the string shall take a value of '0' to '9', 'a' + to 'f' or 'A' to 'F' and each two characters shall represent one octet + of 'UP Function Features' (starting from Octet 5, to higher octets). + For each two characters representing one octet, the first character + representing the 4 most significant bits of the octet and the second character the 4 least significant bits of the octet. - The supported PFCP features shall be provisioned in addition and be - consistent with the existing UPF features (atsssCapability, ueIpAddrInd, - redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', - then the UEIP flag shall also be set to '1' in the supported PFCP + The supported PFCP features shall be provisioned in addition and be + consistent with the existing UPF features (atsssCapability, ueIpAddrInd, + redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', + then the UEIP flag shall also be set to '1' in the supported PFCP features."; } - + leaf sxaInd { type boolean; config false; - description "This attribute indicates whether the UPF is configured to + description "This attribute indicates whether the UPF is configured to support Sxa interface. true: Supported false: Not Supported"; } } - + grouping UPFFunctionGrp { description "Represents the UPFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; min-elements 1; key "mcc mnc"; @@ -472,7 +472,7 @@ module _3gpp-5gc-nrm-upffunction { } leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) + description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; min-elements 1; @@ -482,11 +482,11 @@ module _3gpp-5gc-nrm-upffunction { leaf-list cNSIIdList { type string; - description "It is a set of NSI ID. NSI ID is an identifier for - identifying the Core Network part of a Network Slice instance when - multiple Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531. "; } leaf energySavingControl { @@ -495,10 +495,10 @@ module _3gpp-5gc-nrm-upffunction { enum TO_BE_NOT_ENERGYSAVING; } mandatory true; - description "This attribute allows management system to initiate energy + description "This attribute allows management system to initiate energy saving activation or deactivation for the edge UPF."; } - + leaf energySavingState { type enumeration { enum IS_NOT_ENERGYSAVING; @@ -506,28 +506,28 @@ module _3gpp-5gc-nrm-upffunction { } mandatory true; config false; - description "This attribute specifies the status regarding the energy + description "This attribute specifies the status regarding the energy saving in the edge UPF. - If the value of energySavingControl is TO_BE_ENERGYSAVING, then it - shall be tried to achieve the value IS_ENERGYSAVING for the + If the value of energySavingControl is TO_BE_ENERGYSAVING, then it + shall be tried to achieve the value IS_ENERGYSAVING for the energySavingState. - If the value of energySavingControl is TO_BE_NOT_ENERGYSAVING, then - it shall be tried to achieve the value IS_NOT_ENERGYSAVING for the + If the value of energySavingControl is TO_BE_NOT_ENERGYSAVING, then + it shall be tried to achieve the value IS_NOT_ENERGYSAVING for the energySavingState. "; } /*list sNSSAIList { ??? not visible in stage 2 description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD + An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; }*/ - + list managedNFProfile { key idx; min-elements 1; @@ -535,31 +535,31 @@ module _3gpp-5gc-nrm-upffunction { description "Profile definition of a Managed NF (See TS 23.501)"; uses types3gpp:ManagedNFProfile; } - + leaf-list supportedBMOList { type string; - description "List of supported BMOs (Bridge Managed Objects) required + description "List of supported BMOs (Bridge Managed Objects) required for integration with TSN system."; } - + list upfInfo { - description "This attribute represents information of an UPF NF Instance. - Multiple upfInfo may be allowed to define different TAI list for each + description "This attribute represents information of an UPF NF Instance. + Multiple upfInfo may be allowed to define different TAI list for each supported S-NSSAI"; key idx; leaf idx { type uint32; } uses UpfInfoGrp; } - + leaf isOnboardSatellite { type boolean; default false; config false; yext3gpp:inVariant; - description "This attribute indicates whether the function is + description "This attribute indicates whether the function is on board the satellite."; } - + leaf onboardSatelliteId { type string { pattern "[0-9]{5}" ; @@ -567,15 +567,15 @@ module _3gpp-5gc-nrm-upffunction { config false; yext3gpp:inVariant; description "This attribute indicates the onboard satellite Id. - It shall be formatted as a fixed 5-digit string, padding with + It shall be formatted as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length."; } - + leaf uPFCapabilities { type string; yext3gpp:inVariant; - description "It indicates the operator configurable capability supported - by the UPF. (see clause 5.8.2.21 in TS 23.501, clause 5.4.2 + description "It indicates the operator configurable capability supported + by the UPF. (see clause 5.8.2.21 in TS 23.501, clause 5.4.2 in TS 29.571)"; } } diff --git a/yang-models/_3gpp-common-antennafunction.yang b/yang-models/_3gpp-common-antennafunction.yang index 330c5c748..ee80939ee 100644 --- a/yang-models/_3gpp-common-antennafunction.yang +++ b/yang-models/_3gpp-common-antennafunction.yang @@ -1,196 +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; - } - } -} +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-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 1b12d4c19..3b4d22dd9 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -1,5 +1,5 @@ module _3gpp-common-ep-rp { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; prefix "eprp3gpp"; @@ -8,43 +8,43 @@ module _3gpp-common-ep-rp { import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Common/basic class/grouping to be inherited/reused. - This IOC represents an end point of a link used across a reference + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Common/basic class/grouping to be inherited/reused. + This IOC represents an end point of a link used across a reference point between two network entities. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference - "3GPP TS 28.622 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2023-09-18 { reference CR-0271 ; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-06-17 { description "Initial revision"; } - + grouping EP_RPGrp { - description "Abstract class, represents an end point of a link used - across a reference point between two network entities. - - For naming the subclasses of EP_RP, the following rules shall apply: - - The name of the subclassed IOC shall have the form 'EP_', - where is a string that represents the name of the reference point. - Thus, two valid examples of EP_RP subclassed IOC names would be: + description "Abstract class, represents an end point of a link used + across a reference point between two network entities. + + For naming the subclasses of EP_RP, the following rules shall apply: + - The name of the subclassed IOC shall have the form 'EP_', + where is a string that represents the name of the reference point. + Thus, two valid examples of EP_RP subclassed IOC names would be: EP_S1 and EP_X2."; - + leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; } - + leaf farEndEntity { config false; type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang index 63700caf8..0854e9f88 100644 --- a/yang-models/_3gpp-common-externaldata.yang +++ b/yang-models/_3gpp-common-externaldata.yang @@ -11,12 +11,12 @@ module _3gpp-common-externaldata { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the external data. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2025-07-19 { reference CR-0551; } - + grouping ExternalDataScopeGrp { list geoAreas { description "It describes the concrete geographical area(s)"; @@ -24,107 +24,107 @@ module _3gpp-common-externaldata { leaf idx { type uint32; } uses types3gpp:GeoAreaGrp; } - + leaf-list objectInstancesIncluded { type types3gpp:DistinguishedName; - description "List of managed object instances to which the described + description "List of managed object instances to which the described data are related. Each object instance is identified by its DN."; } - + leaf-list objectInstancesExcluded { type types3gpp:DistinguishedName; - description "List of managed object instances which are not considered - in relation to the described data. Each object instance is identified + description "List of managed object instances which are not considered + in relation to the described data. Each object instance is identified by its DN."; } } grouping ExternalDataTypeGrp { description "Represents the IOC ExternalDataType"; - + leaf externalDataType { type string; mandatory true; - description "Type of external management data as defined by the + description "Type of external management data as defined by the implementation. - Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', + Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', 'Event Schedule”"; - } - + } + leaf-list mediaLocation { type inet:uri; - description "URI of the media which includes the transfer protocol. + description "URI of the media which includes the transfer protocol. Examples: sftp://companyA.com/datastore/fileName.xml https://companyA.com/ManagedElement=1/Files=1/File=1"; - } - + } + leaf externalDataTypeSchema { type inet:uri; mandatory true; description "URI of the schema to parse a type of external management data. The detailed schema definition for the different types of external management data is out of scope of this specification."; - } - + } + list externalDataScope { - description "It describes the concrete scope which the external management + description "It describes the concrete scope which the external management data is applicable."; key idx; leaf idx { type uint32; } uses ExternalDataScopeGrp; - } + } } - + augment /subnet3gpp:SubNetwork { list ExternalDataType { - description "This IOC specifies a type of external management data and + description "This IOC specifies a type of external management data and the associated meta data. - External management data is data which enrich 3GPP specified management - data and management data specified based on 3GPP defined management data - definition templates and frameworks. External management data can be - produced by data sources of different nature (e.g. sensors) with different + External management data is data which enrich 3GPP specified management + data and management data specified based on 3GPP defined management data + definition templates and frameworks. External management data can be + produced by data sources of different nature (e.g. sensors) with different formats. Details see clause 6.4.1 in TS 28.537. - MnS producer may use this IOC to describe external management data. + MnS producer may use this IOC to describe external management data. - For example, MnS producer publishes all external management data which + For example, MnS producer publishes all external management data which are available. - MnS consumer may use this IOC to configure, discover or request external - management data. For example, MnS consumer discovers and requests certain + MnS consumer may use this IOC to configure, discover or request external + management data. For example, MnS consumer discovers and requests certain types of external management data. The ExternalDataType IOC can be name-contained by SubNetwork. - Attribute externalDataType defines the type of external management data. + Attribute externalDataType defines the type of external management data. - Attribute mediaLocation indicates the address from which the described - external management data can be retrieved. + Attribute mediaLocation indicates the address from which the described + external management data can be retrieved. - The value of mediaLocation, if present, can provide one or several - directories or the address where the described external management data - can be retrieved. The different directories can be used to group the - external management data, e.g., one directory per geographical area or - per time period. For example, the value of the mediaLocation attribute + The value of mediaLocation, if present, can provide one or several + directories or the address where the described external management data + can be retrieved. The different directories can be used to group the + external management data, e.g., one directory per geographical area or + per time period. For example, the value of the mediaLocation attribute can be given by - + sftp://companyA.com/datastore/weatherforecasts/ - In this case a potential file with name 'weatherforecastMunicht0.xml' - needs to be retrieved using 'sftp' from - + In this case a potential file with name 'weatherforecastMunicht0.xml' + needs to be retrieved using 'sftp' from + sftp://companyA.com/datastore/weatherforecasts/weatherforecastMunicht0.xml. - Attribute externalDataTypeSchema indicates the URI where the MnS consumer + Attribute externalDataTypeSchema indicates the URI where the MnS consumer can get the schema to parse the external management data. Attribute externalDataScope is used to describe the concrete scope (e.g., geographical areas) which the external management data is applicable."; - + key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-common-filemanagement.yang b/yang-models/_3gpp-common-filemanagement.yang index 4ead4f89a..531b73cba 100644 --- a/yang-models/_3gpp-common-filemanagement.yang +++ b/yang-models/_3gpp-common-filemanagement.yang @@ -9,17 +9,17 @@ module _3gpp-common-filemanagement { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the FileDownloadJob Information Object Class (IOC) that is part of the Generic Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2024-11-07 { reference CR-0474 ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference CR-0234; } revision 2022-10-24 { reference CR-0196; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } @@ -47,31 +47,31 @@ module _3gpp-common-filemanagement { } } } - + grouping FileDownloadJobGrp { description "Represents the FileDownloadJob IOC."; reference "3GPP TS 28.622"; uses top3gpp:Top_Grp; - + leaf fileLocation { type inet:uri; yext3gpp:notNotifyable; yext3gpp:inVariant; - description "Location of the file incl. the file transfer protocol, - and the file name for the case the file content cannot be retrieved + description "Location of the file incl. the file transfer protocol, + and the file name for the case the file content cannot be retrieved by reading the 'fileContent' attribute. - + The allowed file transfer protocols are: - sftp - ftpes - https - + Examples: 'sftp://companyA.com/datastore/fileName.xml', 'https://companyA.com/ManagedElement=1/Files=1/File=1' "; } - + leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; @@ -81,8 +81,8 @@ module _3gpp-common-filemanagement { leaf cancelJob { description "Setting this attribute to TRUE cancels the file download job. - As specified in the definition of ProcessMonitor, cancellation is - possible in the NOT_STARTED and RUNNING state. Setting the attribute + As specified in the definition of ProcessMonitor, cancellation is + possible in the NOT_STARTED and RUNNING state. Setting the attribute to FALSE has no observable result."; type boolean; mandatory true; @@ -104,9 +104,9 @@ module _3gpp-common-filemanagement { container attributes { uses FileDownloadJobGrp; } - } + } } - + augment "/subnet3gpp:SubNetwork" { uses FileDownloadJobSubtree; } diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index cc0ba8f55..105246d30 100644 --- a/yang-models/_3gpp-common-files.yang +++ b/yang-models/_3gpp-common-files.yang @@ -11,9 +11,9 @@ module _3gpp-common-files { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of File retrieval NRM fragment + description "Defines the YANG mapping of File retrieval NRM fragment including the IOCs File and Files. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -24,11 +24,11 @@ module _3gpp-common-files { Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; - - revision 2024-05-25 { reference CR-0362 ; } - revision 2023-09-18 { reference CR-0271 ; } + + revision 2024-05-25 { reference CR-0362 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2022-09-28 { reference CR-0191; } - + grouping FileGrp { description "Represents the File IOC."; @@ -37,29 +37,29 @@ module _3gpp-common-files { mandatory true; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Location of the file incl. the file transfer protocol, - and the file name for the case the file content cannot be retrieved + description "Location of the file incl. the file transfer protocol, + and the file name for the case the file content cannot be retrieved by reading the 'fileContent' attribute. - + The allowed file transfer protocols are: - sftp - ftpes - https - + Examples: 'sftp://companyA.com/datastore/fileName.xml', 'https://companyA.com/ManagedElement=1/Files=1/File=1' "; } - + leaf fileCompression { type string ; mandatory true; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Name of the algorithm used for compressing the file. - An empty or absent 'fileCompression' parameter indicates the file is - not compressed. The MnS producer selects the compression algorithm. + description "Name of the algorithm used for compressing the file. + An empty or absent 'fileCompression' parameter indicates the file is + not compressed. The MnS producer selects the compression algorithm. It is encouraged to use popular algorithms such as GZIP."; } @@ -71,7 +71,7 @@ module _3gpp-common-files { yext3gpp:inVariant ; description "Size of the file"; } - + leaf fileDataType { type enumeration { enum PERFORMANCE { @@ -86,26 +86,26 @@ module _3gpp-common-files { yext3gpp:inVariant ; description "Type of the management data stored in the file."; } - + leaf fileFormat { type string ; mandatory true; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Identifier of the XML or ASN.1 schema (incl. its version) + description "Identifier of the XML or ASN.1 schema (incl. its version) used to produce the file content."; } - + leaf fileReadyTime { type yang:date-and-time ; mandatory true; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Date and time, when the file was closed (the last time) - and made available on the MnS producer. + description "Date and time, when the file was closed (the last time) + and made available on the MnS producer. The file content will not be changed anymore."; } - + leaf fileExpirationTime { type yang:date-and-time ; mandatory true; @@ -113,23 +113,23 @@ module _3gpp-common-files { yext3gpp:inVariant ; description "Date and time after which the file may be deleted."; } - + leaf fileContent { type string ; // String is very restrictive mandatory true; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "File content"; + description "File content"; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Object instance of the 'PerfMetricJob' or 'TraceJob' + description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } - + leaf jobId { type string ; yext3gpp:notNotifyable ; @@ -137,23 +137,23 @@ module _3gpp-common-files { description "Identifier of a PerfMetricJob job or a TraceJob."; } } - + grouping FilesGrp { description "Represents the Files IOC."; leaf numberOfFiles { type uint64 ; yext3gpp:notNotifyable ; - description "Number of files in a file collection."; + description "Number of files in a file collection."; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Object instance of the 'PerfMetricJob' or 'TraceJob' + description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } - + leaf jobId { type string ; yext3gpp:notNotifyable ; @@ -161,7 +161,7 @@ module _3gpp-common-files { description "Identifier of a PerfMetricJob job or a TraceJob."; } } - + grouping FilesSubtree { description "Contains classes of the File retrieval NRM fragment. Should be used in classes (or classes inheriting from) @@ -172,153 +172,153 @@ module _3gpp-common-files { If a YANG module wants to augment these classes/list/groupings they must augment all user classes!"; - - list Files { - description "This IOC represents a collection of files. It can be - name-contained by 'SubNetwork', 'ManagedElement', 'PerfMetricJob' or - 'TraceJob'. The 'Files' object name-contains 'File' objects, that - represent the files of the collection. File collections allow to + + list Files { + description "This IOC represents a collection of files. It can be + name-contained by 'SubNetwork', 'ManagedElement', 'PerfMetricJob' or + 'TraceJob'. The 'Files' object name-contains 'File' objects, that + represent the files of the collection. File collections allow to structure related files under a common root. - Instances of 'Files' are created by MnS producers. They shall be - created at latest when the first file of the collection becomes + Instances of 'Files' are created by MnS producers. They shall be + created at latest when the first file of the collection becomes available for retrieval by MnS consumers. - The attributes of 'Files' represent properties of the file collection + The attributes of 'Files' represent properties of the file collection and not properties of individual files. - When the file retrieval NRM fragment is used together with a data - collection job ('PerfMetricJob' or 'TraceJob') the following + When the file retrieval NRM fragment is used together with a data + collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - - The 'Files' object shall be created at the same time as the object + - The 'Files' object shall be created at the same time as the object representing the data collection job. - - The attributes 'jobRef' and 'jobId' shall be supported and present - in a 'Files' instance. They shall identify the job that the files in + - The attributes 'jobRef' and 'jobId' shall be supported and present + in a 'Files' instance. They shall identify the job that the files in the file collection relate to. - - A 'Files' instance shall contain files related to one and only one + - A 'Files' instance shall contain files related to one and only one job. - - The files produced by one job shall be contained in one and only + - The files produced by one job shall be contained in one and only one 'Files' instance. - - The job object shall support an attribute with a link to the + - The job object shall support an attribute with a link to the created 'Files' instance ('_linkToFiles'). - - The attribute '_linkToFiles' shall be returned in the job creation - response, if the stage 3 protocol supports returning attributes in an + - The attribute '_linkToFiles' shall be returned in the job creation + response, if the stage 3 protocol supports returning attributes in an object creation response. - - The MnS producer decides where to name-contain the 'Files' instance + - The MnS producer decides where to name-contain the 'Files' instance related to a job. - The attribute '_linkToFiles' allows a MnS consumer to create simple - and targeted subscriptions for 'notifyFileReady'and - 'notifyFilePreparationError', or - 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' - related to 'File' instances created or deleted - under the 'Files' instance of a specific job. The subscription needs + The attribute '_linkToFiles' allows a MnS consumer to create simple + and targeted subscriptions for 'notifyFileReady'and + 'notifyFilePreparationError', or + 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' + related to 'File' instances created or deleted + under the 'Files' instance of a specific job. The subscription needs to scope simply objects one level below the 'Files' object. - In addition, the attribute '_linkToFiles' allows for simple - deployments not relying on notifications for reporting the - availability of new files, where the MnS consumer polls regularly + In addition, the attribute '_linkToFiles' allows for simple + deployments not relying on notifications for reporting the + availability of new files, where the MnS consumer polls regularly for new files under 'Files'."; - + key id; config false; uses top3gpp:Top_Grp ; container attributes { uses FilesGrp ; } - + list File { description "Represents a file. It is name-contained by 'Files'. - When a file becomes available on a MnS producer for retrieval by a - MnS consumer, the MnS producer shall create a 'File' instance + When a file becomes available on a MnS producer for retrieval by a + MnS consumer, the MnS producer shall create a 'File' instance representing that file. - The time of creation shall be captured by the MnS producer in the - 'fileReadyTime' attribute. The MnS producer shall keep the file at - least until the time specified by 'fileExpirationTime'. After that - time the MnS producer may delete the 'File' instance. - The 'fileExpirationTime' is determined by the MnS producer based on - considerations such as available storage space or file retention + The time of creation shall be captured by the MnS producer in the + 'fileReadyTime' attribute. The MnS producer shall keep the file at + least until the time specified by 'fileExpirationTime'. After that + time the MnS producer may delete the 'File' instance. + The 'fileExpirationTime' is determined by the MnS producer based on + considerations such as available storage space or file retention policies. - The attributes 'fileSize', 'fileCompression', 'fileDataType' and + The attributes 'fileSize', 'fileCompression', 'fileDataType' and 'fileFormat' describe the file properties. - The 'fileLocation' attribute indicates the address where the file can - be retrieved. The address includes the file transfer protocol (schema). + The 'fileLocation' attribute indicates the address where the file can + be retrieved. The address includes the file transfer protocol (schema). Allowed file transfer protocols are 'sftp', 'ftpes' and 'https'. - The value of 'fileLocation' can be identical to or different from the - address of the 'File' instance. The attribute 'fileContent' is - provided for retrieving the actual file content. When identifying in - the Read request a 'File' instance and specifying only the - 'fileContent' attribute be returned, then only the file content shall - be returned in the response. Note, as usual, multiple attributes can - be specified to be returned, so that the file content together with - some or all file meta data attributes can be returned in response to + The value of 'fileLocation' can be identical to or different from the + address of the 'File' instance. The attribute 'fileContent' is + provided for retrieving the actual file content. When identifying in + the Read request a 'File' instance and specifying only the + 'fileContent' attribute be returned, then only the file content shall + be returned in the response. Note, as usual, multiple attributes can + be specified to be returned, so that the file content together with + some or all file meta data attributes can be returned in response to a single request. - In case the 'fileLocation' specifies a location different than the - 'File' object location, then the attribute 'fileContent' cannot be - used for retrieving the file content. For example, the 'File' object + In case the 'fileLocation' specifies a location different than the + 'File' object location, then the attribute 'fileContent' cannot be + used for retrieving the file content. For example, the 'File' object location may be given by 'https://companyA.com/ManagedElement=1/Files=1/File=1' and the value of the 'fileLocation' attribute by 'sftp://companyA.com/datastore/fileName.xml' - In this case the file needs to be retrieved using 'sftp' from - 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the + In this case the file needs to be retrieved using 'sftp' from + 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the 'fileContent' attribute shall return an error. - When the file retrieval NRM fragment is used together with a data - collection job ('PerfMetricJob' or 'TraceJob') the following + When the file retrieval NRM fragment is used together with a data + collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - - The attributes 'jobRef' and 'jobId' shall be supported and + - The attributes 'jobRef' and 'jobId' shall be supported and present. They shall identify the job that the file is related to. - The attributes 'jobRef' and 'jobId' allow to set notification filters - in the subscription in such a way that only 'notifyMOICreation', - notifyMOIChanges and - 'notifyMOIDeletion' notifications are sent to subscribed MnS consumers - if the created or deleted 'File' instance represents data related to + The attributes 'jobRef' and 'jobId' allow to set notification filters + in the subscription in such a way that only 'notifyMOICreation', + notifyMOIChanges and + 'notifyMOIDeletion' notifications are sent to subscribed MnS consumers + if the created or deleted 'File' instance represents data related to jobs the subscribed MnS consumer created or is interested in. - Upon creation of a 'File' instance, a notification of type - 'notifyMOICreation' or 'notifyMOIChanges' shall be emitted to - subscribed MnS consumers as - usual. For the case that the file contains performance metric data - ('fileDataType' is 'PERFORMANCE') the MnS producer shall emit either - a notification of type 'notifyMOICreation', 'notifyMOICreation' or - of type - 'notifyFileReady'. The MnS consumer selects the notification type he + Upon creation of a 'File' instance, a notification of type + 'notifyMOICreation' or 'notifyMOIChanges' shall be emitted to + subscribed MnS consumers as + usual. For the case that the file contains performance metric data + ('fileDataType' is 'PERFORMANCE') the MnS producer shall emit either + a notification of type 'notifyMOICreation', 'notifyMOICreation' or + of type + 'notifyFileReady'. The MnS consumer selects the notification type he wishes to receive with the subscription created on the MnS producer. - The 'objectClass' and 'objectInstance' parameters in the notification - header of 'notifyFileReady' shall identify the new 'File' instance, - instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' - or 'ManagementNode'as described in 3GPP TS 28.532, - clause 11.6.1.1.1 for the case that 'notifyFileReady' is used as + The 'objectClass' and 'objectInstance' parameters in the notification + header of 'notifyFileReady' shall identify the new 'File' instance, + instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' + or 'ManagementNode'as described in 3GPP TS 28.532, + clause 11.6.1.1.1 for the case that 'notifyFileReady' is used as part of the file data reporting MnS. - The notification 'notifyFilePreparationError' shall be supported as - well by the 'File' object. It shall be sent when an error occurs - during the preparation of the file. No 'notifyFileReady' or - 'notifMOICreation shall be sent in that case. The 'objectClass' - and 'objectInstance' parameters of the notification header shall - identify the new 'File' instance representing the corrupted file, - instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' - or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 - for the case that 'notifyFilePreparationError' is used as part of - 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. 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 + The notification 'notifyFilePreparationError' shall be supported as + well by the 'File' object. It shall be sent when an error occurs + during the preparation of the file. No 'notifyFileReady' or + 'notifMOICreation shall be sent in that case. The 'objectClass' + and 'objectInstance' parameters of the notification header shall + identify the new 'File' instance representing the corrupted file, + instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' + or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 + for the case that 'notifyFilePreparationError' is used as part of + 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. 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 ; @@ -327,5 +327,5 @@ module _3gpp-common-files { } } } - } + } } diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index b067ace3f..2a2710c0a 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -12,23 +12,23 @@ module _3gpp-common-fm { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines a Fault Management model - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 - revision 2025-03-25 { reference "CR-0025 CR-0026"; } - revision 2024-05-12 { + revision 2025-03-25 { reference "CR-0025 CR-0026"; } + revision 2024-05-12 { 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 ; } - revision 2024-02-24 { reference CR-0346; } + reference CR-0008 ; + } + revision 2024-03-06 { reference CR-0333 ; } + revision 2024-02-24 { reference CR-0346; } revision 2024-01-18 { description "The specification of the file is moved from 28.623 to 28.532"; - reference "28.623 CR-0315"; + reference "28.623 CR-0315"; } - revision 2023-09-18 { reference CR-0271; } + revision 2023-09-18 { reference CR-0271; } revision 2023-05-10 { reference CR-0250; } revision 2022-10-24 { reference CR-0196; } revision 2021-08-08 { reference "CR-0132"; } @@ -37,10 +37,10 @@ module _3gpp-common-fm { revision 2020-02-24 { reference "S5-201365"; } feature AcknowledgeByConsumer { - description "Indicates whether alarm acknowledgement by the consumer is + description "Indicates whether alarm acknowledgement by the consumer is supported."; } - + typedef eventType { type enumeration { enum OTHER { @@ -139,15 +139,15 @@ module _3gpp-common-fm { } grouping ThresholdHysteresisGrp { - description "The ThresholdHysteresis defines the threshold boundaries to + 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 + 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; @@ -156,37 +156,37 @@ module _3gpp-common-fm { } } mandatory true; - description "Higher value of a threshold with hysteris, the integer type - is used for counter thresholds and the float type for gauge + 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 + 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 + 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 + 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 + description "Indicates for gauge thresholds that the threshold crossing occurred when going down, applicable only to gauge thresholds."; max-elements 1; key idx; @@ -194,41 +194,41 @@ module _3gpp-common-fm { 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, + 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 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 + 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 + + 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 + description "The name of the monitored measurement that crossed the threshold and that caused the notification (Rec. ITU-T X. 733 "; } @@ -240,19 +240,19 @@ module _3gpp-common-fm { } } 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 + 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 + 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; @@ -262,17 +262,17 @@ module _3gpp-common-fm { 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) + 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 @@ -382,7 +382,7 @@ module _3gpp-common-fm { leaf backUpObject { type types3gpp:DistinguishedName; config false ; - description "Backup object of the alarmed object as defined in + description "Backup object of the alarmed object as defined in ITU-T Rec. X. 733"; yext3gpp:notNotifyable; } @@ -412,25 +412,25 @@ module _3gpp-common-fm { list stateChangeDefinition { key attributeName; config false ; - description "Indicates MO attribute value changes associated with the - alarm for state attributes of the monitored entity (state transitions). - The change is reported with the name of the state attribute, the new - value and an optional old value. + description "Indicates MO attribute value changes associated with the + alarm for state attributes of the monitored entity (state transitions). + The change is reported with the name of the state attribute, the new + value and an optional old value. See definition in ITU-T Recommendation X.733 [4] clause 8.1.2.10."; yext3gpp:notNotifyable; - + leaf attributeName { type string; } - + anydata newValue { mandatory true; - description "The new value of the attribute. The content of this data + description "The new value of the attribute. The content of this data node shall be in accordance with the data model for the attribute."; } - + anydata oldValue{ - description "The old value of the attribute. The content of this data + description "The old value of the attribute. The content of this data node shall be in accordance with the data model for the attribute."; } } @@ -439,18 +439,18 @@ module _3gpp-common-fm { key attributeName; config false ; yext3gpp:notNotifyable; - description "Attributes of the monitored entity and their - values at the time the alarm occurred that are of interest for the + description "Attributes of the monitored entity and their + values at the time the alarm occurred that are of interest for the alarm report."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; leaf attributeName { type string; } - + anydata value { mandatory true; - description "The value of the attribute. The content of this data + description "The value of the attribute. The content of this data node shall be in accordance with the data model for the attribute."; } } @@ -572,15 +572,15 @@ module _3gpp-common-fm { config false ; yext3gpp:notNotifyable; } - + list correlatedNotifications { key sourceObjectInstance; description "List of correlated notifications"; - + leaf sourceObjectInstance { type types3gpp:DistinguishedName; } - + leaf-list notificationIds { type int32; min-elements 1; @@ -634,14 +634,14 @@ module _3gpp-common-fm { type types3gpp:DistinguishedName; config false; yext3gpp:notNotifyable; - description "Identifies, the part of the alarm scope that may not be + description "Identifies, the part of the alarm scope that may not be reliable. - If this parameter is equal to the instance carried in systemDN, + If this parameter is equal to the instance carried in systemDN, then all AlarmRecord instances in the AlarmList may not be reliable. - If this parameter is equal to some instance represented by - MonitoredEntity, then only AlarmRecord related to this instance and + If this parameter is equal to some instance represented by + MonitoredEntity, then only AlarmRecord related to this instance and its descendants may not be reliable."; } } diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 70e53be99..aca6caf86 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -1,8 +1,8 @@ module _3gpp-common-managed-element { - yang-version 1.1; + yang-version 1.1; namespace urn:3gpp:sa5:_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; } @@ -20,42 +20,42 @@ module _3gpp-common-managed-element { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines ManagedElement which will be augmented + description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2025, 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) Integration Reference Point (IRP); Solution Set (SS) definitions - + 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - - 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 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 ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-10 { reference CR-0257; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-09-30 { reference "CR-0191"; } - revision 2021-01-16 { reference "CR-0120"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2021-01-16 { reference "CR-0120"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2020-05-12 { reference "CR0084"; } revision 2020-02-24 { reference "S5-201365"; } revision 2019-06-17 { reference " S5-203316"; } revision 2019-05-08 { reference "Initial revision"; } - + feature ECMappingRuleUnderManagedElement { description "ECMappingRule shall be contained under ManagedElement."; } @@ -63,7 +63,7 @@ module _3gpp-common-managed-element { feature EcmConnectionInfoUnderManagedElement { description "The EcmConnectionInfo shall be contained under ManagedElement"; - } + } feature Configurable5QISetUnderManagedElement { description "The Configurable5QISet shall be contained under ManagedElement"; @@ -77,7 +77,7 @@ module _3gpp-common-managed-element { description "The MeasurementSubtree shall be contained under ManagedElement"; } - + feature SubscriptionControlUnderManagedElement { description "The SubscriptionControlSubtree shall be contained under ManagedElement"; @@ -91,7 +91,7 @@ module _3gpp-common-managed-element { feature FmUnderManagedElement { description "The FmSubtree shall be contained under ManagedElement"; } - + feature TraceUnderManagedElement { description "The TraceSubtree shall be contained under ManageElement"; } @@ -129,121 +129,121 @@ module _3gpp-common-managed-element { description "Class representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under ManagedElement."; - } + } feature StmCtrlUnderManagedElement { 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 - purpose of being monitored and/or controlled. MEs may perform element - management functionality. - An ME (and its contained Function_(s)) may or may not be geographically - distributed. An ME (and its contained Function_(s)) is often referred + An ME communicates with a manager (directly or indirectly) for the + purpose of being monitored and/or controlled. MEs may perform element + management functionality. + An ME (and its contained Function_(s)) may or may not be geographically + distributed. An ME (and its contained Function_(s)) is often referred to as a Network Element"; - + leaf dnPrefix { - description "Provides naming context that allows the Managed - Elements to be partitioned into logical domains. + description "Provides naming context that allows the Managed + Elements to be partitioned into logical domains. 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 { description "A user-friendly (and user assignable) name of this object."; type string; } - + leaf locationName { - description "The physical location (e.g. an address) of an entity - represented by a (derivative of) ManagedElement_. It may contain no - information to support the case where the derivative of + description "The physical location (e.g. an address) of an entity + represented by a (derivative of) ManagedElement_. It may contain no + information to support the case where the derivative of ManagedElement_ needs to represent a distributed multi-location NE."; config false; type string; } - + leaf-list managedBy { - description "Relates to the role played by ManagementSystem_ in the - between ManagedSystem_ and ManagedElement_. This attribute contains - a list of the DN(s) of the related subclasses of + description "Relates to the role played by ManagementSystem_ in the + between ManagedSystem_ and ManagedElement_. This attribute contains + a list of the DN(s) of the related subclasses of ManagementSystem_ instance(s)."; config false; type types3gpp:DistinguishedName; } - + leaf-list managedElementTypeList { description "The type of functionality provided by the ManagedElement. - It may represent one ME functionality or a combination of - more than one functionality. - 1) The allowed values of this attribute are the names of the IOC(s) - that are (a) derived/subclassed from ManagedFunction and (b) directly - name-contained by ManagedElement IOC (on the first level below - ManagedElement), but with the string 'Function' excluded. - 2) If a ManagedElement contains multiple instances of a ManagedFunction + It may represent one ME functionality or a combination of + more than one functionality. + 1) The allowed values of this attribute are the names of the IOC(s) + that are (a) derived/subclassed from ManagedFunction and (b) directly + name-contained by ManagedElement IOC (on the first level below + ManagedElement), but with the string 'Function' excluded. + 2) If a ManagedElement contains multiple instances of a ManagedFunction this attribute will not contain repeated values. - 3) The capitalisation (usage of upper/lower case) of characters in this - attribute is insignificant. Thus, the NodeB should be case insensitive + 3) The capitalisation (usage of upper/lower case) of characters in this + attribute is insignificant. Thus, the NodeB should be case insensitive when reading these values. - 4) Two examples of allowed values are: + 4) Two examples of allowed values are: - NodeB; - HLR, VLR."; config false; min-elements 1; type string; - } + } } - + grouping ManagedElementGrp { - description "Represents telecommunications equipment or - TMN entities within the telecommunications network providing support + description "Represents telecommunications equipment or + TMN entities within the telecommunications network providing support and/or service to the subscriber."; - + uses ManagedElement_Grp; - + leaf vendorName { config false; type string; } - + leaf userDefinedState { type string; description "An operator defined state for operator specific usage"; } - + leaf swVersion { config false; type string; } - + leaf priorityLabel { type uint32; mandatory true; - } - + } + uses meas3gpp:SupportedPerfMetricGroupGrp; leaf-list supportedTraceMetrics { type string; config false; - description "List of trace metrics. When this attribute is contained in - a managed object it defines the trace metrics supported for this + description "List of trace metrics. When this attribute is contained in + a managed object it defines the trace metrics supported for this object and all descendant objects. - Trace metrics include trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, - see TS 32.422. Trace metrics are identified with their metric - identifier. The metric identifier is constructed as defined + Trace metrics include trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, + see TS 32.422. Trace metrics are identified with their metric + identifier. The metric identifier is constructed as defined in clause 10 of TS 32.422."; } } @@ -283,28 +283,28 @@ module _3gpp-common-managed-element { multiple ManagedFunction IOC instances. In this case, the ManagedElement IOC may be used to represent a NE with combined ManagedFunction funcationality (as indicated by the managedElementType attribute and the - contained instances of different ManagedFunction IOCs).For example, a + contained instances of different ManagedFunction IOCs).For example, a ManagedElement is used to represent the combined functionality of 3GPP defined gNBCUCPFuntion, gNBCUUPFunction and gNBDUFunction"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses ManagedElementGrp; } - + uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderManagedElement; } - + uses subscr3gpp:SubscriptionControlSubtree { if-feature SubscriptionControlUnderManagedElement; } - + uses subscr3gpp:SupportedNotificationsSubtree { if-feature SupportedNotificationsUnderManagedElement; - } - + } + uses fm3gpp:FmSubtree { if-feature FmUnderManagedElement; } @@ -315,7 +315,7 @@ module _3gpp-common-managed-element { uses files3gpp:FilesSubtree { if-feature FilesUnderManagedElement; - } + } uses fiveqi3gpp:Configurable5QISetSubtree { if-feature Configurable5QISetUnderManagedElement; @@ -328,13 +328,13 @@ module _3gpp-common-managed-element { uses ecmap3gpp:NRECMappingRuleSubtree { if-feature ECMappingRuleUnderManagedElement; } - + 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 f7a5a379f..edaf3449f 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -9,38 +9,38 @@ module _3gpp-common-managed-function { import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } 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 + description "The module defines a base class/grouping for major 3GPP functions. - Copyright 2025, 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 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2025-07-25 { reference "CR-"; } - 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; } + revision 2025-07-25 { reference "CR-"; } + 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; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-02 { reference "CR-0753"; } revision 2022-10-24 { reference CR-0196; } revision 2022-01-07 { reference "CR-0146"; } - revision 2021-01-25 { reference "CR-0122"; } - revision 2020-09-30 { reference "CR-bbbb"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } + revision 2021-01-25 { reference "CR-0122"; } + revision 2020-09-30 { reference "CR-bbbb"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } revision 2020-06-23 { reference "CR-085"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-11-21 { reference "S5-197275, S5-197735"; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-18 { reference "Initial revision"; } @@ -55,21 +55,21 @@ module _3gpp-common-managed-function { feature StmCtrlUnderManagedFunction { description "The StmCtrlSubtree shall be contained under ManagedFunction"; - } - + } + grouping OperationGrp { description "This data type represents an operation."; reference "3gpp TS 28.622"; - + leaf name { type string; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; } - + leaf-list allowedNFTypes { - type string; + type string; min-elements 1; description "The type of the managed NF service instance The specifc values allowed are described in TS 23.501"; @@ -88,39 +88,39 @@ module _3gpp-common-managed-function { reference "3GPP TS 23.502"; } } - - grouping ManagedNFServiceGrp { + + grouping ManagedNFServiceGrp { description "A ManagedNFService represents a Network Function (NF) service."; reference "Clause 7 of 3GPP TS 23.501."; leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; - } - + } + leaf nFServiceType { config false; mandatory true; - type string; + type string; description "The type of the managed NF service instance The specifc values allowed are described in clause 7.2 of TS 23.501"; yext3gpp:notNotifyable; yext3gpp:inVariant; } - + list sAP { - key "host port"; + key "host port"; min-elements 1; max-elements 1; description "The service access point of the managed NF service instance"; - uses types3gpp:SAPGrp; + uses types3gpp:SAPGrp; } - + list operations { key name; min-elements 1; uses OperationGrp ; - description "Set of operations supported by the managed NF + description "Set of operations supported by the managed NF service instance"; } @@ -136,16 +136,16 @@ module _3gpp-common-managed-function { mandatory true; description "Describes whether the resource is installed and working"; } - + leaf usageState { type types3gpp:usageState ; config false; mandatory true; - description "Describes whether the resource is actively in use at a - specific instant, and if so, whether or not it has spare + description "Describes whether the resource is actively in use at a + specific instant, and if so, whether or not it has spare capacity for additional users."; } - + leaf registrationState { type enumeration { enum REGISTERED; @@ -154,94 +154,94 @@ module _3gpp-common-managed-function { config false; } } - - grouping Function_Grp { + + grouping Function_Grp { description "A base grouping for 3GPP functions."; leaf userLabel { type string; 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."; - + 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; + 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); + 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 + 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; + 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"; + section 9.4.2"; } - + leaf flavourId { type string ; - description "Identifier of the VNF Deployment Flavour applied to this + description "Identifier of the VNF Deployment Flavour applied to this VNF instance."; - reference "ETSI GS NFV-IFA 008 v2.1.1: + reference "ETSI GS NFV-IFA 008 v2.1.1: Network Functions Virtualisation (NFV) Management and Orchestration"; } leaf autoScalable { type boolean ; - description "Indicator of whether the auto-scaling of this + 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 + 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 idx { type uint32; } leaf siteIdentification { type string; mandatory true; - description "The identification of the site where the + description "The identification of the site where the ManagedFunction resides."; } - + leaf siteLatitude { type decimal64 { fraction-digits 4; - range "-90.0000..+90.0000"; + 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 + 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"; + 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 + 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)."; } @@ -251,97 +251,97 @@ module _3gpp-common-managed-function { 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 + 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 + 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 + 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 + 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 + description "Abstract root class to be inherited/reused by classes representing 3GPP functions. - + Anywhere this grouping is used by classes inheriting from ManagedFunction - the list representing the inheriting class needs to include all - contained classes of ManagedFunction too. Contained classes are - either - - augmented into the Function class or - - shall be included in the list representing the inheriting class + the list representing the inheriting class needs to include all + contained classes of ManagedFunction too. Contained classes are + either + - augmented into the Function class or + - shall be included in the list representing the inheriting class using the grouping ManagedFunctionContainedClasses: 1) EP_RP solved using augment - 2) uses mf3gpp:ManagedFunctionContainedClasses; + 2) uses mf3gpp:ManagedFunctionContainedClasses; "; uses Function_Grp; list vnfParametersList { - key "vnfInstanceId"; + 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 + 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"; uses PeeParametersGrp; description "This attribute contains the parameter list for the control - and monitoring of power, energy and environmental parameters of + and monitoring of power, energy and environmental parameters of ManagedFunction instance(s). "; } - + leaf priorityLabel { type uint32; } uses meas3gpp:SupportedPerfMetricGroupGrp; - + leaf-list supportedTraceMetrics { type string; config false; - description "List of trace metrics. When this attribute is contained in - a managed object it defines the trace metrics supported for this + description "List of trace metrics. When this attribute is contained in + a managed object it defines the trace metrics supported for this object and all descendant objects. - Trace metrics include trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, - see TS 32.422. Trace metrics are identified with their metric - identifier. The metric identifier is constructed as defined + Trace metrics include trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, + see TS 32.422. Trace metrics are identified with their metric + identifier. The metric identifier is constructed as defined in clause 10 of TS 32.422."; - } + } } grouping ManagedFunctionContainedClasses { - description "A grouping used to containe classes (lists) contained by + description "A grouping used to containe classes (lists) contained by the abstract IOC ManagedFunction"; list ManagedNFService { description "Represents a Network Function (NF)"; @@ -352,15 +352,15 @@ module _3gpp-common-managed-function { uses ManagedNFServiceGrp; } } - + uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderManagedFunction ; - } - + } + uses trace3gpp:TraceSubtree { if-feature TraceUnderManagedFunction ; } - + uses stm3gpp:StmCtrlSubTree { if-feature StmCtrlUnderManagedFunction ; } diff --git a/yang-models/_3gpp-common-management-node.yang b/yang-models/_3gpp-common-management-node.yang index 44a92e78d..d569b23be 100644 --- a/yang-models/_3gpp-common-management-node.yang +++ b/yang-models/_3gpp-common-management-node.yang @@ -1,9 +1,9 @@ module _3gpp-common-management-node { - yang-version 1.1; + yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-common-management-node; prefix "mmgmtnode3gpp"; - - import _3gpp-common-top { prefix top3gpp; } + + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp ; } import _3gpp-common-subnetwork { prefix subnet3gpp ; } @@ -11,22 +11,22 @@ module _3gpp-common-management-node { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines ManagementNode IOCs - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 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) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } grouping ManagementSystem_Grp { @@ -36,58 +36,58 @@ module _3gpp-common-management-node { type string; description "A user-friendly (and user assignable) name of this object."; } - + leaf-list managedElements { type types3gpp:DistinguishedName; config false; - description "Contains a list of the DN(s) of the related subclasses of + description "Contains a list of the DN(s) of the related subclasses of ManagedElement_ instance(s)."; } } - + grouping ManagementNodeGrp { uses ManagementSystem_Grp; - + leaf vendorName { type string; config false; } - + leaf userDefinedState { type string; description "An operator defined state for operator specific usage"; } - + leaf locationName { type string; config false; description "The physical location of this entity (e.g. an address)."; } - + leaf swVersion { type string; config false; } } - augment /subnet3gpp:SubNetwork { + augment /subnet3gpp:SubNetwork { list ManagementNode { - description "Represents a telecommunications management system (EM) within - the TMN that contains functionality for managing a number of - ManagedElements (MEs). The management system communicates with the MEs - directly or indirectly over one or more interfaces for the purpose + description "Represents a telecommunications management system (EM) within + the TMN that contains functionality for managing a number of + ManagedElements (MEs). The management system communicates with the MEs + directly or indirectly over one or more interfaces for the purpose of monitoring and/or controlling these MEs. - - This class has similar characteristics as the ManagedElement. The - main difference between these two classes is that the ManagementNode - has a special association to the managed elements that it is + + This class has similar characteristics as the ManagedElement. The + main difference between these two classes is that the ManagementNode + has a special association to the managed elements that it is responsible for managing."; - - key id; + + key id; uses top3gpp:Top_Grp; container attributes { uses ManagementNodeGrp; - } + } } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index bd15c8a0e..5aa4a80ed 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -10,9 +10,9 @@ module _3gpp-common-managementdatacollection { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - + description "Handling management data collection - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -25,27 +25,27 @@ module _3gpp-common-managementdatacollection { Information Service (IS)"; revision 2025-07-19 { reference CR-0551; } - revision 2025-02-07 { reference "CR-0461 CR-0505"; } - revision 2024-04-12 { reference CR-0346; } + revision 2025-02-07 { reference "CR-0461 CR-0505"; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-18 { reference CR-0299 ; } revision 2023-11-06 { reference "CR-0305"; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0194"; } - + grouping ManagementDataGrp { - description "This <> defines the management data which is - requested. It is a choice between - - a list of data categories (attribute mgtDataCategory) This may include - 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' - etc. The mapping of exact measurement with the requested category will be - done at the producer and is implementation specific. - - a list of management data identified with their name (attribute + description "This <> defines the management data which is + requested. It is a choice between + - a list of data categories (attribute mgtDataCategory) This may include + 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' + etc. The mapping of exact measurement with the requested category will be + done at the producer and is implementation specific. + - a list of management data identified with their name (attribute 'mgtDataName'). The management data name presents a specific single - measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or - 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. - measurement families such as RRU (radio resource utilization) or - MM (mobility management) in case of PM, see TS 28.552 [20], or group of + measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or + 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. + measurement families such as RRU (radio resource utilization) or + MM (mobility management) in case of PM, see TS 28.552 [20], or group of measurements such as 'immediateMdt.nr' in case of MDT, see TS 32.422)."; choice managementData { case mgtDataCategory { @@ -100,23 +100,23 @@ module _3gpp-common-managementdatacollection { (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF reports) defined in TS 32.422, the name (metric identifier) is defined in clause 10 of TS 32.422. - - For non-3GPP specified managment data the name is defined + + For non-3GPP specified managment data the name is defined elsewhere."; } } mandatory true; } } - + grouping GeoAreaToCellMappingGrp { - description "Represents the GeoAreaToCellMapping data type. - - The mapping of the geographical area to cells is performed at + description "Represents the GeoAreaToCellMapping data type. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; - + list geoArea { - description "It specifies the geographical area using the cordinates of + description "It specifies the geographical area using the cordinates of the corners of a convex polygon."; key idx; max-elements 1; @@ -125,48 +125,48 @@ module _3gpp-common-managementdatacollection { } uses types3gpp:GeoAreaGrp; } - + leaf associationThreshold { type uint8 { range 1..100; } yext3gpp:inVariant; - description "It specifies the threshold of coverage area in + description "It specifies the threshold of coverage area in percentage whether a cell belongs to the geographical area or not. - If this attribute is absent, the location of the base station - antenna determines whether a cell belongs to the geographical + If this attribute is absent, the location of the base station + antenna determines whether a cell belongs to the geographical area or not."; } } grouping AreaOfInterestGrp { - description "It specifies a location(s) from where the management data - shall be collected."; - + description "It specifies a location(s) from where the management data + shall be collected."; + list geoAreaToCellMapping { - description "Contains a geographical area and an association threshold. - The geo-area is defined as a convex polygon using the attribute + description "Contains a geographical area and an association threshold. + The geo-area is defined as a convex polygon using the attribute 'geoArea'. - The MnS producer shall map the geographical area to cells. There are - two evaluation criteria whether a cell belongs to a geographical area - or not. If attribute 'associationThreshold' is absent, the location - of the base station antenna determines the belonging. If attribute - 'associationThreshold' is configured, the coverage area is considered. - The attribute 'associationThreshold' determines the lower boundary of - the coverage ratio. For example, if the 'associationThreshold' is - configured to 60%, a cell shall be considered as included in the - geographical area if at least 60% of the coverage area of that - cell overlaps with the specified geographical area. - - The mapping of the geographical area to cells is performed at + The MnS producer shall map the geographical area to cells. There are + two evaluation criteria whether a cell belongs to a geographical area + or not. If attribute 'associationThreshold' is absent, the location + of the base station antenna determines the belonging. If attribute + 'associationThreshold' is configured, the coverage area is considered. + The attribute 'associationThreshold' determines the lower boundary of + the coverage ratio. For example, if the 'associationThreshold' is + configured to 60%, a cell shall be considered as included in the + geographical area if at least 60% of the coverage area of that + cell overlaps with the specified geographical area. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; key idx; leaf idx { type string; } uses GeoAreaToCellMappingGrp; } - + list taiList { description "Tracking Area Identity list"; key idx; @@ -175,17 +175,17 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } uses types3gpp:TaiGrp; } - + leaf-list nrCellIdList { type string; description "List of NR cells identified by NG-RAN CGI"; } - + leaf-list eutraCellIdList { type string; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - + leaf-list utraCellIdList { type string; description "List of UTRAN cells identified by UTRAN CGI"; @@ -199,7 +199,7 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } - uses AreaOfInterestGrp; + uses AreaOfInterestGrp; description "It specifies a location(s) from where the management data shall be collected. It is defined in terms of TAI(s)."; } @@ -232,11 +232,11 @@ module _3gpp-common-managementdatacollection { subnet should be targeted. Please refer to 3GPP TS 23.501: 'System Architecture for the 5G System'"; } - + leaf-list objectInstances { type types3gpp:DistinguishedName; yext3gpp:inVariant; - description "List of managed object instances. Each object instance is + description "List of managed object instances. Each object instance is identified by its DN."; } } @@ -255,7 +255,7 @@ module _3gpp-common-managementdatacollection { grouping ManagementDataCollectionGrp { uses ManagementDataGrp { - description "This attribute defines the list of management data that are + description "This attribute defines the list of management data that are requested."; } @@ -299,43 +299,43 @@ module _3gpp-common-managementdatacollection { description "It specifies whether the required data is reported per S-NSSAI or per 5QI."; } - + leaf condition { type string; mandatory true; yext3gpp:inVariant; - description "Logical expression of one or several condition(s). + description "Logical expression of one or several condition(s). - The actual syntax and capabilities of condition is SS specific. However, - each SS should support condition consisting of one or several assertions - that may be grouped using the logical operators AND, OR and NOT. Only if - the whole expression of condition evaluates TRUE, the attribute + The actual syntax and capabilities of condition is SS specific. However, + each SS should support condition consisting of one or several assertions + that may be grouped using the logical operators AND, OR and NOT. Only if + the whole expression of condition evaluates TRUE, the attribute conditionStatus will be TRUE. - Each assertion is a pointer to a Boolean parameter or a logical - expression of attribute existence or attribute value comparison + Each assertion is a pointer to a Boolean parameter or a logical + expression of attribute existence or attribute value comparison ('equal to X, less than Y' etc.). An empty string is not allowed."; } - + list processMonitor { config false; min-elements 1; max-elements 1; key idx; - leaf idx { type string; } + leaf idx { type string; } description "Indicates the process of the ManagementDataCollection MOI."; } - + leaf consolidateOutput { type boolean; mandatory true; yext3gpp:inVariant; - description "Indicates whether the management data collection output will + description "Indicates whether the management data collection output will be consolidated into a single file per reporting period."; } - + leaf jobId { type string; yext3gpp:inVariant; @@ -354,15 +354,15 @@ module _3gpp-common-managementdatacollection { description "This IOC represents a management data collection request job. The requested data is of kind Trace, MDT (Minimization of Drive Test), RLF (Radio Link Failure) report, RCEF (RRC Connection - Establishment Failure) report, RRC report, + Establishment Failure) report, RRC report, PM (performance measurements), KPI (end-to-end key performance indicators) or a combination of these. The attribute managementData defines the management data which shall be reported. This may either include a list of data categories or a list of management data identified with their name. For further details - see TS 28.622 clause 4.3.50. - + see TS 28.622 clause 4.3.50. + The targetNodeFilter attribute can be used to target object instance(s) producing the required management data. It is assumed that the consumer may not have detailed knowledge @@ -376,71 +376,71 @@ module _3gpp-common-managementdatacollection { To activate the production of the requested data, a MnS consumer has to create a ManagementDataCollection object instance on the MnS producer. - The attribute jobId is used to identify a management data collection + The attribute jobId is used to identify a management data collection request. - - The production and reporting of the management data can be constrained - by conditions such that only when the conditions are satisfied shall - management data collection be enabled. For example, a MnS consumer can - request to create two ManagementDataCollection instances. One can be - configured with high data producing and reporting period on a set of - conditions (e.g, to reduce transmission cost when network performance - metric is in normal range). Another can be configured with low data - producing and reporting period on another set of conditions (e.g. to - enable network optimization when network performance metric is in + + The production and reporting of the management data can be constrained + by conditions such that only when the conditions are satisfied shall + management data collection be enabled. For example, a MnS consumer can + request to create two ManagementDataCollection instances. One can be + configured with high data producing and reporting period on a set of + conditions (e.g, to reduce transmission cost when network performance + metric is in normal range). Another can be configured with low data + producing and reporting period on another set of conditions (e.g. to + enable network optimization when network performance metric is in abnormal range). - The MnS producer may derive multiple jobs (PerfMetricJob, TraceJob) - from a single ManagementDataCollection job for collecting the required - management data. The jobId of the request is used to identify the - output. The value is also used to correlate the derived jobs which + The MnS producer may derive multiple jobs (PerfMetricJob, TraceJob) + from a single ManagementDataCollection job for collecting the required + management data. The jobId of the request is used to identify the + output. The value is also used to correlate the derived jobs which will have the same jobId value as the ManagementDataCollection. - If the MnS producer receives the collected data from multiple sources, - it will consolidate the data into a set of management data for + If the MnS producer receives the collected data from multiple sources, + it will consolidate the data into a set of management data for reporting based on the value of the attribute consolidateOutput. - For consolidation of file-based management data the attribute + For consolidation of file-based management data the attribute consolidateOutput controls: - - True: the MnS Producer will combine the file output from jobs used - to collect the required management data into a single output file as + - True: the MnS Producer will combine the file output from jobs used + to collect the required management data into a single output file as follows: - File is in compressed format, i.e. zip. - File shall contain individual output files from each configured job - Each file retains its original filename - Each file retains it original content - - Consolidated filename uses naming convention defined in, + - Consolidated filename uses naming convention defined in, TS 28.532 clause 11.3.2.1.4 with the following: - - is a combination of the management data types included in + - is a combination of the management data types included in the consolidated output - - is omitted + - is omitted - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. - Subject to the reporting method, the MnS Consumer may receive file - related notifications. When consolidated output is selected the - MnS Producer will create file notifications for the consolidated files. - When consolidated output is not selected, the MnS Producer will create - the notification subscriptions on behalf of the MnS Consumer and the + Subject to the reporting method, the MnS Consumer may receive file + related notifications. When consolidated output is selected the + MnS Producer will create file notifications for the consolidated files. + When consolidated output is not selected, the MnS Producer will create + the notification subscriptions on behalf of the MnS Consumer and the MnS Consumer will receive notifications directly from the derived jobs. - The attribute collectionTimeWindow specifies the time window for which - the management data should be reported. The attributes startTime and + The attribute collectionTimeWindow specifies the time window for which + the management data should be reported. The attributes startTime and the endTime can be in the past, present or in the future. - The attribute reportingCtrl specifies the method and associated control - parameters for reporting the produced management data to MnS consumers. - Three methods are available: file-based reporting with selection of the - file location by the MnS producer, file-based reporting with selection + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced management data to MnS consumers. + Three methods are available: file-based reporting with selection of the + file location by the MnS producer, file-based reporting with selection of the file location by the MnS consumer and stream-based reporting. - The attribute dataScope configures, whether the management data should + The attribute dataScope configures, whether the management data should be reported per S-NSSAI or per 5QI or per PLMN, if applicable. - The attribute processMonitor allows the MnS consumer to monitor the - status of the management data collection represented by the object + The attribute processMonitor allows the MnS consumer to monitor the + status of the management data collection represented by the object ManagementDataCollection. - The MnS producer indicates in the attribute progressStateInfo the + The MnS producer indicates in the attribute progressStateInfo the state of the management data collection: - NOT_STARTED - RUNNING diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 2c23d8b18..400c30014 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -7,7 +7,7 @@ module _3gpp-common-measurements { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-files { prefix files3gpp; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -43,8 +43,8 @@ module _3gpp-common-measurements { Measurements can be contained under ManagedElement, SubNetwork, or any list representing a class inheriting from Subnetwork or - ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + ManagedFunction. + 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) @@ -59,12 +59,12 @@ module _3gpp-common-measurements { revision 2025-08-01 { reference CR-0551; } 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; } + revision 2025-01-29 { reference CR-0512; } + revision 2024-11-01 { reference CR-0488; } revision 2024-05-06 { reference CR-0359; } - revision 2024-02-24 { reference CR-0346; } + revision 2024-02-24 { reference CR-0346; } revision 2023-11-18 { reference "CR-0299 CR-0305"; } - revision 2023-09-18 { reference CR-0271; } + revision 2023-09-18 { reference CR-0271; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0240"; } revision 2023-02-14 { reference "CR-0234"; } @@ -92,15 +92,15 @@ module _3gpp-common-measurements { type string; min-elements 1; description "List of performance metrics. - Performance metrics include measurements defined in TS 28.552 and KPIs - defined in TS 28.554 [28]. Performance metrics can also be specified - by other SDOs, or be vendor specific. Performance metrics are + Performance metrics include measurements defined in TS 28.552 and KPIs + defined in TS 28.554 [28]. Performance metrics can also be specified + by other SDOs, or be vendor specific. Performance metrics are identified with their names. For measurements defined in TS 28.552 the name is constructed as the bullet e) of the measurement definition. - A name can also identify a vendor specific performance metric or a + A name can also identify a vendor specific performance metric or a group of vendor specific performance metrics."; } @@ -157,7 +157,7 @@ module _3gpp-common-measurements { range "0..max"; } } - must '. >= 0'; + must '. >= 0'; description "Hysteresis of a threshold. If this attribute is present the monitored performance metric is not compared against the threshold value as specified by the thresholdValue attribute but @@ -214,7 +214,7 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Granularity periods supported for the associated + description "Granularity periods supported for the associated measurement types. The period is defined in seconds."; } @@ -232,7 +232,7 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Reporting periods supported for the associated + description "Reporting periods supported for the associated measurement types. The period is defined in seconds."; } } @@ -304,12 +304,12 @@ module _3gpp-common-measurements { } } } - + leaf _linkToFiles { type string ; config false; mandatory true; - yext3gpp:notNotifyable ; + yext3gpp:notNotifyable ; description "Link to a 'Files' object."; yext3gpp:inVariant; } @@ -490,7 +490,7 @@ module _3gpp-common-measurements { A threshold monitor checks for threshold crossings of performance metric values and generates a notification when that happens. - The ThresholdMonitor shall be used only when NRM based threshold + The ThresholdMonitor shall be used only when NRM based threshold monitoring is supported. To activate threshold monitoring, a MnS consumer needs to create a @@ -524,7 +524,7 @@ module _3gpp-common-measurements { Multiple thresholds can be defined for multiple performance metric sets in a single monitor using thresholdInfoList. The attribute monitorGranularityPeriod defines the granularity period to be applied. - The value is a supported GP for the measurements being monitored. + The value is a supported GP for the measurements being monitored. Threshold crossing behaviour is as defined in [54], Annex F. Each threshold is identified with a number (key) called thresholdLevel. diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index 9f5dceae0..00bbeb7da 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -25,7 +25,7 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; - revision 2025-03-25 { reference "CR-00525"; } + 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"; } @@ -34,7 +34,7 @@ module _3gpp-common-mecontext { leaf dnPrefix { type types3gpp:DistinguishedName; - yext3gpp:inVariant; + yext3gpp:inVariant; description "It carries the DN Prefix information or no information. The instance of MeContext is the local root instance of the MIB. Otherwise the attribute shall be absent or carry no information."; diff --git a/yang-models/_3gpp-common-mnsagent.yang b/yang-models/_3gpp-common-mnsagent.yang index 4cbddecca..3fc127ac2 100644 --- a/yang-models/_3gpp-common-mnsagent.yang +++ b/yang-models/_3gpp-common-mnsagent.yang @@ -1,9 +1,9 @@ module _3gpp-common-mnsagent { - yang-version 1.1; + yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-common-mnsagent; prefix "magent3gpp"; - - import _3gpp-common-top { prefix top3gpp; } + + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp ; } import _3gpp-common-managed-element { prefix me3gpp ; } import _3gpp-common-subnetwork { prefix subnet3gpp ; } @@ -13,67 +13,67 @@ module _3gpp-common-mnsagent { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines MnsAgent IOCs - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 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) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } - + feature MnsAgentUnderManagedElement { description "MnsAgent shall be contained under ManagedElement."; - } + } feature MnsAgentUnderSubNetwork { description "MnsAgent shall be contained under SubNetwork."; - } + } feature MnsAgentUnderManagementNode { description "MnsAgent shall be contained under ManagementNode."; - } + } grouping MnsAgentGrp { description "Represents the MnsAgentGrp IOC."; - + leaf systemDN { type types3gpp:DistinguishedName; config false; description "Distinguished Name (DN) of a IRPAgent or a MnSAgent."; } } - + grouping MnsAgentSubtree { list MnsAgent { - description "The MnsAgent represents the MnS producers, incl. the - supporting hardware and software, available for a certain management + description "The MnsAgent represents the MnS producers, incl. the + supporting hardware and software, available for a certain management scope that is related to the object name-containing the MnS Agent. The MnSAgent can be name-contained under an IOC as follows: 1) ManagementNode; 2) SubNetwork, if the SubNetwork does not contain a ManagementNode; 3) ManagedElement, if it is the root element. - In case the MnsAgent is name-contained under a ManagementNode, the - management scope is the complete management scope of the + In case the MnsAgent is name-contained under a ManagementNode, the + management scope is the complete management scope of the ManagementNode or a subset thereof. - In case the MnsAgent is name-contained under a SubNetwork, the + In case the MnsAgent is name-contained under a SubNetwork, the management scope is the complete SubNetwork or a subset thereof. - In case the MnsAgent is name-contained under a ManagedElement, the + In case the MnsAgent is name-contained under a ManagedElement, the management scope is the complete ManagedElement or a subset thereof."; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses MnsAgentGrp; - } + } } } diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index a3464b212..29bd57ebb 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -11,15 +11,15 @@ module _3gpp-common-mnsregistry { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the MNSRegistry IOC and its + description "Defines the YANG mapping of the MNSRegistry IOC and its contained classes that ares part of the Generic Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-05-10 { reference CR-0243; } revision 2023-02-14 { reference CR-0234; } revision 2021-11-23 { reference "S5-216090"; } @@ -28,27 +28,27 @@ module _3gpp-common-mnsregistry { grouping MgmtDataInfoGrp { description "Represents the MgmtDataInfo IOC."; - + uses mgtdatcol3gpp:ManagementDataGrp { description "Defines the list of management data that can be supported. The management data is a choice between: - a list of data categories (attribute mgtDataCategory) - - a list of management data identified with their name + - a list of management data identified with their name (attribute 'mgtDataName')."; } - + leaf-list supportedGranularityPeriods { type int32; units seconds; - description "Granularity periods supported for the production of + description "Granularity periods supported for the production of associated management data. The period is defined in seconds."; } leaf-list supportedReportingPeriods { type uint32; units seconds; - description "Reporting periods supported for the associated management + description "Reporting periods supported for the associated management data. The period is defined in seconds."; } @@ -57,7 +57,7 @@ module _3gpp-common-mnsregistry { units seconds; description "This attribute describes the maximum period of the requested historical data. The period is defined in seconds. - When the value of this attribute is NULL, which means the capability of + When the value of this attribute is NULL, which means the capability of querying historical data is not supported."; } @@ -67,86 +67,86 @@ module _3gpp-common-mnsregistry { enum STREAM; } min-elements 1; - description "List of supported reporting methods for the associated + description "List of supported reporting methods for the associated management data."; } leaf-list supportedDataScope { type enumeration { enum SNSSAI; - enum 5QI; + enum 5QI; enum PLMN; } min-elements 1; - description "List of supported sub counter capabilities for the associated + description "List of supported sub counter capabilities for the associated management data"; } leaf-list supportedDataRequestMnSRef { type types3gpp:DistinguishedName; min-elements 1; - description "List of DN of MnSInfo for the MnS instance(s) which can be + description "List of DN of MnSInfo for the MnS instance(s) which can be used to request the associated management data"; } leaf-list supportedDataReportingMnSRef { type types3gpp:DistinguishedName; min-elements 1; - description "List of DN of MnSInfo for the MnS instance(s) which can be + description "List of DN of MnSInfo for the MnS instance(s) which can be used to report the associated management data"; } - } - + } + grouping MnsScopeGrp { - description "This <> specifies the list of managed object instances - that can be accessed using the Management Service. These managed object + description "This <> specifies the list of managed object instances + that can be accessed using the Management Service. These managed object instances can be represented with one of the following options: - - A list of DNs, i.e. representing managed object instances identified - by the DN. + - A list of DNs, i.e. representing managed object instances identified + by the DN. - - A list of GeoAreas, i.e. representing managed object instances covered - by the specified geographical areas. In the present document, the - geoAreasList is only used for MnS consumer to retrieve MnS + - A list of GeoAreas, i.e. representing managed object instances covered + by the specified geographical areas. In the present document, the + geoAreasList is only used for MnS consumer to retrieve MnS scope of the specified MnS instance. - - A list of TAIs, i.e. representing managed object instances covered + - A list of TAIs, i.e. representing managed object instances covered by the specified TAIs."; - + choice MnsScope { mandatory true; leaf-list objectInstanceList { type types3gpp:DistinguishedName; yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This attribute describes list of DNs for the managed - object instances that can be accessed using the Management Service. - If a complete SubNetwork can be accessed using the Management Service, - this attribute may contain the DN of the SubNetwork instead of the + description "This attribute describes list of DNs for the managed + object instances that can be accessed using the Management Service. + If a complete SubNetwork can be accessed using the Management Service, + this attribute may contain the DN of the SubNetwork instead of the DNs of the individual managed entities within the SubNetwork. - If a complete ManagedElement can be accessed using the Management - Service, this attribute may contain the DN of the ManagedElement - instead of the DNs of the individual managed entities within the + If a complete ManagedElement can be accessed using the Management + Service, this attribute may contain the DN of the ManagedElement + instead of the DNs of the individual managed entities within the ManagedElement."; } - + list geoAreasList { yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This attribute describes geographical areas for the - managed object instances that can be accessed using the Management + description "This attribute describes geographical areas for the + managed object instances that can be accessed using the Management Service."; key idx; leaf idx { type uint32; } uses types3gpp:GeoAreaGrp; } - + list taiList { yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This attribute describes the list of Tracking Area - Identities (TAI) for the managed object instances that can be accessed + description "This attribute describes the list of Tracking Area + Identities (TAI) for the managed object instances that can be accessed using the Management Service."; key idx; leaf idx { type uint32; } @@ -154,7 +154,7 @@ module _3gpp-common-mnsregistry { } } } - + grouping MnsInfoGrp { description "Represents the MnsInfo IOC."; leaf mnsLabel { @@ -162,7 +162,7 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } - + leaf mnsType { description "Type of management service."; type enumeration { @@ -172,17 +172,17 @@ module _3gpp-common-mnsregistry { enum FileDataReportingMnS; } } - + leaf mnsVersion { description "Version of management service."; type string; - } - + } + leaf mnsAddress { description "Addressing information for Management Service operations."; mandatory true; type string; - } + } leaf-list mnsCapability { type union { @@ -218,42 +218,42 @@ module _3gpp-common-mnsregistry { } type string; } - description "It describes the types of management capabilities of the - MnS instance provided by the MnS producer. The detailed description for + description "It describes the types of management capabilities of the + MnS instance provided by the MnS producer. The detailed description for above enum values see Annex F in TS 28.533. - Note: vendor extension values are allowed for the attribute + Note: vendor extension values are allowed for the attribute 'mnsCapability'"; } - + list mnsScope { - description "This attribute defines the information about the - management scope of the Management Service. The management scope is - used to represent the set of managed object instances that can be + description "This attribute defines the information about the + management scope of the Management Service. The management scope is + used to represent the set of managed object instances that can be accessed using the Management Service."; min-elements 1; key idx; leaf idx { type uint32; } uses MnsScopeGrp; } - + leaf-list mgmtDataInfoRef { type types3gpp:DistinguishedName; yext3gpp:notNotifyable; min-elements 1; - description "List of DN of MgmtDataInfo instance(s) which are associated + description "List of DN of MgmtDataInfo instance(s) which are associated the MnSInfo which represent a management service instance"; - + } } - + grouping MnsRegistryGrp { description "Currently no own attributes defined."; - } - + } + augment "/subnet3gpp:SubNetwork" { list MnsRegistry { - description "This IOC is a container for MnsInfo IOC-s. It can be - contained only by SubNetwork IOC. A SubNetwork IOC can contain + description "This IOC is a container for MnsInfo IOC-s. It can be + contained only by SubNetwork IOC. A SubNetwork IOC can contain only one instance of MnsRegistry. The IOC is instantiated by the system."; key id; @@ -262,7 +262,7 @@ module _3gpp-common-mnsregistry { container attributes { uses MnsRegistryGrp; } - + list MnsInfo { description "This IOC represents an available Management Service (MnS) and provides the data required to support its discovery. @@ -278,9 +278,9 @@ module _3gpp-common-mnsregistry { Attribute mnsAddress is used to provide addressing information for the Management Service operations. - Attribute mnsScope is used to provide information about the - management scope of the Management Service. The management scope - is used to represent the set of managed object instances that can + Attribute mnsScope is used to provide information about the + management scope of the Management Service. The management scope + is used to represent the set of managed object instances that can be accessed using the Management Service."; key id; @@ -289,13 +289,13 @@ module _3gpp-common-mnsregistry { uses MnsInfoGrp; } } - + list MgmtDataInfo { - description "Describes the management capabilities for a set of - management data, which can be used for management data discovery. + description "Describes the management capabilities for a set of + management data, which can be used for management data discovery. MgmtDataInfo is contained by MnSRegistry and associated to MnSInfo. - Multiple MgmtDataInfo instances maybe created for different sets of + Multiple MgmtDataInfo instances maybe created for different sets of management data, it is MnS producer’s decision."; key id; @@ -304,7 +304,7 @@ module _3gpp-common-mnsregistry { uses MgmtDataInfoGrp; } } - + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index 9d58855f5..f25bf8712 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -15,7 +15,7 @@ module _3gpp-common-qmcjob { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Quality of Experience Measurement Collection Job handling - Copyright 2025, 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) @@ -29,15 +29,15 @@ module _3gpp-common-qmcjob { revision 2025-02-06 { reference CR-0508; } revision 2024-11-05 { reference CR-0480; } - revision 2024-04-04 { reference CR-0334; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2024-04-04 { reference CR-0334; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0215"; } revision 2022-08-17 { reference "CR-0185"; } revision 2022-04-29 { reference "CR-0171"; } revision 2022-03-22 { reference "draftCR"; } revision 2022-01-06 { reference "CR-0142"; } - + grouping QMCJobGrp { leaf serviceType { description "Specifies an end user service type for QoE measurements."; @@ -53,8 +53,8 @@ module _3gpp-common-qmcjob { key "idx"; leaf idx { type uint32 ; } description "It defines the area scope of QoE, which is specified - in clause 5.4 of TS 28.405."; - uses trace3gpp:AreaScopeGrp; + in clause 5.4 of TS 28.405."; + uses trace3gpp:AreaScopeGrp; } leaf qoECollectionEntityAddress { @@ -66,12 +66,12 @@ module _3gpp-common-qmcjob { list pLMNTarget { max-elements 1; - description "Defines the PLMN for which sessions shall be selected in - the network request session in case of area based QMC when several - PLMNs are supported in the RAN (this means that shared cells and not - shared cells are allowed for the specified PLMN. Furthermore, several - PLMNs can be used for not shared RAN cases as well as for shared RAN - cases.). Only the sessions may be selected where the PLMN that the + description "Defines the PLMN for which sessions shall be selected in + the network request session in case of area based QMC when several + PLMNs are supported in the RAN (this means that shared cells and not + shared cells are allowed for the specified PLMN. Furthermore, several + PLMNs can be used for not shared RAN cases as well as for shared RAN + cases.). Only the sessions may be selected where the PLMN that the UE reports as selected PLMN is the same as the PLMN Target."; uses types3gpp:PLMNId; key "mcc mnc"; @@ -79,8 +79,8 @@ module _3gpp-common-qmcjob { leaf qoETarget { type string; - description "Specifies the target object of the QMC in case of - signalling based QMC. The qoETarget attribute shall be able + description "Specifies the target object of the QMC in case of + signalling based QMC. The qoETarget attribute shall be able to carry IMSI or SUPI."; mandatory true; } @@ -88,26 +88,26 @@ module _3gpp-common-qmcjob { leaf qoEReference { type string; mandatory true; - description "Identifies the QoE measurement collection job in the + description "Identifies the QoE measurement collection job in the Managed Elements and in the measurement collection entity. The QoE reference shall be globally unique therefore it is composed as follows: - MCC+MNC+QMC ID, where the MCC and MNC are coming with the QMC - activation request from the management system to identify one PLMN - containing the management system, and QMC ID is a 3 byte Octet String. + MCC+MNC+QMC ID, where the MCC and MNC are coming with the QMC + activation request from the management system to identify one PLMN + containing the management system, and QMC ID is a 3 byte Octet String. The QMC ID is generated by the management system or the operator."; } leaf jobId { type string; yext3gpp:inVariant; - description "The jobId attribute presents the job identifier of a - QMCJob instance. The jobId can be used to associate multiple QMCJob - instances. For example, it is possible to configure the same jobId - for multiple QMCJob instances required to produce the data - (e.g. Streaming services and MTSI reports) for a specific network + description "The jobId attribute presents the job identifier of a + QMCJob instance. The jobId can be used to associate multiple QMCJob + instances. For example, it is possible to configure the same jobId + for multiple QMCJob instances required to produce the data + (e.g. Streaming services and MTSI reports) for a specific network analysis."; } - + list sliceScope { description "Contains a list of S-NSSAIs (Single Network Slice Selection Assistance Information). A Network Slice end to end is identified by @@ -118,7 +118,7 @@ module _3gpp-common-qmcjob { leaf qMCConfigFile { type string; - description "Provides a reference to a file including the parameters for + description "Provides a reference to a file including the parameters for configuration of application layer measurements, known as Container for Application Layer Measurement Configuration."; mandatory true; @@ -136,7 +136,7 @@ module _3gpp-common-qmcjob { uses trace3gpp:TraceReferenceGrp ; } - + leaf-list availableRANqoEMetrics { type enumeration { enum APP_LAYER_BUFFER_LEVEL_LIST; @@ -152,52 +152,52 @@ module _3gpp-common-qmcjob { enum BROADCAST; enum MULTICAST; } - description "This attribute indicates which type of MBS communication + description "This attribute indicates which type of MBS communication service the QoE measurement configuration pertains to."; } } - + grouping QMCJobSubTree { description "Helps with augmenting QMCJob into multple places."; list QMCJob { - description "The QoE Measurement Collection provides capability for + description "The QoE Measurement Collection provides capability for collecting QoE information from: - - UEs which are in the specified area in case of Management Based - Activation or + - UEs which are in the specified area in case of Management Based + Activation or - an individual UE in case of Signalling Based Activation. - The QoE Measurement Collection enables collection of application layer - measurements from the UE for specified end user service type. + The QoE Measurement Collection enables collection of application layer + measurements from the UE for specified end user service type. The supported service types are: - - Streaming services, see TS 26.247 - - MTSI services, see TS 26.114 - - VR services, see TS 26.118 - A QMCJob instance represents the job for collecting QoE measurements - according to the job parameters. For details of the QoE measurement - collection configuration parameters see clause 5 of TS 28.405. - QMCJob instance can be name-contained by SubNetwork or ManagedElement. - A QMC Job is activated by creating a QMCJob object instance in the - producer. For details of Management Based Activation of QoE Measurement - Collection see clause 4.5 and for details of Signalling Based - Activation of QoE Measurement Collection see clause 4.6 of TS 28.405. - The attribute pLMNTarget is only relevant when - Management Based Activation is used and the attribute qoETarget is - only relevant when Signalling Based Activation is used. All other - attributes are common for both Management Based Activation and + - Streaming services, see TS 26.247 + - MTSI services, see TS 26.114 + - VR services, see TS 26.118 + A QMCJob instance represents the job for collecting QoE measurements + according to the job parameters. For details of the QoE measurement + collection configuration parameters see clause 5 of TS 28.405. + QMCJob instance can be name-contained by SubNetwork or ManagedElement. + A QMC Job is activated by creating a QMCJob object instance in the + producer. For details of Management Based Activation of QoE Measurement + Collection see clause 4.5 and for details of Signalling Based + Activation of QoE Measurement Collection see clause 4.6 of TS 28.405. + The attribute pLMNTarget is only relevant when + Management Based Activation is used and the attribute qoETarget is + only relevant when Signalling Based Activation is used. All other + attributes are common for both Management Based Activation and Signalling Based Activation. - The areaScope attribute defines the area scope of QoE, which is + The areaScope attribute defines the area scope of QoE, which is specified in clause 5.4 of TS 28.405. - When a MnS consumer wishes to deactivate a QMC Job, the MnS consumer - shall delete the corresponding QMCJob instance. - NOTE: If the reporting is ongoing, when a request to delete a QMCJob - is received, the reporting does not end. The QMCJob instance is deleted, + When a MnS consumer wishes to deactivate a QMC Job, the MnS consumer + shall delete the corresponding QMCJob instance. + NOTE: If the reporting is ongoing, when a request to delete a QMCJob + is received, the reporting does not end. The QMCJob instance is deleted, when the last reporting for the QMC Job expires. - The jobId attribute presents the job identifier of a QMCJob instance. - jobId can be used to associate multiple QMCJob instances. For example, - it is possible to configure the same jobId value for multiple QMCJob - instances required to produce the data (e.g. Streaming services and + The jobId attribute presents the job identifier of a QMCJob instance. + jobId can be used to associate multiple QMCJob instances. For example, + it is possible to configure the same jobId value for multiple QMCJob + instances required to produce the data (e.g. Streaming services and MTSI reports) for a specific network analysis."; key id; uses top3gpp:Top_Grp; @@ -206,7 +206,7 @@ module _3gpp-common-qmcjob { } } } - + augment "/subnet3gpp:SubNetwork" { uses QMCJobSubTree; } diff --git a/yang-models/_3gpp-common-sectorequipmentfunction.yang b/yang-models/_3gpp-common-sectorequipmentfunction.yang index 985e77639..bb18f41c7 100644 --- a/yang-models/_3gpp-common-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-common-sectorequipmentfunction.yang @@ -1,88 +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; - } -} +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 c94f40638..5a8759900 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -2,7 +2,7 @@ module _3gpp-common-subnetwork { yang-version 1.1; namespace "urn:3gpp:sa5:_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; } @@ -20,43 +20,43 @@ module _3gpp-common-subnetwork { 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 2025, 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) Integration Reference Point (IRP); Solution Set (SS) definitions - + 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 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 ; } - revision 2023-11-14 { reference CR-0305 ; } - revision 2023-09-18 { reference CR-0271 ; } + + 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 ; } + revision 2023-11-14 { reference CR-0305 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-10 { reference CR-0257; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } revision 2022-09-30 { reference CR-0191 ; } - revision 2021-01-16 { reference "CR-0120"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2021-01-16 { reference "CR-0120"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2020-05-08 { reference "S5-203316"; } - - revision 2020-03-11 { + + revision 2020-03-11 { description "Added KPIs and corrections"; reference "S5-201365, S5-201581, SP-200229"; } @@ -88,15 +88,15 @@ module _3gpp-common-subnetwork { } feature ExternalsUnderSubNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalGNBCUCPFunction, ExternalENBFunction + description "Classes representing external entities like EUtranFrequency, + ExternalGNBCUCPFunction, ExternalENBFunction are contained under a Subnetwork list/class."; } - + feature MeasurementsUnderSubNetwork { description "The MeasurementSubtree shall be contained under SubNetwork"; } - + feature SubscriptionControlUnderSubNetwork { description "The SubscriptionControlSubtree shall be contained under SubNetwork"; @@ -110,39 +110,39 @@ module _3gpp-common-subnetwork { feature FmUnderSubNetwork { description "The FmSubtree shall be contained under SubNetwork"; } - + feature TraceUnderSubNetwork { description "The TraceSubtree shall be contained under SubNetwork"; } - + feature DESManagementFunction { description "Class representing Distributed SON or Domain-Centralized SON Energy Saving feature. The DESManagementFunction shall be contained under SubNetwork."; } - + feature DMROFunction { description "Class representing D-SON function of MRO feature. The DMROFunction shall be contained under SubNetwork."; } - + feature DRACHOptimizationFunction { description "Class representing D-SON function of RACH optimization feature. The DRACHOptimizationFunction shall be contained under SubNetwork."; } - + feature DPCIConfigurationFunction { description "Class representing Distributed SON or Domain-Centralized SON function of PCI configuration feature. The DPCIConfigurationFunction shall be contained under SubNetwork."; } - + feature CPCIConfigurationFunction { description "Class representing Cross Domain-Centralized SON function of PCI configuration feature. The CPCIConfigurationFunction shall be contained under SubNetwork."; } - + feature CESManagementFunction { description "Class representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under SubNetwork."; @@ -150,52 +150,52 @@ module _3gpp-common-subnetwork { feature StmCtrlUnderManagedSubNetwork { 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 : - - the group represents a topological structure which describes the + description "A domain is a partition of instances of managed entities + such that : + - the group represents a topological structure which describes the potential for connectivity - Subject to common administration - With common characteristics"; - + leaf dnPrefix { type types3gpp:DistinguishedName; - yext3gpp:inVariant; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } - + leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; } - + leaf userDefinedNetworkType { type string; description "Textual information indicating network type, e.g. 'UTRAN'."; - } + } } grouping SubNetworkGrp { uses Domain_Grp; - + leaf-list setOfMcc { - description "Set of Mobile Country Code (MCC). - The MCC uniquely identifies the country of domicile + description "Set of Mobile Country Code (MCC). + The MCC uniquely identifies the country of domicile of the mobile subscriber. MCC is part of the IMSI (3GPP TS 23.003) - This list contains all the MCC values in subordinate object + This list contains all the MCC values in subordinate object instances to this SubNetwork instance. See clause 2.3 of 3GPP TS 23.003 for MCC allocation principles. - It shall be supported if there is more than one value in setOfMcc - of the SubNetwork. Otherwise the support is optional."; + It shall be supported if there is more than one value in setOfMcc + of the SubNetwork. Otherwise the support is optional."; type types3gpp:Mcc; } @@ -203,35 +203,35 @@ module _3gpp-common-subnetwork { mandatory true; type uint32; } - + uses meas3gpp:SupportedPerfMetricGroupGrp; leaf-list supportedTraceMetrics { type string; config false; - description "List of trace metrics. When this attribute is contained in - a managed object it defines the trace metrics supported for this + description "List of trace metrics. When this attribute is contained in + a managed object it defines the trace metrics supported for this object and all descendant objects. - Trace metrics include trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, - see TS 32.422. Trace metrics are identified with their metric - identifier. The metric identifier is constructed as defined + Trace metrics include trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, + see TS 32.422. Trace metrics are identified with their metric + identifier. The metric identifier is constructed as defined in clause 10 of TS 32.422."; } - } + } list SubNetwork { key id; description "Represents a set of managed entities - Contained ManagedElements and SubNetworks shall be connected via + Contained ManagedElements and SubNetworks shall be connected via YANG Schema-mount."; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses SubNetworkGrp; } - + uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderSubNetwork; } @@ -247,14 +247,14 @@ module _3gpp-common-subnetwork { uses fm3gpp:FmSubtree { if-feature FmUnderSubNetwork; } - + uses trace3gpp:TraceSubtree { if-feature TraceUnderSubNetwork; } uses files3gpp:FilesSubtree { if-feature FilesUnderSubNetwork; - } + } uses fiveqi3gpp:Configurable5QISetSubtree { if-feature Configurable5QISetUnderSubNetwork; @@ -270,9 +270,9 @@ module _3gpp-common-subnetwork { uses stm3gpp:StmCtrlSubTree { if-feature StmCtrlUnderManagedSubNetwork ; - } + } + - uses mwab3gpp:MWABSubTree { if-feature MWABUnderSubNetwork ; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 471d19c54..689082218 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -2,58 +2,58 @@ module _3gpp-common-subscription-control { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-subscription-control"; prefix "subscr3gpp"; - + 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 2025, 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) Integration Reference Point (IRP); Solution Set (SS) definitions 3GPP TS 28.623"; - + revision 2025-07-19 { reference CR-0551; } - 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; } + 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; } revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } - revision 2021-01-16 { reference "CR-0120"; } + revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } grouping ScopeGrp { - description "This <> allows to select data nodes in an object - tree whose root is identified by the so called base managed object - instance. The identification of the base object instance is not part of - this <> and needs to be specified by other means. The base - managed object instance is typically a managed object instance in an + description "This <> allows to select data nodes in an object + tree whose root is identified by the so called base managed object + instance. The identification of the base object instance is not part of + this <> and needs to be specified by other means. The base + managed object instance is typically a managed object instance in an object tree. - - The 'scopeType' and the 'scopeLevel' attributes allow to select managed - object instances. Attributes, attribute fields and attribute elements + + The 'scopeType' and the 'scopeLevel' attributes allow to select managed + object instances. Attributes, attribute fields and attribute elements cannot be selected. - The 'dataNodeSelector' attribute allows to select managed object - instances, attributes, attribute fields, attribute elements, or - attribute field elements. Its value contains a solution set specific + The 'dataNodeSelector' attribute allows to select managed object + instances, attributes, attribute fields, attribute elements, or + attribute field elements. Its value contains a solution set specific expression for specifying the data nodes to be selected."; choice scope { - description "Describes which object instances are selected with + description "Describes which object instances are selected with respect to a base object instance."; - + case type-level { - leaf scopeType { + leaf scopeType { type enumeration { enum BASE_ONLY; enum BASE_ALL; @@ -61,42 +61,42 @@ module _3gpp-common-subscription-control { enum BASE_SUBTREE; } mandatory true; - description "If the optional scopeLevel parameter is not supported + description "If the optional scopeLevel parameter is not supported or absent, allowed values of scopeType are BASE_ONLY and BASE_ALL. The value BASE_ONLY indicates only the base object is selected. - The value BASE_ALL indicates the base object and all of its + The value BASE_ALL indicates the base object and all of its subordinate objects (incl. the leaf objects) are selected. - If the scopeLevel parameter is supported and present, allowed - values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL + If the scopeLevel parameter is supported and present, allowed + values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL and BASE_SUBTREE. - The value BASE_NTH_LEVEL indicates all objects on the level, - which is specified by the scopeLevel parameter, below the base + The value BASE_NTH_LEVEL indicates all objects on the level, + which is specified by the scopeLevel parameter, below the base object are selected. The base object is at scopeLevel zero. - The value BASE_SUBTREE indicates the base object and all of its - subordinate objects down to and including the objects on the level, - which is specified by the scopeLevel parameter, are selected. + The value BASE_SUBTREE indicates the base object and all of its + subordinate objects down to and including the objects on the level, + which is specified by the scopeLevel parameter, are selected. The base object is at scopeLevel zero."; } - + leaf scopeLevel { when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; - type uint16; + type uint16; mandatory true; description "See description of scopeType."; } } case dataNodeSelector { container dataNodeSelector { - description "The value shall follow the rules of RFC 8641 + description "The value shall follow the rules of RFC 8641 filter-spec"; reference "RFC 8641 section 5. and ietf-yang-push.yang"; choice dataNodeSelector { anydata datastore-subtree-filter { description "Subtree filter"; - reference + reference "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; } leaf datastore-xpath-filter { @@ -108,12 +108,12 @@ module _3gpp-common-subscription-control { RFC 7950: The YANG 1.1 Data Modeling Language, Section 10"; } - } + } } } - } + } } - + typedef NotificationTypes { description "An extensible enumeration of notification types"; type union { @@ -140,21 +140,21 @@ module _3gpp-common-subscription-control { type string; } } - + grouping NtfSubscriptionControlGrp { description "Attributes of a specific notification subscription"; - + leaf notificationRecipientAddress { type string; mandatory true; } - + leaf-list notificationTypes { type NotificationTypes; - description "Defines the types of notifications that are candidates + 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 - all candidate notifications types are forwarded to the notification; + If the notificationTypes attribute is not supported or not present + all candidate notifications types are forwarded to the notification; discriminated by notificationFilter attribute."; } @@ -168,197 +168,197 @@ module _3gpp-common-subscription-control { leaf notificationFilter { type string; - description "Defines a filter to be applied to candidate notifications - identified by the notificationTypes attribute. - If notificationFilter is present, only notifications that pass the - filter criteria are forwarded to the notification recipient; all other + description "Defines a filter to be applied to candidate notifications + identified by the notificationTypes attribute. + If notificationFilter is present, only notifications that pass the + filter criteria are forwarded to the notification recipient; all other notifications are discarded. The filter can be applied to any field of a notification. - - The format of the string shall confrm to a + + The format of the string shall confrm to a 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 + 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 + 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 + 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 + description "The availability status provides additional information about the operational state"; } } - + grouping HeartbeatControlGrp { description "Attributes of HeartbeatControl."; - + leaf heartbeatNtfPeriod { type uint32; mandatory true; units seconds; - description "Specifies the periodicity of heartbeat notification emission. - The value of zero has the special meaning of stopping the heartbeat + description "Specifies the periodicity of heartbeat notification emission. + The value of zero has the special meaning of stopping the heartbeat notification emission."; } - + leaf triggerHeartbeatNtf { type boolean; default false; - description "Setting this attribute to 'true' triggers an immediate - additional heartbeat notification emission. Setting the value to + description "Setting this attribute to 'true' triggers an immediate + additional heartbeat notification emission. Setting the value to 'false' has no observable result. The periodicity of notifyHeartbeat emission is not changed. - - After triggering the heartbeat the system SHALL set the value + + After triggering the heartbeat the system SHALL set the value back to false."; yext3gpp:notNotifyable; } } - + grouping SubscriptionControlSubtree { - description "Contains notification subscription related classes. - Should be used in all classes (or classes inheriting from) + description "Contains notification subscription related classes. + Should be used in all classes (or classes inheriting from) - SubNetwork - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must + + If some YAM wants to augment these classes/list/groupings they must augment all user classes!"; list NtfSubscriptionControl { - description "NtfSubscriptionControl represents a notification - subscription of a notification recipient. - - The scope attribute is used to select managed object instances included - in the subscription. The base object instance of the scope is the - object instance name-containing the NtfSubscriptionControl instance. - When the scope attribute is absent, all objects below and including - the base object are scoped. The notifications related to the selected - managed object instances are candidates to be sent to the address + description "NtfSubscriptionControl represents a notification + subscription of a notification recipient. + + The scope attribute is used to select managed object instances included + in the subscription. The base object instance of the scope is the + object instance name-containing the NtfSubscriptionControl instance. + When the scope attribute is absent, all objects below and including + the base object are scoped. The notifications related to the selected + managed object instances are candidates to be sent to the address specified by the notificationRecipientAddress attribute. - - The notificationTypes attribute and notificationFilter attribute - allow MnS consumers to control which candidate notifications are + + The notificationTypes attribute and notificationFilter attribute + allow MnS consumers to control which candidate notifications are sent to the notificationRecipientAddress. - - If the notificationTypes attribute is present, its value identifies - the notification types that are candidates to be sent to the - notificationRecipientAddress. If the notificationTypes attribute is - absent, notifications of all types are candidates to be sent to - notificationRecipientAddress. Notification types supported in the - NtfSubscriptionControl.notificationTypes attribute are the ones + + If the notificationTypes attribute is present, its value identifies + the notification types that are candidates to be sent to the + notificationRecipientAddress. If the notificationTypes attribute is + absent, notifications of all types are candidates to be sent to + notificationRecipientAddress. Notification types supported in the + NtfSubscriptionControl.notificationTypes attribute are the ones listed in the attribute SupportedNotifications.notificationTypes. - - If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. The filter is - applicable to all parameters of a notification. Only candidate - notifications that pass the filter criteria are sent to the - notificationRecipientAddress. If the notificationFilter attribute is - absent, all candidate notificatios are sent to the + + If supported, the notificationFilter attribute defines a filter that + is applied to the set of candidate notifications. The filter is + applicable to all parameters of a notification. Only candidate + notifications that pass the filter criteria are sent to the + notificationRecipientAddress. If the notificationFilter attribute is + absent, all candidate notificatios are sent to the notificationRecipientAddress. - - To receive notifications, a MnS consumer has to create a - NtfSubscriptionControl instance on the MnS producer. A MnS consumer - can create a subscription for another MnS consumer since it is not + + To receive notifications, a MnS consumer has to create a + NtfSubscriptionControl instance on the MnS producer. A MnS consumer + can create a subscription for another MnS consumer since it is not required the notificationRecipientAddress be his own address. - - When a MnS consumer does not wish to receive notifications any more - the MnS consumer shall delete the corresponding NtfSubscriptionControl + + 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 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 + + 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 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 pre-installed."; - + key id; uses top3gpp:Top_Grp; container attributes { uses NtfSubscriptionControlGrp; } - + list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between themselves + notifications to monitor the communication channels between themselves and MnS producers configured to emit notifications. A HeartbeatControl instance allows controlling the emission of @@ -399,23 +399,23 @@ module _3gpp-common-subscription-control { max-elements 1; key id; uses top3gpp:Top_Grp; - + container attributes { uses HeartbeatControlGrp; } } } - } - + } + grouping SupportedNotificationsGrp { description "Attributes of SupportedNotifications."; - + leaf-list notificationTypes { type NotificationTypes; config false; description "List of notification types supported by the MnS producer"; } - + leaf-list notificationProtocols { type enumeration { enum HTTP; @@ -427,26 +427,26 @@ module _3gpp-common-subscription-control { reference "3GPP TS 28.532"; } } - + grouping SupportedNotificationsSubtree { description "Contains SupportedNotifications."; list SupportedNotifications { - description "SupportedNotifications represents the notification related - capabilities of a MnS producer. + description "SupportedNotifications represents the notification related + capabilities of a MnS producer. - The notificationTypes attribute lists notificationTypes supported - by the MnSProducer. Specific IOCs can be the source of a specific - but not necessary every supported notificationType. + The notificationTypes attribute lists notificationTypes supported + by the MnSProducer. Specific IOCs can be the source of a specific + but not necessary every supported notificationType. - The notificationProtocols attribute identifies the notification + The notificationProtocols attribute identifies the notification transport protocols supported by a MnS producer."; - + key id; uses top3gpp:Top_Grp; container attributes { uses SupportedNotificationsGrp; } } - } + } } diff --git a/yang-models/_3gpp-common-top.yang b/yang-models/_3gpp-common-top.yang index 69c76b843..93f9138b3 100755 --- a/yang-models/_3gpp-common-top.yang +++ b/yang-models/_3gpp-common-top.yang @@ -1,29 +1,29 @@ module _3gpp-common-top { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-common-top; prefix top3gpp; - + organization "3gpp SA5"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and network slicing. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference - "3GPP TS 28.622 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2019-06-17 { description "Initial revision"; } - + grouping Top_Grp { description "Abstract class supplying a naming attribute"; reference "3GPP TS 28.620"; @@ -31,9 +31,9 @@ module _3gpp-common-top { leaf id { type string; description "Key leaf (namingAttribute) for a class/list. - Should be used as a key leaf for lists representing + Should be used as a key leaf for lists representing stage 2 classes."; - reference "3GPP TS 32.300 Name convention for managed objects"; - } - } + reference "3GPP TS 32.300 Name convention for managed objects"; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index e39fc0f8e..803987731 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -14,7 +14,7 @@ module _3gpp-common-trace { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Trace handling - Copyright 2025, 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) @@ -29,18 +29,18 @@ module _3gpp-common-trace { 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"; } + revision 2024-08-13 { reference "CR-0387 CR-0377"; } revision 2024-08-07 { reference "CR-0405 CR-0421 CR-0379"; } revision 2024-05-12 { reference "CR-0401"; } revision 2024-05-06 { reference CR-0359; } revision 2024-04-06 { reference "CR-0342"; } revision 2024-01-29 { reference "CR-0316"; } revision 2023-11-06 { reference "CR-0290 CR-0294"; } - revision 2023-11-03 { reference CR-0302 ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-11-03 { reference CR-0302 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-10 { reference CR-0261; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0234"; } @@ -58,60 +58,60 @@ module _3gpp-common-trace { } grouping FreqInfoGrp { - description "Represents the FreqInfo dataType. - This <> defines the RF reference frequency and the frequency - operating bands used in a cell for a given direction (UL or DL) in FDD + description "Represents the FreqInfo dataType. + This <> defines the RF reference frequency and the frequency + operating bands used in a cell for a given direction (UL or DL) in FDD or for both UL and DL directions in TDD"; - + leaf arfcn { type uint32 { range 0..3279165; } mandatory true; - description "RF Reference Frequency as defined in TS 38.104, - clause 5.4.2.1. The frequency provided identifies the absolute - frequency position of the reference resource block (Common RB 0) + description "RF Reference Frequency as defined in TS 38.104, + clause 5.4.2.1. The frequency provided identifies the absolute + frequency position of the reference resource block (Common RB 0) of the carrier. Its lowest subcarrier is also known as Point A."; } - + leaf-list freqBands { type uint32 { range 1..1024; - } + } min-elements 1; - description "List of NR frequency operating bands. Primary NR + description "List of NR frequency operating bands. Primary NR Operating Band as defined in TS 38.104, clause 5.4.2.3. - The value 1 corresponds to n1, value 2 corresponds to NR operating + The value 1 corresponds to n1, value 2 corresponds to NR operating band n2, etc."; } } - + grouping AreaConfigGrp { description "Represents the AreaConfig dataType. - This <> defines the area for which measurement logging should - be performed. It is described by a list of cells and a list of + This <> defines the area for which measurement logging should + be performed. It is described by a list of cells and a list of frequencies."; - + list freqInfo { key arfcn; min-elements 1; max-elements 32; - description "It specifies the carrier frequency and bands used in + description "It specifies the carrier frequency and bands used in a cell."; uses FreqInfoGrp ; } - + leaf-list pciList { type uint32 { range 0..1007; - } + } min-elements 1; max-elements 32; description "List of neighbour cells subject for MDT scope."; } } - + grouping AreaScopeGrp { description "This <> defines an area scope."; @@ -122,21 +122,21 @@ module _3gpp-common-trace { max-elements 32; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - + leaf-list nrCellIdList { type string; min-elements 1; max-elements 32; description "List of NR cells identified by NG-RAN CGI"; } - + leaf-list tacList { type types3gpp:Tac; min-elements 1; max-elements 8; description "Tracking Area Code list"; } - + list sliceIdList { description "Network Slice Id list"; key idx; @@ -157,8 +157,8 @@ module _3gpp-common-trace { } list nPNIdentityList { - description "list of NPN IDs of in NR. It is either a list of PNI-NPNs - identified by CAG ID with associated plmn-Identity or a list of SNPN + description "list of NPN IDs of in NR. It is either a list of PNI-NPNs + identified by CAG ID with associated plmn-Identity or a list of SNPN identified by Network ID with associated plmn-Identity"; key idx; min-elements 1; @@ -166,21 +166,21 @@ module _3gpp-common-trace { leaf idx { type string; } } } - + grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. - This <> defines a excess packet delay threshold information - to enable the calculation of the PDCP Excess Packet Delay in the - uplink in case of M6 uplink measurements are requested. The excess - packet delay threshold information is specified with the 5QI value + This <> defines a excess packet delay threshold information + to enable the calculation of the PDCP Excess Packet Delay in the + uplink in case of M6 uplink measurements are requested. The excess + packet delay threshold information is specified with the 5QI value and excess packet delay threshold value."; - + leaf fiveQIValue { type uint8; mandatory true; description "It indicates 5QI value."; } - + leaf excessPacketDelayThresholdValue { type decimal64 { fraction-digits 2; @@ -188,36 +188,36 @@ module _3gpp-common-trace { } mandatory true; units milliseconds; - description "Value of excess packet delay threshold + description "Value of excess packet delay threshold for M6 UL measurement in milliseconds."; } } - + grouping TraceReferenceGrp { description "Represents the TraceReference dataType. - This <> defines a globally unique identifier, which uniquely - identifies the Trace Session that is created by the TraceJob. It is - composed of the MCC, MNC (resulting in PLMN identifier) and the + This <> defines a globally unique identifier, which uniquely + identifies the Trace Session that is created by the TraceJob. It is + composed of the MCC, MNC (resulting in PLMN identifier) and the trace identifier."; - + uses types3gpp:PLMNId; // mcc+mnc - + leaf traceId { type string { pattern "[0-9a-fA-F]{6}"; } mandatory true; - description "An identifier, which identifies the Trace + description "An identifier, which identifies the Trace (together with MCC and MNC). This is a 3 byte Octet String, expressed in hexadecimal form e.g., '1a7b3d')."; } } - + grouping MbsfnAreaGrp { - description "Represents the MbsfnArea dataType. - This <> defines a MBSFN area. It is composed of the MBSFN Area + description "Represents the MbsfnArea dataType. + This <> defines a MBSFN area. It is composed of the MBSFN Area identifier and the carrier frequency (EARFCN)."; - + leaf mbsfnAreaId { type uint32 { range 1..max; @@ -225,7 +225,7 @@ module _3gpp-common-trace { mandatory true; description "MBSFN Area Identifier"; } - + leaf earfcn{ type uint32 { range 1..max; @@ -234,18 +234,18 @@ module _3gpp-common-trace { description "Carrier Frequency"; } } - + grouping TraceConfigGrp { - description "Defines the configuration parameters of TraceJob + description "Defines the configuration parameters of TraceJob which are specific for Trace or combined Trace and Immediate MDT. - The attribute listOfNeTypes specifies the network elements to be + The attribute listOfNeTypes specifies the network elements to be traced. The optional attribute listOfInterfaces allows to specify the individual interfaces of the network elements to be recorded. - The attribute traceDepth allows to configure the level of detail + The attribute traceDepth allows to configure the level of detail of the information which shall be recorded. For trace the reporting - is event based, where the triggering event is configured with - attribute triggeringEvents. For each triggering event the first and + is event based, where the triggering event is configured with + attribute triggeringEvents. For each triggering event the first and last message (start/stop triggering event) to record are specified."; list listOfInterfaces { @@ -586,16 +586,16 @@ module _3gpp-common-trace { enum VENDORMAXIMUM; } default MAXIMUM; - description "It specifies the trace depth. The attribute is applicable + description "It specifies the trace depth. The attribute is applicable only for Trace."; reference "Clause 5.3 of 3GPP TS 32.422."; - } - + } + list triggeringEvents { key idx; - description "It specifies the triggering event parameter of the trace + description "It specifies the triggering event parameter of the trace session. The attribute is applicable only for Trace."; - reference "Clause 5.1 of 3GPP TS 32.422"; + reference "Clause 5.1 of 3GPP TS 32.422"; leaf idx { type uint32; } max-elements 1; @@ -604,7 +604,7 @@ module _3gpp-common-trace { enum MO_MT_CALLS; enum MO_MT_SMS; enum LU_IMSIattach_IMSIdetach; - enum SS; + enum SS; } } @@ -617,7 +617,7 @@ module _3gpp-common-trace { } } - + leaf-list MGW { type enumeration { enum CONTEXT; @@ -654,7 +654,7 @@ module _3gpp-common-trace { } } - + leaf-list SGW { type enumeration { enum PDNconnectionCreation; @@ -761,12 +761,12 @@ module _3gpp-common-trace { } grouping ImmediateMdtConfigGrp { - description "Represents the ImmediateMdtConfig dataType. - This <> defines the configuration parameters of - IOC TraceJob which are specific for Immediate MDT or combine - Trace and Immediate MDT. - - The optional attribute positioningMethod allows to specify + description "Represents the ImmediateMdtConfig dataType. + This <> defines the configuration parameters of + IOC TraceJob which are specific for Immediate MDT or combine + Trace and Immediate MDT. + + The optional attribute positioningMethod allows to specify the positioning methods to use. The following attributes are conditional available based on the @@ -799,64 +799,64 @@ module _3gpp-common-trace { -beamLevelMeasurement (conditional for M1 in NR), -excessPacketDelayThresholds (conditional for M6 UL measurement in NR). - For immediate MDT, the measurement reporting is dependent on the + For immediate MDT, the measurement reporting is dependent on the configured measurements: - - - For measurement M1 in LTE or NR, it is possible to select between - periodical, event triggered, event triggered periodic reporting or - reporting according to all configured RRM event triggers. For M1 and M2 - measurement in UMTS, it is possible to select between periodical, event - triggered reporting or reporting according to all configured RRM event - triggers. Parameter reportingTrigger determines which of the reporting - methods is selected and in case of event triggered or event-triggered - periodic, which is the decisive event type. For periodical reporting, + + - For measurement M1 in LTE or NR, it is possible to select between + periodical, event triggered, event triggered periodic reporting or + reporting according to all configured RRM event triggers. For M1 and M2 + measurement in UMTS, it is possible to select between periodical, event + triggered reporting or reporting according to all configured RRM event + triggers. Parameter reportingTrigger determines which of the reporting + methods is selected and in case of event triggered or event-triggered + periodic, which is the decisive event type. For periodical reporting, parameters reportInterval and reportAmount determine the interval between - two successive reports and the number of reports. This means the + two successive reports and the number of reports. This means the periodical reporting terminates after reportAmount reports have been - sent as long as reportAmount is configured with a value different from - infinity. For event-triggered periodic reporting, these two parameters - apply in addition to parameter eventThreshold which determines the - threshold of the event. In this case up to reportAmount reports are - sent with a periodicity of reportInterval after the entering condition - is fulfilled. The reporting is stopped, if the leaving condition is - fulfulled and is restarted if the configured event reoccurs. For event - based reporting, there is only one report sent after the event occurs. - The parameters to configure are reportingTrigger and eventThreshold. - In case of UMTS and 1f event reporting, additionally parameter - measurementQuantity is necessary in order to determine for which - measurement(s) the event threshold is applicable. Parameter + sent as long as reportAmount is configured with a value different from + infinity. For event-triggered periodic reporting, these two parameters + apply in addition to parameter eventThreshold which determines the + threshold of the event. In this case up to reportAmount reports are + sent with a periodicity of reportInterval after the entering condition + is fulfilled. The reporting is stopped, if the leaving condition is + fulfulled and is restarted if the configured event reoccurs. For event + based reporting, there is only one report sent after the event occurs. + The parameters to configure are reportingTrigger and eventThreshold. + In case of UMTS and 1f event reporting, additionally parameter + measurementQuantity is necessary in order to determine for which + measurement(s) the event threshold is applicable. Parameter beamLevelMeasurement determines whether beam level measurements shall be included in case of NR. - + - For measurement M2 in LTE or NR, reporting is according to RRM - configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. - - - For measurement M4 in UMTS, reporting is either according to RRM + configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. + + - For measurement M4 in UMTS, reporting is either according to RRM configuration, see TS 25.321 and TS 25.331 or periodic or event - triggered periodic using parameter collectionPeriodRRMUMTS and + triggered periodic using parameter collectionPeriodRRMUMTS and eventThresholdUphUMTS. - + - For measurement M3 in UMTS, the reporting is done upon availability, see TS 37.320. - - - For measurements M4, M5, M6 and M7 in NR, for measurements - M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 + + - For measurements M4, M5, M6 and M7 in NR, for measurements + M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 in UMTS periodical reporting is applied. The configurable parameter - is the interval between two measurements (collectionPeriodRRMNR, + is the interval between two measurements (collectionPeriodRRMNR, collectionPeriodM6NR, collectionPeriodM7NR, collectionPeriodRRMLTE, measurementPeriodLte, collectionPeriodM6LTE, collectionPeriodM7LTE, - collectionPeriodRRMUMTS, measurementPeriodUMTS) and the number of - reports (reportAmountM4NR, reportAmountM5NR, reportAmountM6NR, - reportAmountM7NR, reportAmountM4LTE, reportAmountM5LTE, + collectionPeriodRRMUMTS, measurementPeriodUMTS) and the number of + reports (reportAmountM4NR, reportAmountM5NR, reportAmountM6NR, + reportAmountM7NR, reportAmountM4LTE, reportAmountM5LTE, reportAmountM6LTE,reportAmountM7LTE). If no collection period is configured for M5 in UMTS, all available measurements are logged according to RRM configuration. - - Measurements M8 and M9 in NR or LTE are reported according to - configured M1 and/or M6 related UE measurement reporting. - + - Measurements M8 and M9 in NR or LTE are reported according to + configured M1 and/or M6 related UE measurement reporting. + "; - + leaf listOfMeasurements { when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; type enumeration { @@ -875,8 +875,8 @@ module _3gpp-common-trace { enum M8; enum M9; } - description "It specifies the UE measurements that shall be - collected in an Immediate MDT job. The attribute is + description "It specifies the UE measurements that shall be + collected in an Immediate MDT job. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.3 of 3GPP TS 32.422."; } @@ -916,7 +916,7 @@ module _3gpp-common-trace { reportingTrigger is configured for periodical measurements."; reference "5.10.5 of 3GPP TS 32.422."; } - + leaf reportAmount { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' and ../reportingTrigger = "PERIODICAL"'; @@ -934,7 +934,7 @@ module _3gpp-common-trace { reportingTrigger is configured for periodical measurements."; reference "Clause 5.10.6 of 3GPP TS 32.422"; } - + leaf eventThreshold { when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; type int64; @@ -944,7 +944,7 @@ module _3gpp-common-trace { configured for A2 event in LTE or 1F event or 1l event in UMTS."; reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - + leaf collectionPeriodRRMNR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; @@ -952,8 +952,8 @@ module _3gpp-common-trace { range "1024|2048|5120|10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM - configured measurement samples for M4, M5 in NR. The attribute is + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.30 of 3GPP TS 32.422"; } @@ -977,26 +977,26 @@ module _3gpp-common-trace { enum 12min; enum 30min; } - description "It specifies the collection period for the Packet Delay - measurement (M6) for NR MDT taken by the gNB. The attribute is + description "It specifies the collection period for the Packet Delay + measurement (M6) for NR MDT taken by the gNB. The attribute is applicable only for Immediate MDT. "; reference "clause 5.10.34 of TS 32.422"; } - + leaf collectionPeriodM7NR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1..60"; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT."; + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT."; reference "clause 5.10.35 of TS 32.422"; } leaf collectionPeriodRRMLTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum 100ms; @@ -1027,47 +1027,47 @@ module _3gpp-common-trace { enum 1min; } mandatory true; - description "It specifies the measurement period for the - Data Volume (M4) and Scheduled IP throughput + description "It specifies the measurement period for the + Data Volume (M4) and Scheduled IP throughput measurements (M5) for LTE MDT taken by the eNB. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.23 of 3GPP TS 32.422."; } - + leaf collectionPeriodM6LTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|2048|5120|10240"; } units milliseconds; - description "Specifies the collection period for the Packet Delay - measurement (M6) for MDT taken by the eNB. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, + description "Specifies the collection period for the Packet Delay + measurement (M6) for MDT taken by the eNB. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.32 of TS 32.422. "; } - + leaf collectionPeriodM7LTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint16 { range 1..60 ; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for LTE MDT taken by the eNB. The attribute is + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for LTE MDT taken by the eNB. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.33 of TS 32.422."; } leaf eventThresholdUphUMTS { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint16 { range 0..31 ; - } - description "It specifies the threshold which should trigger - the reporting in case of event-triggered periodic reporting for M4 + } + description "It specifies the threshold which should trigger + the reporting in case of event-triggered periodic reporting for M4 (UE power headroom measurement) in UMTS."; reference "Clause 5.10.39 of TS 32.422."; } @@ -1113,13 +1113,13 @@ module _3gpp-common-trace { job for a UMTS MDT configured for event triggered reporting."; reference "Clause 5.10.15 of 3GPP TS 32.422."; } - + leaf beamLevelMeasurement { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type boolean; default false; - description "Indicates whether the NR M1 beam level measurements shall + description "Indicates whether the NR M1 beam level measurements shall be included or not."; reference "Clause 5.10.40 of 3GPP TS 32.422."; } @@ -1135,7 +1135,7 @@ module _3gpp-common-trace { MDT job."; reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + list excessPacketDelayThresholds { description "Excess packet delay thresholds info for M6 UL measurement."; min-elements 1; @@ -1143,7 +1143,7 @@ module _3gpp-common-trace { leaf idx { type string; } uses ExcessPacketDelayThresholdsGrp; } - + leaf reportAmountM1LTE { type enumeration { enum 1; @@ -1155,14 +1155,14 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + leaf reportAmountM4LTE { type enumeration { enum 1; @@ -1174,10 +1174,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1193,10 +1193,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1212,10 +1212,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1231,10 +1231,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1250,10 +1250,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1269,12 +1269,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; - reference "Clause 5.10.6 of TS 32.422."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM5NR { @@ -1288,10 +1288,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1307,10 +1307,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1326,63 +1326,63 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; - reference "Clause 5.10.6 of TS 32.422."; + reference "Clause 5.10.6 of TS 32.422."; } } grouping LoggedMdtConfigGrp { - description "This <> defines the configuration parameters of + description "This <> defines the configuration parameters of IOC TraceJob which are specific for Logged MDT or Logged MBSFN MDT. - Based on the value configured for attribute jobType in IOC TraceJob, - different attributes are available. In case of LOGGED_MDT_ONLY, the - attributes reportType, eventListForEventTriggeredMeasurement, - eventThresholdL1, hysteresisL1, timeToTriggerL1, + Based on the value configured for attribute jobType in IOC TraceJob, + different attributes are available. In case of LOGGED_MDT_ONLY, the + attributes reportType, eventListForEventTriggeredMeasurement, + eventThresholdL1, hysteresisL1, timeToTriggerL1, areaConfigurationForNeighCells and npnIdentityList are applicable. - In case of LOGGED_MBSFN_MDT, + In case of LOGGED_MBSFN_MDT, the attribute mbsfnAreaList is applicable. The optional attribute - plmnList allows to specify the PLMNs where - measurement collection, status indication and log reporting is - allowed, the optional attribute areaConfigurationForNeighCell + plmnList allows to specify the PLMNs where + measurement collection, status indication and log reporting is + allowed, the optional attribute areaConfigurationForNeighCell allows to specify the area for which UE is requested to perform - measurements logging for neighbour cells which have list of - frequencies. - - For logged MDT in UMTS and LTE, the reporting is periodical. Parameter - loggingInterval determines the interval between the reports and parameter + measurements logging for neighbour cells which have list of + frequencies. + + For logged MDT in UMTS and LTE, the reporting is periodical. Parameter + loggingInterval determines the interval between the reports and parameter loggingDuration determines how long the configuration is valid meaning - after this duration has passed no further reports are sent. In NR, the - reporting can be periodical or event based, determined by parameter - reportType. For periodical reporting the same parameters as in LTE and - UMTS apply. For event based reporting, - parameter eventListForEventTriggeredMeasurement configures the event type, - namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as + after this duration has passed no further reports are sent. In NR, the + reporting can be periodical or event based, determined by parameter + reportType. For periodical reporting the same parameters as in LTE and + UMTS apply. For event based reporting, + parameter eventListForEventTriggeredMeasurement configures the event type, + namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as event type, the logging is performed according to parameter loggingInterval at regular intervals only when the conditions indicated by - eventThresholdL1, hysteresisL1, timeToTriggerL1 (defining the thresholds, + eventThresholdL1, hysteresisL1, timeToTriggerL1 (defining the thresholds, hysteresis and time to trigger) are met and if UE is 'camped normally' - state (TS 38.331, + state (TS 38.331, TS 38.304). In case 'out of coverage' is selected as event type, the - logging is performed according to parameter loggingInterval at regular - intervals only when the UE is in 'any cell selection' state. + logging is performed according to parameter loggingInterval at regular + intervals only when the UE is in 'any cell selection' state. Furthermore, logging is performed immediately upon transition from the - 'any cell selection' state to the 'camped normally' state (TS 38.331, + 'any cell selection' state to the 'camped normally' state (TS 38.331, TS 38.304)."; - + leaf traceCollectionEntityId { type int64; - description "It specifies the TCE Id which is sent to the UE in + description "It specifies the TCE Id which is sent to the UE in Logged MDT."; reference "Clause 5.10.11 of 3GPP TS 32.422."; } - + leaf loggingDuration { - when '../../../jobType = "LOGGED_MDT_ONLY" or' + when '../../../jobType = "LOGGED_MDT_ONLY" or' + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "600|1200|2400|3600|5400|7200"; @@ -1395,7 +1395,7 @@ module _3gpp-common-trace { } leaf loggingInterval { - when '../../../jobType = "LOGGED_MDT_ONLY" or' + when '../../../jobType = "LOGGED_MDT_ONLY" or' + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; type enumeration { enum 320ms; @@ -1414,7 +1414,7 @@ module _3gpp-common-trace { applicable only for Logged MDT and Logged MBSFN MDT."; reference "Clause 5.10.8 of 3GPP TS 32.422"; } - + leaf reportType { when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; type enumeration { @@ -1424,7 +1424,7 @@ module _3gpp-common-trace { description "It specifies report type for logged NR MDT"; reference "Clause 5.10.27 of 3GPP TS 32.422."; } - + leaf eventListForEventTriggeredMeasurement { when '../../../jobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -1441,29 +1441,29 @@ module _3gpp-common-trace { } leaf eventThresholdL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or' + when '../../../jobType = "LOGGED_MDT_ONLY" or' + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..127"; } - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT and when reportType - is configured for event triggered reporting and when + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT and when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.36 of TS 32.422"; } - + leaf hysteresisL1 { when '../../../jobType = "LOGGED_MDT_ONLY" or ' + '../../../jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..30"; } - description "It specifies the hysteresis used within the entry and leave - condition of the L1 event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when + description "It specifies the hysteresis used within the entry and leave + condition of the L1 event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.37 of TS 32.422"; } @@ -1475,14 +1475,14 @@ module _3gpp-common-trace { range 0|40|64|80|100|128|160|256|320|480|512|640|1024|1280|2560|5120; } units milliseconds; - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.38 of TS 32.422"; } - + list areaConfigurationForNeighCell { when '../../../jobType = "LOGGED_MDT_ONLY"'; key "idx"; @@ -1506,34 +1506,34 @@ module _3gpp-common-trace { Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. This parameter is applicable only if the job type is Logged MBSFN MDT."; reference "Clause 5.10.25 of 3GPP TS 32.422."; - + uses MbsfnAreaGrp; } - + list nPNIdentityList { - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell. (NPN-Identity referring to TS 38.331)"; key idx; - max-elements 1; + max-elements 1; uses types3gpp:NpnIdGrp; leaf idx { type string;} } } grouping MdtConfigGrp { - description "Defines the configuration parameters of IOC - TraceJob which are specific for MDT. The attribute - anonymizationOfMdtData specifies the level of anonymization + description "Defines the configuration parameters of IOC + TraceJob which are specific for MDT. The attribute + anonymizationOfMdtData specifies the level of anonymization of MDT data. The attribute areaScope defines the area scope of MDT, which is specified in clause 5.10.2 of TS 32.422. - The optional attribute sensorInformation allows to specify - the sensor information to include. Based on the value - configured for attribute jobType in IOC TraceJob, the attributes - immediateMdtConfig or loggedMdtConfig are available: In case of - IMMEDIATE_MDT_ONLY or IMMEDIATE_MDT_AND_TRACE the attribute - immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or + The optional attribute sensorInformation allows to specify + the sensor information to include. Based on the value + configured for attribute jobType in IOC TraceJob, the attributes + immediateMdtConfig or loggedMdtConfig are available: In case of + IMMEDIATE_MDT_ONLY or IMMEDIATE_MDT_AND_TRACE the attribute + immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or LOGGED_MBSFN_MDT the attribute loggedMdtConfig is applicable."; leaf anonymizationOfMdtData { @@ -1552,8 +1552,8 @@ module _3gpp-common-trace { key "idx"; leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; - max-elements 1; - uses AreaScopeGrp; + max-elements 1; + uses AreaScopeGrp; } leaf-list sensorInformation { @@ -1568,32 +1568,32 @@ module _3gpp-common-trace { } list immediateMdtConfig { - description "The set of parameters specific for Immediate MDT + description "The set of parameters specific for Immediate MDT configuration."; key idx; max-elements 1; leaf idx { type string; } uses ImmediateMdtConfigGrp; } - + list loggedMdtConfig { - description "The set of parameters specific for Logged MDT and Logged + description "The set of parameters specific for Logged MDT and Logged MBSFN MDT configuration."; key idx; max-elements 1; leaf idx { type string; } uses LoggedMdtConfigGrp; - } - + } + leaf mNOnly { type boolean; default false; - description "Specifies whether the MDT configuration is for MN - only or not. The value FALSE means the MDT configuration is for - both MN and SN. The value TRUE means the MDT configuration is + description "Specifies whether the MDT configuration is for MN + only or not. The value FALSE means the MDT configuration is for + both MN and SN. The value TRUE means the MDT configuration is for MN only."; - } - + } + list plmnList { key "mcc mnc"; uses types3gpp:PLMNId; @@ -1601,23 +1601,23 @@ module _3gpp-common-trace { 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 { description "Represents the UECoreMeasConfig dataType. This <> defines the aconfiguration parameters of IOC TraceJob which are specific for UE level measurements collection."; - + leaf-list ueCoreMeasurements { type string; min-elements 1; description "List of 5GC UE level measurements identified by name. - The list may include 5GC UE level measurements defined in TS 28.558, + The list may include 5GC UE level measurements defined in TS 28.558, or vendor specific measurements. - - For non-3GPP specified 5GC UE level measurements the name is defined + + For non-3GPP specified 5GC UE level measurements the name is defined elsewhere."; } @@ -1625,21 +1625,21 @@ module _3gpp-common-trace { type uint32; mandatory true; units milliseconds; - description "Granularity period used to produce 5GC UE + description "Granularity period used to produce 5GC UE level measurements. The period is defined in milliseconds (ms)."; } leaf nfTypeToMeasure { type string; mandatory true; - description "It indicates the type of NE to produce the 5GC UE level + description "It indicates the type of NE to produce the 5GC UE level measurements. - - allowedValues: The NF types represented by the measured object - classes as defined by f) of the 5GC UE level measurements specified + + allowedValues: The NF types represented by the measured object + classes as defined by f) of the 5GC UE level measurements specified in TS 28.558."; - } - + } + leaf-list objectInstances { type string; description "List of object instances. @@ -1669,13 +1669,13 @@ module _3gpp-common-trace { enum 5GC_UE_LEVEL_MEASUREMENTS_ONLY; enum TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS; enum IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; - enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; + enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; enum RRC_REPORT; } default TRACE_ONLY; description "It specifies whether the - TraceJob represents only MDT, Trace, RLF, RCEF, RRC or 5GC UE - level measurements job, or a combined job. It also defines the + TraceJob represents only MDT, Trace, RLF, RCEF, RRC or 5GC UE + level measurements job, or a combined job. It also defines the MDT mode."; reference "Clause 5.9a of 3GPP TS 32.422."; } @@ -1697,7 +1697,7 @@ module _3gpp-common-trace { description "It specifies which PLMN that the subscriber of the session to be recorded uses as selected PLMN."; reference "Clause 5.9b of 3GPP TS 32.422"; - + uses types3gpp:PLMNId; } @@ -1706,10 +1706,10 @@ module _3gpp-common-trace { + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type string; description "List of trace metrics identified by name. - Includes trace messages, MDT measurements (Immediate MDT, - Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, + Includes trace messages, MDT measurements (Immediate MDT, + Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, see TS 32.422 Trace messages are identified with their message - identifier. Trace metric identifier is constructed as defined + identifier. Trace metric identifier is constructed as defined in clause 10 of TS 32.422. For non-3GPP specified trace metrics the name is defined elsewhere. "; @@ -1718,13 +1718,13 @@ module _3gpp-common-trace { leaf traceCollectionEntityIPAddress { type inet:ip-address; - description "It specifies the address of the Trace Collection Entity - when the attribute traceReportingFormat is configured for the - file-based reporting. The attribute is applicable for both Trace and + description "It specifies the address of the Trace Collection Entity + when the attribute traceReportingFormat is configured for the + file-based reporting. The attribute is applicable for both Trace and MDT."; reference "Clause 5.9 of 3GPP TS 32.422."; } - + leaf traceReportingConsumerUri { when '../traceReportingFormat = "STREAMING"'; @@ -1733,7 +1733,7 @@ module _3gpp-common-trace { (a.k.a. streaming target)."; reference "Clause 5.9 of 3GPP TS 32.422."; } - + list traceReference { key "idx"; min-elements 1; @@ -1746,7 +1746,7 @@ module _3gpp-common-trace { reference "Clause 5.6 of 3GPP TS 32.422."; leaf idx { type uint32 ; } - uses trace3gpp:TraceReferenceGrp ; + uses trace3gpp:TraceReferenceGrp ; } leaf jobId { @@ -1765,15 +1765,15 @@ module _3gpp-common-trace { reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } - + list traceTarget { key "traceTargetType"; max-elements 1; - description "It specifies the target object of the Trace, MDT and + 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 + In case of management based Immediate MDT, RLF reporting, RCEF + reporting or RRC reposring, the traceTarget attribute shall be null value."; leaf traceTargetType { @@ -1791,15 +1791,15 @@ module _3gpp-common-trace { enum SUPI; enum N4_SESSION_ID; } - description "It specifies the target object of the Trace, MDT and + 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) + Function) or PCSCFFunction (Proxy Call Session Control Function) - The targetIdType shall be UTRAN_CELL only in case of + 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 @@ -1834,27 +1834,27 @@ module _3gpp-common-trace { - UPFFunction - UDMFunction - In case of signalling based MDT, the targetIdType shall be + 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. + 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 + + 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-list traceTargetValueList { type string; - description "It specifies the ID value(s) of the target object defined + description "It specifies the ID value(s) of the target object defined by traceTargetType"; } @@ -1865,50 +1865,50 @@ module _3gpp-common-trace { when '../jobType = "TRACE_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = - "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "Trace config"; max-elements 1; - uses TraceConfigGrp; + uses TraceConfigGrp; leaf idx { type string; } } - - list mdtConfig { + + list mdtConfig { when '../jobType = "IMMEDIATE_MDT_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + ' or ../jobType = "RLF_REPORT_ONLY"' + ' or ../jobType = "RCEF_REPORT_ONLY"' + ' or ../jobType = "LOGGED_MBSFN_MDT"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = + + ' or ../jobType = "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "MDT config"; - max-elements 1; + max-elements 1; uses MdtConfigGrp; - leaf idx { type string; } + leaf idx { type string; } } - list ueCoreMeasConfig { + list ueCoreMeasConfig { when '../jobType = "5GC_UE_LEVEL_MEASUREMENTS_ONLY"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = + + ' or ../jobType = "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "5GC UE level measurements config"; - max-elements 1; + max-elements 1; uses UECoreMeasConfigGrp; - leaf idx { type string; } + leaf idx { type string; } } - + list nPNTarget { - description "applicable only for NR and shall be present in case of NPN - either a PNI-NPN or a SNPN) and for management-based activation when + description "applicable only for NR and shall be present in case of NPN + either a PNI-NPN or a SNPN) and for management-based activation when several NPNs are supported in the RAN."; key idx; - max-elements 1; + max-elements 1; uses types3gpp:NpnIdGrp; leaf idx { type string;} } @@ -1925,75 +1925,75 @@ module _3gpp-common-trace { augment all user classes!"; list TraceJob { - description "A TraceJob instance represents the Trace Control and - Configuration parameters of a particular Trace Job (see TS 32.421 and - TS 32.422 for details). It can be name-contained by SubNetwork, + description "A TraceJob instance represents the Trace Control and + Configuration parameters of a particular Trace Job (see TS 32.421 and + TS 32.422 for details). It can be name-contained by SubNetwork, ManagedElement, ManagedFunction. - To activate Trace Jobs, a MnS consumer has to create TraceJob object - instances on the MnS producer. A MnS consumer can activate a Trace Job - for another MnS consumer since it is not required the value of - traceCollectionEntityIPAddress or traceReportingConsumerUri to be + To activate Trace Jobs, a MnS consumer has to create TraceJob object + instances on the MnS producer. A MnS consumer can activate a Trace Job + for another MnS consumer since it is not required the value of + traceCollectionEntityIPAddress or traceReportingConsumerUri to be his own. - For the details of Trace Job activation see clauses 4.1.1.1.2 and + For the details of Trace Job activation see clauses 4.1.1.1.2 and 4.1.2.1.2 of TS 32.422. - When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - + When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer + shall delete the corresponding TraceJob instance. + For details of management Trace Job activation/deactivation see clause 4.1.1.1.2 of TS 32.422. - The attribute traceReference specifies a globally unique ID and - identifies a Trace session. One Trace Session may be activated to + The attribute traceReference specifies a globally unique ID and + identifies a Trace session. One Trace Session may be activated to multiple Network Elements. The traceReference is populated by the consumer that makes the request for a Trace Session. - The jobId attribute presents the job identifier of a TraceJob instance. - The jobId can be used to associate multiple TraceJob instances. - For example, it is possible to configure the same jobId value for - multiple TraceJob instances required to produce the data (e.g. RSRP + The jobId attribute presents the job identifier of a TraceJob instance. + The jobId can be used to associate multiple TraceJob instances. + For example, it is possible to configure the same jobId value for + multiple TraceJob instances required to produce the data (e.g. RSRP values of M1 and RLF reports) for a specific network analysis. - The attribute traceReportingFormat defines the method for reporting - the produced measurements. The selectable options are file-based or - stream-based reporting. In case of file-based reporting the attribute - traceCollectionEntityIPAddress is used to specify the IP address to - which the trace records shall be transferred, while in case of - stream-based reporting the attribute traceReportingConsumerUri + The attribute traceReportingFormat defines the method for reporting + the produced measurements. The selectable options are file-based or + stream-based reporting. In case of file-based reporting the attribute + traceCollectionEntityIPAddress is used to specify the IP address to + which the trace records shall be transferred, while in case of + stream-based reporting the attribute traceReportingConsumerUri specifies the streaming target. - The mandatory attribute traceTarget determines the target object of - the TraceJob. Dependent on the network element to which the Trace - Session is activated different types of the target object are possible. - The attribute pLMNTarget defines the PLMN for which sessions shall be - selected in the Trace Session in case of management based activation + The mandatory attribute traceTarget determines the target object of + the TraceJob. Dependent on the network element to which the Trace + Session is activated different types of the target object are possible. + The attribute pLMNTarget defines the PLMN for which sessions shall be + selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN.The MDT configuration may - include area scope defined by network slice, in which case + include area scope defined by network slice, in which case the attribute pLMNTarget is not applicable. The attribute listOfTraceMetrics allows configuraton of which metrics shall be recorded. - The attribute jobType specifies the kind of data to collect. In case of - TRACE_ONLY, the configuration parameters of attribute traceConfig - shall be applied. In case of IMMEDIATE_MDT_ONLY, LOGGED_MDT_ONLY, - RLF_REPORT_ONLY, RCEF_REPORT_ONLY and LOGGED_MBSFN_MDT the - configuration parameters of - attribute mdtConfig or a subset of these shall be applied. In case of + The attribute jobType specifies the kind of data to collect. In case of + TRACE_ONLY, the configuration parameters of attribute traceConfig + shall be applied. In case of IMMEDIATE_MDT_ONLY, LOGGED_MDT_ONLY, + RLF_REPORT_ONLY, RCEF_REPORT_ONLY and LOGGED_MBSFN_MDT the + configuration parameters of + attribute mdtConfig or a subset of these shall be applied. In case of 5GC_UE_LEVEL_MEASUREMENTS_ONLY, the configuration parameters - of attribute ueCoreMeasConfig shall be applied. In case of any - combination of Trace, Immediate MDT, and 5GC UE level measurements, + of attribute ueCoreMeasConfig shall be applied. In case of any + combination of Trace, Immediate MDT, and 5GC UE level measurements, the configuration parameters - of the corresponding attributes, traceConfig, mdtConfig and + of the corresponding attributes, traceConfig, mdtConfig and ueCoreMeasConfig are applicable. - If jobType has the value RRC Report, the attribute rrcReportType shall + If jobType has the value RRC Report, the attribute rrcReportType shall bepresent. The rrcReportType allows the tracing of RRC reports. - Creation and deletion of TraceJob instances by MnS consumers is - optional; when not supported, the TraceJob instances may be created + Creation and deletion of TraceJob instances by MnS consumers is + optional; when not supported, the TraceJob instances may be created and deleted by the system or be pre-installed."; key id; diff --git a/yang-models/_3gpp-common-util.yang b/yang-models/_3gpp-common-util.yang index 040b1f501..0f0c11a39 100644 --- a/yang-models/_3gpp-common-util.yang +++ b/yang-models/_3gpp-common-util.yang @@ -1,10 +1,10 @@ module _3gpp-common-util { - yang-version 1.1; + yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-common-util; prefix "util3gpp"; - + import ietf-yang-types { prefix yang ; } - import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp ; } import _3gpp-common-managed-element { prefix me3gpp ; } import _3gpp-common-subnetwork { prefix subnet3gpp ; } @@ -13,60 +13,60 @@ module _3gpp-common-util { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines Utility IOCs: ConditionMonitor, Scheduler - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; revision 2024-08-13 { reference CR-0387; } - revision 2024-07-30 { reference "CR-0392 CR-0393"; } + revision 2024-07-30 { reference "CR-0392 CR-0393"; } revision 2024-05-06 { reference CR-0359; } feature SchedulerUnderManagedElement { description "Scheduler shall be contained under ManagedElement."; - } + } feature SchedulerUnderSubNetwork { description "Scheduler shall be contained under SubNetwork."; - } - + } + grouping TimeIntervalGrp { - description "This data type defines a time interval within one day. - If the whole day shall be selected, intervalStart shall be set to + description "This data type defines a time interval within one day. + If the whole day shall be selected, intervalStart shall be set to 00:00:00 and intervalEnd shall be set to 23:59:59."; - + leaf intervalStart { type types3gpp:FullTime; mandatory true; - description "It indicates the time (in 'full-time' format) when the + description "It indicates the time (in 'full-time' format) when the service shall be started. - Data type 'FullTime' defines the time as specified by 'full-time' + Data type 'FullTime' defines the time as specified by 'full-time' in RFC3339."; } - + leaf intervalEnd { type types3gpp:FullTime; mandatory true; - description "It indicates the time (in 'full-time' format) when the + description "It indicates the time (in 'full-time' format) when the service shall be stopped. 'FullTime' defines the time as specified by 'full-time' in RFC3339. - intervalEnd should use the same timezone as intervalStart and shall + intervalEnd should use the same timezone as intervalStart and shall be later then intervalStart"; } } - + grouping SchedulingTimeGrp { - description "This <> defines the scheduling time and allows to - configure one of four possible scheduling methods: + description "This <> defines the scheduling time and allows to + configure one of four possible scheduling methods: - - One time interval: The attribute timeWindow presents the active + - One time interval: The attribute timeWindow presents the active scheduling time. A duration more than one day may be configured. - - Daily periodicity: Several active intervals per day can be configured + - Daily periodicity: Several active intervals per day can be configured in attribute timeIntervals. The active scheduling times recur each day. - - Weekly periodicity: Several active intervals for one day can be - configured in attribute timeIntervals. The active scheduling times recur - on the days of the weeks configured by attribute daysOfWeek - - Monthly periodicity: Several active intervals for one day can be - configured in attribute timeIntervals. The active scheduling times + - Weekly periodicity: Several active intervals for one day can be + configured in attribute timeIntervals. The active scheduling times recur + on the days of the weeks configured by attribute daysOfWeek + - Monthly periodicity: Several active intervals for one day can be + configured in attribute timeIntervals. The active scheduling times recur on the days of the months configured by attribute daysOfMonth."; choice SchedulingTime { mandatory true; @@ -75,7 +75,7 @@ module _3gpp-common-util { } case periodic { list timeIntervals { - description "List of intervals within one day for which the service + description "List of intervals within one day for which the service shall be active."; key "intervalStart intervalEnd"; min-elements 1; @@ -83,23 +83,23 @@ module _3gpp-common-util { } leaf daysOfWeek { must 'not(../daysOfMonth)'; - description "Shall be present in case of Weekly periodicity, + description "Shall be present in case of Weekly periodicity, otherwise not"; type types3gpp:DayOfWeek; } leaf daysOfMonth { must 'not(../daysOfWeek)'; - description "Shall be present in case of Monthly periodicity, + description "Shall be present in case of Monthly periodicity, otherwise not"; type types3gpp:DateMonthDay; } } } } - + grouping SchedulerGrp { description "Represents the Scheduler IOC."; - + list schedulingTimes { description "It defines the active scheduling times."; min-elements 1; @@ -107,36 +107,36 @@ module _3gpp-common-util { leaf idx { type uint32; } uses SchedulingTimeGrp; } - + leaf schedulerStatus { type boolean; mandatory true; config false; - description "Switches between TRUE and FALSE depending upon whether the + description "Switches between TRUE and FALSE depending upon whether the configured time constraints are fulfilled or not."; } } - + grouping SchedulerSubtree { list Scheduler { - description "This IOC defines a time scheduler. + description "This IOC defines a time scheduler. It can be name-contained by SubNetwork or ManagedElement. - - The attribute schedulingTimes allows to configure one or several - active time intervals. The active intervals can be configured to occur + + The attribute schedulingTimes allows to configure one or several + active time intervals. The active intervals can be configured to occur once or recurring periodically. - - The boolean attribute schedulerStatus switches between TRUE and FALSE - depending upon whether the configured time constraints are fulfilled + + The boolean attribute schedulerStatus switches between TRUE and FALSE + depending upon whether the configured time constraints are fulfilled or not. This attribute makes the internal Scheduler status observable."; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses SchedulerGrp; - } + } } } - + augment /me3gpp:ManagedElement { if-feature SchedulerUnderManagedElement; uses SchedulerSubtree; @@ -145,73 +145,73 @@ module _3gpp-common-util { if-feature SchedulerUnderSubNetwork; uses SchedulerSubtree; } - + /////////////////////////////////////////////////////////////////////////////// feature ConditionMonitorUnderManagedElement { description "ConditionMonitor shall be contained under ManagedElement."; - } + } feature ConditionMonitorUnderSubNetwork { description "ConditionMonitor shall be contained under SubNetwork."; - } + } grouping ConditionMonitorGrp { description "Represents the Scheduler IOC."; - + leaf condition { type yang:xpath1.0 { length 1..max; } mandatory true; - description "A logical condition containing an XPath expression. - The leaf contains an XPath 1.0 string with the following restrictions - - The accessible tree is the full Network Resource Model - - The root node is the list representing the top level MOI + description "A logical condition containing an XPath expression. + The leaf contains an XPath 1.0 string with the following restrictions + - The accessible tree is the full Network Resource Model + - The root node is the list representing the top level MOI (E.g. ManagedElement) - In the accessible tree, all leafs and leaf-lists with default values in use exist - - The data tree has no concept of document order except when 'ordered-by + - The data tree has no concept of document order except when 'ordered-by user' is declared. - The set of variable bindings is empty. - The function library is the core function library defined in XPATH - - Namespaces should be ignored when evaluating the expression + - Namespaces should be ignored when evaluating the expression An empty string is not allowed."; } - + leaf conditionStatus { type boolean; mandatory true; config false; description "The boolean result of the condition. - Switches between TRUE and FALSE depending upon whether the + Switches between TRUE and FALSE depending upon whether the configured constraints are fulfilled or not."; } } - + grouping ConditionMonitorSubtree { list ConditionMonitor { - description "This IOC defines one or several conditions and monitors - whether these conditions are satisfied. It can be name-contained by + description "This IOC defines one or several conditions and monitors + whether these conditions are satisfied. It can be name-contained by SubNetwork or ManagedElement. - - The attribute condition allows to configure one or several conditions. - Possible conditions include but are not limited to scheduling - requirements or parameter settings e.g. evaluation if a configuration - parameter is above a certain threshold or has a certain values. - - The boolean attribute conditionStatus switches between TRUE and FALSE - depending upon whether the configured conditions are fulfilled or not. + + The attribute condition allows to configure one or several conditions. + Possible conditions include but are not limited to scheduling + requirements or parameter settings e.g. evaluation if a configuration + parameter is above a certain threshold or has a certain values. + + The boolean attribute conditionStatus switches between TRUE and FALSE + depending upon whether the configured conditions are fulfilled or not. This attribute makes the internal ConditionMonitor status observable."; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses ConditionMonitorGrp; - } + } } } - + augment /me3gpp:ManagedElement { if-feature ConditionMonitorUnderManagedElement; uses ConditionMonitorSubtree; @@ -219,5 +219,5 @@ module _3gpp-common-util { augment /subnet3gpp:SubNetwork { if-feature ConditionMonitorUnderSubNetwork; uses ConditionMonitorSubtree; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 0b1c1ee27..6f32cfcb9 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -6,7 +6,7 @@ module _3gpp-common-yang-extensions { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The module defines YANG extensions needed + description "The module defines YANG extensions needed 3GPP YANG modeling. Extensions MUST be defined with the following structure in the @@ -18,7 +18,7 @@ module _3gpp-common-yang-extensions { - This statement can have the following substatements with cardinality x..y. - Newline - - Is changing this statement an editorial, BC(backwards compatible) + - Is changing this statement an editorial, BC(backwards compatible) or NBC(non-BC) change? - Newline. - The argument its meaning and type. Preferably use YANG types and @@ -38,7 +38,7 @@ module _3gpp-common-yang-extensions { If support for an extension is missing the extension statement needs individual handling or it SHOULD be removed from the module using the extension e.g. with a deviation. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -46,77 +46,77 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2025-01-12 { reference "CR-0507, 0492" ; } - revision 2024-04-05 { reference "CR-0332, 0333" ; } - revision 2023-09-17 { reference "CR-0270, 0271" ; } + revision 2025-01-12 { reference "CR-0507, 0492" ; } + revision 2024-04-05 { reference "CR-0332, 0333" ; } + revision 2023-09-17 { reference "CR-0270, 0271" ; } revision 2022-10-31 { reference "CR-0195, 0196"; } revision 2019-06-23 { reference "Initial version"; } extension only-system-created { description - "Indicates that the MOI can only be created and deleted by the - MnS producer. + "Indicates that the MOI can only be created and deleted by the + MnS producer. System created MOIs can have both read-only and read-write data - node children. Implementers shall add the extension to standard + node children. Implementers shall add the extension to standard models if they restrict creation/deletion of an IOC. - + The statement MUST only be a sub-statement of the list statement, with the parent list statement representing an IOC. Zero or one only-system-created statement per parent statement is allowed. No sub-statements are allowed. - - Adding this statement is an NBC change, - removing it is BC, however if the system behavior is also changed in + + Adding this statement is an NBC change, + removing it is BC, however if the system behavior is also changed in parallel (the system stops creating the MOIs), this behavior is NBC."; } extension notNotifyable { description - "Indicates that data change notifications shall not be sent - for this attribute. If the extension is not present and other + "Indicates that data change notifications shall not be sent + for this attribute. If the extension is not present and other conditions are fulfilled data change notification should be sent. - - If a list or container already has the notNotifyable + + If a list or container already has the notNotifyable extension, that is also valid for all contained data nodes. The statement MUST only be a substatement of a leaf, leaf-list, list, - container statement that is contained within the 'attributes' - container of an IOC and that represents an attribute or sub-parts of - an attribute. If the attribute is represented by a container or list, - the statement shall be put on these, not on data nodes inside the + container statement that is contained within the 'attributes' + container of an IOC and that represents an attribute or sub-parts of + an attribute. If the attribute is represented by a container or list, + the statement shall be put on these, not on data nodes inside the list/container. Zero or one notNotifyable statement is allowed per parent statement. NO substatements are allowed. - + Adding this statement is an NBC change, removing it is BC."; } extension inVariant { description - "Indicates that the value for the data node can only be set when the list + "Indicates that the value for the data node can only be set when the list data node representing the containing object(MOI) is created. - The above statement in YANG terms means, that the value for the data - node can only be set when the list entry that is the parent of the - restricted node's ancestor container named 'attributes' is being created. - To change the value after that, the mentioned + The above statement in YANG terms means, that the value for the data + node can only be set when the list entry that is the parent of the + restricted node's ancestor container named 'attributes' is being created. + To change the value after that, the mentioned list data node must be deleted and recreated with the restricted data node having the new value. - If a list or container already has the inVariant + If a list or container already has the inVariant extension, that is also valid for all contained data nodes. It is unnecessary to use and MUST NOT be used for key leafs. The statement MUST only be a substatement of a leaf, leaf-list, list, - container statement that is contained within the 'attributes' - container of an IOC and that represents an attribute or sub-parts of - an attribute and is config=true. If the attribute is represented by a - container or list, the statement shall be put on these, not on data + container statement that is contained within the 'attributes' + container of an IOC and that represents an attribute or sub-parts of + an attribute and is config=true. If the attribute is represented by a + container or list, the statement shall be put on these, not on data nodes inside the list/container. Zero or one inVariant statement is allowed per parent statement. NO substatements are allowed. - + Adding this statement is an NBC change, removing it is BC."; } @@ -130,10 +130,10 @@ module _3gpp-common-yang-extensions { the label 'Initial-value: ' followed by the text from the argument. The statement MUST only be a substatement of a leaf or leaf-list. - The statement MUST NOT be present if the leaf or the leaf-list - has a default statement or the type used for the data node + The statement MUST NOT be present if the leaf or the leaf-list + has a default statement or the type used for the data node has a default value. - The statement MUST NOT be used for config=false data or in an + The statement MUST NOT be used for config=false data or in an action, rpc or notification. Zero or one initial-value statements are allowed for a leaf parent statement. Zero or more initial-value statements are allowed for a diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index e060a1203..769690e65 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -2,31 +2,31 @@ module _3gpp-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-yang-types"; prefix "types3gpp"; - + import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and network slicing. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - revision 2025-02-19 { reference CR-0512; } + revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } - revision 2024-11-25 { reference CR-1442; } - revision 2024-11-25 { reference CR-1412; } - revision 2024-11-01 { reference CR-0463; } - revision 2024-08-13 { reference CR-0387; } - revision 2024-05-18 { reference CR-0359; } - revision 2024-04-12 { reference CR-0346; } + revision 2024-11-25 { reference CR-1442; } + revision 2024-11-25 { reference CR-1412; } + revision 2024-11-01 { reference CR-0463; } + revision 2024-08-13 { reference CR-0387; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-06 { reference CR-0305; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-09 { reference CR-0266; } revision 2023-05-10 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } @@ -35,7 +35,7 @@ module _3gpp-common-yang-types { revision 2022-07-26 { reference "CR-0180" ; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } - + revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; @@ -50,7 +50,7 @@ module _3gpp-common-yang-types { description "Removed faulty when statements."; reference "SP-200229"; } - + revision 2019-10-25 { description "Added ManagedNFProfile."; reference "S5-194457"; @@ -71,7 +71,7 @@ module _3gpp-common-yang-types { enum ENABLED ; } } - + grouping nameValuePair { leaf name { type string; } leaf value { type string; } @@ -88,7 +88,7 @@ module _3gpp-common-yang-types { enum Sunday; } } - + typedef DayOfWeek { type enumeration { enum MONDAY; @@ -100,26 +100,26 @@ module _3gpp-common-yang-types { enum SUNDAY; } } - + typedef DateMonth { type uint8 { range 0..12; } } - + typedef DateMonthDay { type uint8 { range 0..31; } } - + typedef FullTime { type yang:time-with-zone-offset; } - + grouping DayInYearGrp { description "This <> represents a day in a year."; - + leaf month { description "It indicates the month in a year."; type DateMonth; @@ -142,85 +142,85 @@ module _3gpp-common-yang-types { type yang:date-and-time; yext3gpp:inVariant; } - } - + } + grouping ProcessMonitorGrp { - description "Provides attributes to monitor the progress of processes - with specific purpose and limited lifetime running on MnS producers. - It may be used as data type for dedicated progress monitor attributes - when specifying the management representation of these processes. - The attributes in this clause are defined in a generic way. - For some attributes specialisations may be provided when specifying a + description "Provides attributes to monitor the progress of processes + with specific purpose and limited lifetime running on MnS producers. + It may be used as data type for dedicated progress monitor attributes + when specifying the management representation of these processes. + The attributes in this clause are defined in a generic way. + For some attributes specialisations may be provided when specifying a concrete process representation. - If a management operation on some IOCs triggers an associated - asynchronous process (whose progress shall be monitored), this should - also result in creating an attribute named 'processMonitor' (of type - 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be + If a management operation on some IOCs triggers an associated + asynchronous process (whose progress shall be monitored), this should + also result in creating an attribute named 'processMonitor' (of type + 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be accompanied by use-case specific additional data items. - The progress of the process is described by the 'status' and - 'progressPercentage' attributes. Additional textual qualifications for - the 'status' attribute may be provided by the 'progressStateInfo' and + The progress of the process is described by the 'status' and + 'progressPercentage' attributes. Additional textual qualifications for + the 'status' attribute may be provided by the 'progressStateInfo' and 'resultStateInfo' attributes. - When the process is instantiated, the 'status' is set to 'NOT_RUNNING' - and the 'progressPercentage' to '0'. The MnS producer decides when to - start executing the process and to transition into the 'RUNNING' state. - This time is captured in the 'startTime' attribute. Alternatively, the - process may start to execute directly upon its instantiation. One + When the process is instantiated, the 'status' is set to 'NOT_RUNNING' + and the 'progressPercentage' to '0'. The MnS producer decides when to + start executing the process and to transition into the 'RUNNING' state. + This time is captured in the 'startTime' attribute. Alternatively, the + process may start to execute directly upon its instantiation. One alternative must be selected when using this data type. - During the 'RUNNING' state the 'progressPercentage' attribute may be - repeatedly updated. The exact semantic of this attribute is subject to - further specialisation. The 'progressInfo' attribute may be used to - provide additional textual information in the 'NOT_RUNNING', 'CANCELLING' - and 'RUNNING' states. Further specialisation of - 'progressStateInfo' may be provided where this data type is + During the 'RUNNING' state the 'progressPercentage' attribute may be + repeatedly updated. The exact semantic of this attribute is subject to + further specialisation. The 'progressInfo' attribute may be used to + provide additional textual information in the 'NOT_RUNNING', 'CANCELLING' + and 'RUNNING' states. Further specialisation of + 'progressStateInfo' may be provided where this data type is used. - Upon successful completion of the process, the 'status' attribute is set - to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in - the 'endTime' attribute. Additional textual information may be provided - in the 'resultStateInfo' attribute. The type of - 'resultStateInfo' in this data type definition is 'String'. - Further specialisation of 'resultStateInfo' may be provided + Upon successful completion of the process, the 'status' attribute is set + to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in + the 'endTime' attribute. Additional textual information may be provided + in the 'resultStateInfo' attribute. The type of + 'resultStateInfo' in this data type definition is 'String'. + Further specialisation of 'resultStateInfo' may be provided where this data type is used. - In case the process fails to complete successfully, the 'status' - attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of - 'progressPercentage' is frozen, and the time captured in 'endTime'. The - 'resultStateInfo' specifies the reason for the failure. - Specific failure reasons may be specified where the data type defined in - this clause is used. The exact semantic of failure may be subject for + In case the process fails to complete successfully, the 'status' + attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of + 'progressPercentage' is frozen, and the time captured in 'endTime'. The + 'resultStateInfo' specifies the reason for the failure. + Specific failure reasons may be specified where the data type defined in + this clause is used. The exact semantic of failure may be subject for further specialisation as well. - In case the process is cancelled, the 'status' attribute is first set to - 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. - The transition to 'CANCELLED' is captured in the 'endTime' attribute. - The value of 'progressPercentage' is frozen. Additional textual + In case the process is cancelled, the 'status' attribute is first set to + 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. + The transition to 'CANCELLED' is captured in the 'endTime' attribute. + The value of 'progressPercentage' is frozen. Additional textual information may be provided in the 'resultStateInfo' attribute. - The 'resultStateInfo' attribute is provided only for additional textual - qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or - 'CANCELLED'. It shall not be used for making the outcome, that the + The 'resultStateInfo' attribute is provided only for additional textual + qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or + 'CANCELLED'. It shall not be used for making the outcome, that the process may produce in case of success, available. - The process may have to be completed within a certain time after its - creation, for example because required data may not be available any - more after a certain time, or the process outcome is needed until a - certain time and when not provided by this time is not needed any more. - The time until the MnS producer automatically cancels the process is + The process may have to be completed within a certain time after its + creation, for example because required data may not be available any + more after a certain time, or the process outcome is needed until a + certain time and when not provided by this time is not needed any more. + The time until the MnS producer automatically cancels the process is indicated by the 'timer' attribute."; - + leaf id { type string; mandatory true; - description "Id of the process. It is unique within a single + description "Id of the process. It is unique within a single multivalue attribute of type ProcessMonitor."; } - - leaf status { + + leaf status { type enumeration { enum NOT_STARTED ; enum RUNNING ; @@ -232,9 +232,9 @@ module _3gpp-common-yang-types { } config false; default RUNNING; - description "Represents the status of the associated process, - whether it fails, succeeds etc. - It does not represent the returned values of a successfully finished + description "Represents the status of the associated process, + whether it fails, succeeds etc. + It does not represent the returned values of a successfully finished process. "; } @@ -249,44 +249,44 @@ module _3gpp-common-yang-types { leaf-list progressStateInfo { type string; config false; - description "Additional textual qualification of the states + description "Additional textual qualification of the states 'NOT_STARTED', 'CANCELLING' and 'RUNNING'. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf resultStateInfo { type string; config false; - description "Additional textual qualification of the states - 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. - For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this + description "Additional textual qualification of the states + 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. + For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this attribute may be used to provide error reasons. - This attribute shall not be used to make the outcome of the process - available for retrieval, if any. For this purpose, dedicated - attributes shall be specified when specifying the representation of + This attribute shall not be used to make the outcome of the process + available for retrieval, if any. For this purpose, dedicated + attributes shall be specified when specifying the representation of a specific process. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf startTime { type yang:date-and-time; config false; - description "Start time of the associated process, i.e. the time when the + description "Start time of the associated process, i.e. the time when the status changed from 'NOT_STARTED' to 'RUNNING'."; } leaf endTime { type yang:date-and-time; config false; - description "Date and time when status changed to 'SUCCESS', 'CANCELLED', - 'FAILED' or 'PARTIALLY_FAILED'. + description "Date and time when status changed to 'SUCCESS', 'CANCELLED', + 'FAILED' or 'PARTIALLY_FAILED'. - If the time is in the future, it is the estimated time + If the time is in the future, it is the estimated time the process will end."; } @@ -294,40 +294,40 @@ module _3gpp-common-yang-types { type uint32; units minutes; description "Time until the associated process is automatically cancelled. - If set, the system decreases the timer with time. When it reaches zero - the cancellation of the associated process is initiated by the - MnS_Producer. + If set, the system decreases the timer with time. When it reaches zero + the cancellation of the associated process is initiated by the + MnS_Producer. If not set, there is no time limit for the process. - - Once the timer is set, the consumer can not change it anymore. + + Once the timer is set, the consumer can not change it anymore. If the consumer has not set the timer the MnS Producer may set it."; yext3gpp:notNotifyable; } } - + grouping NpnIdGrp { - description "Represents the NPN supported by the <> using this - <> as one of its attributes in case of the cell is a + description "Represents the NPN supported by the <> using this + <> as one of its attributes in case of the cell is a NPN-only cell."; - + list plmnId { key "mcc mnc"; min-elements 1; description "It specifies the PLMN Id of the NPN network."; uses types3gpp:PLMNId; } - + choice npnidChoice { leaf-list cAGIdList { type string; max-elements 256; - description "It identifies a CAG list containing up to 12 - CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, + description "It identifies a CAG list containing up to 12 + CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, see TS 38.331. CAG ID is used to combine with PLMN ID to identify a PNI-NPN.CAG ID is a hexadecimal range with size 32 bit"; } - + leaf-list nIDList { type string; max-elements 16; @@ -337,20 +337,20 @@ module _3gpp-common-yang-types { } } } - - typedef TenthOfDegrees { - type uint16 { - range 0..3600; + + typedef TenthOfDegrees { + type uint16 { + range 0..3600; } units "0.1 degrees"; - description "A single integral value corresponding to an angle in degrees + description "A single integral value corresponding to an angle in degrees between 0 and 360 with a resolution of 0.1 degrees."; } typedef Latitude { type decimal64 { fraction-digits 4; - range "-90.0000..+90.0000"; + range "-90.0000..+90.0000"; } description "Latitude values"; } @@ -358,7 +358,7 @@ module _3gpp-common-yang-types { typedef Longitude { type decimal64 { fraction-digits 4; - range "-180.0000..+180.0000"; + range "-180.0000..+180.0000"; } description "Longitude values"; } @@ -369,22 +369,22 @@ module _3gpp-common-yang-types { } units "meters"; description - "Height from a reference 0 value."; + "Height from a reference 0 value."; } grouping GeographicalCoordinates { description "This datatype represents the geographical coordinates"; reference "3GPP TS 28.538 clause 6.3.8"; - + leaf latitude { type Latitude; - mandatory true; + mandatory true; } - + leaf longitude { type Longitude; - mandatory true; - } + mandatory true; + } } typedef OnOff { @@ -393,74 +393,74 @@ module _3gpp-common-yang-types { enum OFF; } } - - // grouping ManagedNFProfile will be removed as it is + + // grouping ManagedNFProfile will be removed as it is // being moved to _3gpp-5gc-nrm-nfprofile grouping ManagedNFProfile { description "Defines profile for managed NF"; reference "3GPP TS 23.501"; - + leaf idx { type uint32 ; } - + leaf nfInstanceId { config false; mandatory true; type yang:uuid ; - description "This parameter defines profile for managed NF. - The format of the NF Instance ID shall be a - Universally Unique Identifier (UUID) version 4, + description "This parameter defines profile for managed NF. + The format of the NF Instance ID shall be a + Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 " ; yext3gpp:inVariant; } - + leaf-list nfType { config false; min-elements 1; type NfType; description "Type of the Network Function" ; } - + leaf hostAddr { mandatory true; type inet:host ; description "Host address of a NF"; } - + leaf authzInfo { type string ; - description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins allowed to consume NF Service(s) of NF Service Producer."; reference "See TS 23.501" ; } - + leaf location { type string ; - description "Information about the location of the NF instance + description "Information about the location of the NF instance (e.g. geographic location, data center) defined by operator"; reference "TS 29.510" ; } - + leaf capacity { mandatory true; type uint16 ; - description "This parameter defines static capacity information - in the range of 0-65535, expressed as a weight relative to other - NF instances of the same type; if capacity is also present in the + description "This parameter defines static capacity information + in the range of 0-65535, expressed as a weight relative to other + NF instances of the same type; if capacity is also present in the nfServiceList parameters, those will have precedence over this value."; reference "TS 29.510" ; } - + leaf nFSrvGroupId { type string ; - description "This parameter defines identity of the group that is + description "This parameter defines identity of the group that is served by the NF instance. - May be config false or true depending on the ManagedFunction. - Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. + May be config false or true depending on the ManagedFunction. + Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. Shall be present if ../nfType = UDM or AUSF or UDR. "; reference "TS 29.510" ; } - + leaf-list supportedDataSetIds { type enumeration { enum SUBSCRIPTION; @@ -468,41 +468,41 @@ module _3gpp-common-yang-types { enum EXPOSURE; enum APPLICATION; } - description "List of supported data sets in the UDR instance. + description "List of supported data sets in the UDR instance. May be present if ../nfType = UDR"; reference "TS 29.510" ; } - + leaf-list smfServingAreas { type string ; - description "Defines the SMF service area(s) the UPF can serve. + description "Defines the SMF service area(s) the UPF can serve. Shall be present if ../nfType = UPF"; reference "TS 29.510" ; } - + leaf priority { type uint16; - description "This parameter defines Priority (relative to other NFs - of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over + description "This parameter defines Priority (relative to other NFs + of the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over this value. Shall be present if ../nfType = AMF "; reference "TS 29.510" ; } } - + typedef usageState { type enumeration { enum IDLE; enum ACTIVE; enum BUSY; } - description "It describes whether or not the resource is actively in - use at a specific instant, and if so, whether or not it has spare + description "It describes whether or not the resource is actively in + use at a specific instant, and if so, whether or not it has spare capacity for additional users at that instant. The value is READ-ONLY."; reference "ITU T Recommendation X.731"; } - + grouping SAPGrp { leaf host { type inet:host; @@ -515,10 +515,10 @@ module _3gpp-common-yang-types { description "Service access point."; reference "TS 28.622"; } - + typedef Mcc { - description "The mobile country code consists of three decimal digits, - The first digit of the mobile country code identifies the geographic + description "The mobile country code consists of three decimal digits, + The first digit of the mobile country code identifies the geographic region (the digits 1 and 8 are not used):"; type string { pattern '[02-79][0-9][0-9]'; @@ -527,7 +527,7 @@ module _3gpp-common-yang-types { } typedef Mnc { - description "The mobile network code consists of two or three + description "The mobile network code consists of two or three decimal digits (for example: MNC of 001 is not the same as MNC of 01)"; type string { pattern '[0-9][0-9][0-9]|[0-9][0-9]'; @@ -546,10 +546,10 @@ module _3gpp-common-yang-types { } reference "TS 38.413 clause 9.3.3.5"; } - + typedef Nci { - description "NR Cell Identity. The NCI shall be of fixed length of 36 bits - and shall be coded using full hexadecimal representation. + description "NR Cell Identity. The NCI shall be of fixed length of 36 bits + and shall be coded using full hexadecimal representation. The exact coding of the NCI is the responsibility of each PLMN operator"; reference "TS 23.003"; type union { @@ -563,7 +563,7 @@ module _3gpp-common-yang-types { } } } - + typedef OperationalState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -579,7 +579,7 @@ module _3gpp-common-yang-types { } } - + typedef BasicAdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -597,7 +597,7 @@ module _3gpp-common-yang-types { } } } - + typedef AdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -618,32 +618,32 @@ module _3gpp-common-yang-types { value 2; description "Use of the resource is administratively permitted to existing instances of use only. While the system remains in - the shutting down state the manager or the managed element - may at any time cause the resource to transition to the + the shutting down state the manager or the managed element + may at any time cause the resource to transition to the locked state."; } } } - + typedef AvailabilityStatus { type enumeration { enum IN_TEST; - enum FAILED; - enum POWER_OFF; - enum OFF_LINE; - enum OFF_DUTY; - enum DEPENDENCY; - enum DEGRADED; - enum NOT_INSTALLED; - enum LOG_FULL; + enum FAILED; + enum POWER_OFF; + enum OFF_LINE; + enum OFF_DUTY; + enum DEPENDENCY; + enum DEGRADED; + enum NOT_INSTALLED; + enum LOG_FULL; } } - + typedef CellState { type enumeration { enum IDLE; - enum INACTIVE; - enum ACTIVE; + enum INACTIVE; + enum ACTIVE; } } @@ -658,13 +658,13 @@ module _3gpp-common-yang-types { pattern "([A-Fa-f0-9]{4})|([A-Fa-f0-9]{6})" ; } description "Tracking Area Code - 2 or 3-octet string identifying a tracking area code as specified in - clause 9.3.3.10 of 3GPP TS 38.413 [34], in hexadecimal representation. - Each character in the string shall take a value of - '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. - The most significant character representing the 4 most significant - bits of the TAC shall appear first in the string, and the character - representing the 4 least significant bit of the TAC shall appear last + 2 or 3-octet string identifying a tracking area code as specified in + clause 9.3.3.10 of 3GPP TS 38.413 [34], in hexadecimal representation. + Each character in the string shall take a value of + '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most significant + bits of the TAC shall appear first in the string, and the character + representing the 4 least significant bit of the TAC shall appear last in the string. pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' @@ -676,10 +676,10 @@ module _3gpp-common-yang-types { } grouping TaiGrp { - description "This <> defines a Tracking Area Identity (TAI) - as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 - and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN - identifier (PLMN-Id, which is composed of the MCC and MNC) and + description "This <> defines a Tracking Area Identity (TAI) + as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 + and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN + identifier (PLMN-Id, which is composed of the MCC and MNC) and the Tracking Area Code (TAC)."; list plmnId { description "PLMN Identity."; @@ -688,61 +688,61 @@ module _3gpp-common-yang-types { key "mcc mnc"; uses types3gpp:PLMNId; } - - leaf tac { + + leaf tac { type Tac; mandatory true; description "Tracking Area Code"; } } - + grouping GeoCoordinateGrp { - description "Geographical location on earth"; + description "Geographical location on earth"; leaf latitude { type decimal64 { fraction-digits 4; range -90..90 ; } mandatory true; - description "Latitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to the + description "Latitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to the northern hemisphere."; } - + leaf longitude { type decimal64 { fraction-digits 4; range -180..180 ; } mandatory true; - description "Longitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to + description "Longitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to degrees east of 0 degrees longitude."; } - + leaf altitude { type Altitude; } } - + grouping GeoAreaGrp { - description "This data type defines a geographical area. - The geo-area is defined using a convex polygon in the attribute + description "This data type defines a geographical area. + The geo-area is defined using a convex polygon in the attribute 'geoPolygon'."; - + list geoPolygon { - description "Specifies the geographical area with a convex polygon. + description "Specifies the geographical area with a convex polygon. The convex polygon is specified by its corners."; key "latitude longitude"; min-elements 3; ordered-by user; - + uses GeoCoordinateGrp; } } - + typedef AmfRegionId { - type union { + type union { type uint8 ; type string { length 8; @@ -753,7 +753,7 @@ module _3gpp-common-yang-types { } typedef AmfSetId { - type union { + type union { type uint16 { range '0..1023'; } @@ -766,7 +766,7 @@ module _3gpp-common-yang-types { } typedef AmfPointer { - type union { + type union { type uint8 { range '0..63'; } @@ -777,8 +777,8 @@ module _3gpp-common-yang-types { } reference "clause 2.10.1 of 3GPP TS 23.003"; } - - grouping AmfIdentifier { + + grouping AmfIdentifier { leaf amfRegionId { type AmfRegionId; } @@ -787,13 +787,13 @@ module _3gpp-common-yang-types { } leaf amfPointer { type AmfPointer; - } - description "The AMFI is constructed from an AMF Region ID, - an AMF Set ID and an AMF Pointer. - The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and - the AMF Pointer uniquely identifies the AMF within the AMF Set. "; - } + } + description "The AMFI is constructed from an AMF Region ID, + an AMF Set ID and an AMF Pointer. + The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and + the AMF Pointer uniquely identifies the AMF within the AMF Set. "; + } // type definitions especially for core NFs @@ -819,17 +819,17 @@ module _3gpp-common-yang-types { enum UDSF; enum BSF; enum CHF; - } + } } - + typedef NotificationType { type enumeration { enum N1_MESSAGES; enum N2_INFORMATION; enum LOCATION_NOTIFICATION; - } + } } - + typedef Load { description "Latest known load information of the NF, percentage "; type uint8 { @@ -842,10 +842,10 @@ module _3gpp-common-yang-types { enum 5GMM; enum SM; enum LPP; - enum SMS; - } + enum SMS; + } } - + typedef N2InformationClass { type enumeration { enum SM; @@ -853,35 +853,35 @@ module _3gpp-common-yang-types { enum PWS; enum PWS_BCAL; enum PWS_RF; - } + } } - + grouping DefaultNotificationSubscription { - + leaf notificationType { type NotificationType; } - + leaf callbackUri { type inet:uri; } - + leaf interPlmnCallbackUri { - description "It indicates the callback URI to be used by NF Service - Producers located in PLMNs that are different from the PLMN of + description "It indicates the callback URI to be used by NF Service + Producers located in PLMNs that are different from the PLMN of the NF consumer."; type inet:uri; - } + } leaf n1MessageClass { type N1MessageClass; } - + leaf n2InformationClass { type N2InformationClass; - } + } leaf versions { - description "This attribute identifies the API versions + description "This attribute identifies the API versions (e.g. v1) supported for the default notification type"; //optional type N2InformationClass; @@ -889,15 +889,15 @@ module _3gpp-common-yang-types { leaf binding { description "This attribute shall contain the value of the Binding Indication for the default subscription notification "; - reference " i.e. the value part of 3gpp-Sbi-Binding header, as - specified in + reference " i.e. the value part of 3gpp-Sbi-Binding header, as + specified in clause 6.12.4 of 3GPP TS 29.500 76. "; //optional type string; config false; } leaf acceptedEncoding { - description "It indicates the content encodings that are accepted by a + description "It indicates the content encodings that are accepted by a NF Service Consumer when receiving a notification related to a default notification subscription"; reference "IETF RFC 9110 clause 12.5.3 "; @@ -910,54 +910,54 @@ module _3gpp-common-yang-types { corresponding to the subscribed default notification, which are supported by the NF (Service) instance acting as NF service consumer. The string shall contain a bitmask indicating supported features in hexadecimal - representation:Each character in the string shall take a value + representation:Each character in the string shall take a value of 0 to 9, a to f or A to F "; - reference "shall represent the support of 4 features as described in + reference "shall represent the support of 4 features as described in table 5.2.2-3 of TS 29.571 [61]."; //optional type string; config false; - } + } leaf serviceInfoList { - description "It indicates a list of service specific information. It may + description "It indicates a list of service specific information. It may be present when the notification request of the notification type may be - generated by multiple services, i.e. notifications from different + generated by multiple services, i.e. notifications from different services may be received by the subscription."; //optional type string; config false; - } + } leaf callbackUriPrefix { description "It indicates the optional path segment(s) used to construct the prefix of the Callback URIs during the reselection of an NF service consumer, as described in 3GPP TS 29.501"; //optional type inet:uri; - } - } - + } + } + grouping Ipv4AddressRange { leaf start { type inet:ipv4-address; } leaf end { type inet:ipv4-address; - } + } } - + grouping Ipv6PrefixRange { leaf start { type inet:ipv6-prefix; } leaf end { type inet:ipv6-prefix; - } + } } - + typedef NsiId { type string; } - + typedef UeMobilityLevel { type enumeration { enum STATIONARY; @@ -966,14 +966,14 @@ module _3gpp-common-yang-types { enum FULLY_MOBILITY; } } - + typedef ResourceSharingLevel { type enumeration { enum SHARED; enum NOT_SHARED; } } - + typedef TxDirection { type enumeration { enum DL; @@ -981,105 +981,105 @@ module _3gpp-common-yang-types { enum DL_AND_UL; } } - + grouping AddressWithVlan { leaf ipAddress { - type inet:ip-address; + type inet:ip-address; } leaf vlanId { type uint16; - } + } } - /* DistinguishedName pattern is built up based on the + /* DistinguishedName pattern is built up based on the EBNF in 32.300 clause 7.3 EBNF of DN String Representation - + leaf DN { type string { // Same pattern as LocalDN - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed Me.mykey=1 allowed // (fullLocalRDN)(,(fullLocalRDN))* - pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; + pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; } } - + leaf LocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed // LocalRDN(,LocalRDN)* - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalRDN { type string { // same as fullLocalDNAttributeTypeAndValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + leaf LocalRDN { type string { // same as LocalDNAttributeTypeAndValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } - - leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue + + leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern LocalDNAttributeType=RegularAttributeValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + // limitation: NamesOfClassAndNamingAttributenot supported Me.mykey=1 - leaf LocalDNAttributeTypeAndValue { type string { + leaf LocalDNAttributeTypeAndValue { type string { // ebnf1 LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // ebnf2-limited NameOfClassWithIdAttribute , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern NameOfClassWithIdAttribute=RegularAttributeValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } leaf LocalDNAttributeType { type string { // NameOfClassWithIdAttribute | NamesOfClassAndNamingAttribute RDNSeparator is a single , no space or \R allowed // NameOfClassWithIdAttribute|NamesOfClassAndNamingAttribute - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; } } leaf RegularAttributeValue { type string { // ( AttributeValueChar - SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar - SpaceChar ) ] - pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; + pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; } } - + leaf NamesOfClassAndNamingAttribute { type string { // ClassName , ClassNamingAttributeSeparator , NamingAttributeName // pattern: ClassName\.NamingAttributeName - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; } } - - leaf restrictiveClassName { type string { // - pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; + + leaf restrictiveClassName { type string { // + pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; } } - + leaf ClassName { type string { // CapitalLetterChar , { LocalDNAttributeTypeChar } - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; } } - + leaf NamingAttributeName { type string { // SmallLetterChar , { LocalDNAttributeTypeChar } - pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; - } } - + pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; + } } + */ - typedef DistinguishedName { + typedef DistinguishedName { type string { pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|' + '(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' + '(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))' + '(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' - + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } - description "Represents the 3GPP standard for DistinguishedName. - - Limitations: + description "Represents the 3GPP standard for DistinguishedName. + + Limitations: - RDNSeparator: don't allow SpaceChar or CarriageReturnChar - NullDN: Disallow nullDN that is the same as not providing a DN - - NamesOfClassAndNamingAttribute format not allowed + - NamesOfClassAndNamingAttribute format not allowed (eg. ManagedElement.mykey=345436)"; reference "3GPP TS 32.300"; - } - + } + typedef QOffsetRange { - type int8 { + type int8 { range "-24 | -22 | -20 | -18 | -16 | -14 | -12 | -10 | -8 | -6 | " + " -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | " + - " 12 | 14 | 16 | 18 | 20 | 22 | 24"; + " 12 | 14 | 16 | 18 | 20 | 22 | 24"; } units dB; } @@ -1108,8 +1108,8 @@ module _3gpp-common-yang-types { In addition, the MnS producer shall create on behalf of the MnS consumer a subscription, using 'NtfSubscriptionControl', for the notification types 'notifyMOICreation' and 'notifyMOIDeletion' related - to the 'File' instances that will be produced later. In case an - existing subscription does already include the 'File' instances to be + to the 'File' instances that will be produced later. In case an + existing subscription does already include the 'File' instances to be produced, no new subscription shall be created. The 'notificationRecipientAddress' attribute in the created 'NtfSubscriptionControl' instance shall be set to the value of the @@ -1121,12 +1121,12 @@ module _3gpp-common-yang-types { request for implicit subscription shall be deleted as well. - When only the 'fileReportingPeriod' and 'fileLocation' attributes are present (CHOICE_3), the MnS producer shall store the files at the - location specified by 'fileLocation'. The file location may identify - any entity such as a file server or a MnS consumer. The identified - MnS consumer may or may not be identical to the MnS consumer creating - the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit + location specified by 'fileLocation'. The file location may identify + any entity such as a file server or a MnS consumer. The identified + MnS consumer may or may not be identical to the MnS consumer creating + the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit 'notifyFileReady' and 'notifyFilePreparationError' notifications to - inform subscribers that a file has been made available at the location + inform subscribers that a file has been made available at the location specified by 'fileLocation'. - When only the streamTarget attribute is present, the MnS producer @@ -1156,7 +1156,7 @@ module _3gpp-common-yang-types { leaf fileLocation { type string ; description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the + reporting method is supported, and the files are stored on the MnS consumer."; } } diff --git a/yang-models/_3gpp-engy-nrm-energyinformation.yang b/yang-models/_3gpp-engy-nrm-energyinformation.yang index 38b72c25e..2c3f9a63c 100644 --- a/yang-models/_3gpp-engy-nrm-energyinformation.yang +++ b/yang-models/_3gpp-engy-nrm-energyinformation.yang @@ -1,52 +1,52 @@ 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, + 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 + 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 + 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. + 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 + 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; @@ -56,7 +56,7 @@ module _3gpp-engy-nrm-energyinformation { 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 @@ -64,7 +64,7 @@ module _3gpp-engy-nrm-energyinformation { type boolean; mandatory true; } - + leaf energyCompositionPercentage { type uint8 { range 0..100; @@ -73,38 +73,38 @@ module _3gpp-engy-nrm-energyinformation { 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 + 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 + 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 + 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 + 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, + 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; @@ -112,35 +112,35 @@ module _3gpp-engy-nrm-energyinformation { 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 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 + 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 + energySupplyModeRefList is used to indicate the mode of energy supply for powering the Network Elements of the group."; key id; uses top3gpp:Top_Grp; @@ -151,7 +151,7 @@ module _3gpp-engy-nrm-energyinformation { 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 + by the operator with the information obtained from sources external to 3GPP e.g an energy supplier. "; key id; uses top3gpp:Top_Grp; @@ -160,20 +160,20 @@ module _3gpp-engy-nrm-energyinformation { } } } - + 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 + 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 + energySupplyModeRefList is used to indicate the mode of energy supply for powering the Network Elements of the group."; key id; uses top3gpp:Top_Grp; @@ -184,7 +184,7 @@ module _3gpp-engy-nrm-energyinformation { 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 + by the operator with the information obtained from sources external to 3GPP e.g an energy supplier. "; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-beam.yang b/yang-models/_3gpp-nr-nrm-beam.yang index ce8735414..f657af5a8 100755 --- a/yang-models/_3gpp-nr-nrm-beam.yang +++ b/yang-models/_3gpp-nr-nrm-beam.yang @@ -13,11 +13,11 @@ module _3gpp-nr-nrm-beam { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the Beam 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916 ; } revision 2019-11-26 { reference "S5-197643"; } diff --git a/yang-models/_3gpp-nr-nrm-bwp.yang b/yang-models/_3gpp-nr-nrm-bwp.yang index b75642abc..bf4369a34 100755 --- a/yang-models/_3gpp-nr-nrm-bwp.yang +++ b/yang-models/_3gpp-nr-nrm-bwp.yang @@ -12,11 +12,11 @@ module _3gpp-nr-nrm-bwp { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the BWP 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-11-17 { reference CR-0410 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } @@ -70,7 +70,7 @@ module _3gpp-nr-nrm-bwp { } leaf cyclicPrefix { - description "Cyclic prefix, which may be normal or extended."; + description "Cyclic prefix, which may be normal or extended."; reference "3GPP TS 38.211"; mandatory true; type CyclicPrefix; @@ -98,7 +98,7 @@ module _3gpp-nr-nrm-bwp { description "Represents a bandwidth part (BWP)."; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses BWPGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-bwpset.yang b/yang-models/_3gpp-nr-nrm-bwpset.yang index 42f700352..846f67c39 100644 --- a/yang-models/_3gpp-nr-nrm-bwpset.yang +++ b/yang-models/_3gpp-nr-nrm-bwpset.yang @@ -12,13 +12,13 @@ module _3gpp-nr-nrm-bwpset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the BWPSet 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 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-11-01 { reference CR-1405 ; } - revision 2024-08-19 { reference CR-1314 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-11-01 { reference CR-1405 ; } + revision 2024-08-19 { reference CR-1314 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-06-29 { reference CR-0756 ; } grouping BWPSetGrp { @@ -32,7 +32,7 @@ module _3gpp-nr-nrm-bwpset { description "Represents a bandwidth part (BWP) set."; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses BWPSetGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-cco.yang b/yang-models/_3gpp-nr-nrm-cco.yang index 97a154dfe..0cf4b56cd 100644 --- a/yang-models/_3gpp-nr-nrm-cco.yang +++ b/yang-models/_3gpp-nr-nrm-cco.yang @@ -1,25 +1,25 @@ module _3gpp-nr-nrm-cco { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-nr-nrm-cco; prefix cco3gpp; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Implements support the C-SON function of Capacity and + description "Implements support the C-SON function of Capacity and Coverage optimization . - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2024-05-24 { reference CR-1273 ; } - + + revision 2024-05-24 { reference CR-1273 ; } + grouping ParameterRangeGrp { description "This data type represents the adjustment range for parameters."; - + leaf maxValue { type int64; mandatory true; @@ -32,12 +32,12 @@ module _3gpp-nr-nrm-cco { description "It indicates the minimum value of the parameter."; } } - + grouping CCOParametersGrp { description "Represents the CCOParameters IOC"; - - list downlinkTransmitPowerRange { - description "It indicates adjustment range (including maximum value, + + list downlinkTransmitPowerRange { + description "It indicates adjustment range (including maximum value, minimum value) of downlinkTransmitPower to optimize radio coverage."; key minValue; min-elements 1; @@ -51,9 +51,9 @@ module _3gpp-nr-nrm-cco { } } } - + list antennaTiltRange { - description "It indicates adjustment range (including maximum value, + description "It indicates adjustment range (including maximum value, minimum value) of antennaTilt to optimize radio coverage. units 0.1 degree"; key minValue; @@ -68,7 +68,7 @@ module _3gpp-nr-nrm-cco { } } } - + list antennaAzimuthRange { description "It indicates adjustment range (including maximum value, minimum value) of antennaAzimuth to optimize radio coverage. @@ -85,9 +85,9 @@ module _3gpp-nr-nrm-cco { } } } - + list digitalTiltRange { - description "It indicates adjustment range (including maximum value, + description "It indicates adjustment range (including maximum value, minimum value) of digitalTilt to optimize radio coverage. units 0.1 degree"; key minValue; @@ -102,9 +102,9 @@ module _3gpp-nr-nrm-cco { } } } - + list digitalAzimuthRange { - description "It indicates adjustment range (including maximum value, + description "It indicates adjustment range (including maximum value, minimum value) of digitalAzimuth to optimize radio coverage. units 0.1 degree"; key minValue; @@ -118,49 +118,49 @@ module _3gpp-nr-nrm-cco { must '. >= -1800 and . <= 1800'; } } } - + leaf-list coverageShapeList { type uint16; ordered-by user; - description "It indicates the coverage shape of specific sites which + description "It indicates the coverage shape of specific sites which can be selected to optimize radio coverage."; } } - + grouping CCOWeakCoverageParametersGrp { description "Represents the CCOWeakCoverageParameters IOC"; uses CCOParametersGrp; } - + grouping CCOPilotPollutionParametersGrp { description "Represents the CCOPilotPollutionParameters IOC"; - uses CCOParametersGrp; + uses CCOParametersGrp; } - + grouping CCOOvershootCoverageParametersGrp { description "Represents the CCOOvershootCoverageParameters IOC"; uses CCOParametersGrp; } - + grouping CCOFunctionGrp { description "Represents the CCOFunction IOC"; - + leaf cCOControl { - description "This attribute determines whether the centralized + description "This attribute determines whether the centralized SON CCO Function is enabled or disabled."; mandatory true; type boolean; - } + } } - + augment "/subnet3gpp:SubNetwork" { list CCOFunction { - description "This IOC contains attributes to support the C-SON - function of Capacity and Coverage optimization - (See clause 7.2.3 in TS 28.313). - NOTE: in the case where multiple CCOFunction MOIs exist at different - levels of the containment tree, the CCOFunction MOI at the lower - level overrides the CCOFunction MOIs at higher level(s) of the same + description "This IOC contains attributes to support the C-SON + function of Capacity and Coverage optimization + (See clause 7.2.3 in TS 28.313). + NOTE: in the case where multiple CCOFunction MOIs exist at different + levels of the containment tree, the CCOFunction MOI at the lower + level overrides the CCOFunction MOIs at higher level(s) of the same containment tree."; key id; @@ -169,10 +169,10 @@ module _3gpp-nr-nrm-cco { container attributes { uses CCOFunctionGrp; } - + list CCOWeakCoverageParameters { - description "This IOC represents the properties of - CCOWeakCoverageParameters. CCOWeakCoverageParameters is one + description "This IOC represents the properties of + CCOWeakCoverageParameters. CCOWeakCoverageParameters is one realization of abstract CCOParameters IOC."; key id; max-elements 1; @@ -181,10 +181,10 @@ module _3gpp-nr-nrm-cco { uses CCOWeakCoverageParametersGrp; } } - + list CCOPilotPollutionParameters { - description "This IOC represents the properties of - CCOPilotPollutionParameters. CCOPilotPollutionParameters is one + description "This IOC represents the properties of + CCOPilotPollutionParameters. CCOPilotPollutionParameters is one realization of abstract CCOParameters IOC."; key id; max-elements 1; @@ -193,10 +193,10 @@ module _3gpp-nr-nrm-cco { uses CCOPilotPollutionParametersGrp; } } - + list CCOOvershootCoverageParameters { - description "This IOC represents the properties of - CCOOvershootCoverageParameters. CCOOvershootCoverageParameters is + description "This IOC represents the properties of + CCOOvershootCoverageParameters. CCOOvershootCoverageParameters is one realization of abstract CCOParameters IOC."; key id; max-elements 1; diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang index a7d179a38..f8473b037 100755 --- a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -12,19 +12,19 @@ module _3gpp-nr-nrm-cesmanagementfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CESManagementFunction + description "Defines the YANG mapping of the CESManagementFunction 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } grouping loadTimeThresholdGrp { - description "Represents the the traffic load threshold and the time + description "Represents the the traffic load threshold and the time duration."; leaf loadThreshold { @@ -33,9 +33,9 @@ module _3gpp-nr-nrm-cesmanagementfunction { type type5g3gpp:EnergySavingLoadThresholdT; } leaf timeDuration { - description "The time duration indicates how long the traffic load - (either for UL or DL) in the cell needs to have been above the - threshold to wake up one or more original cells which have been + description "The time duration indicates how long the traffic load + (either for UL or DL) in the cell needs to have been above the + threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; type type5g3gpp:EnergySavingLoadThresholdT; } @@ -51,9 +51,9 @@ module _3gpp-nr-nrm-cesmanagementfunction { } list intraRatEsActivationOriginalCellLoadParameters { description "This attributes is relevant, if the cell acts as an original - cell.This attribute indicates the traffic load threshold and the time - duration, which are used by distributed ES algorithms to allow a cell - to enter the energySaving state. The time duration indicates how long + cell.This attribute indicates the traffic load threshold and the time + duration, which are used by distributed ES algorithms to allow a cell + to enter the energySaving state. The time duration indicates how long the load needs to have been below the threshold."; key loadThreshold; min-elements 1; @@ -63,16 +63,16 @@ module _3gpp-nr-nrm-cesmanagementfunction { list intraRatEsActivationCandidateCellsLoadParameters { description "This attributes is relevant, if the cell acts as a candidate - cell. This attribute indicates the traffic load threshold and the time - duration, which are used by distributed ES algorithms level to allow an + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed ES algorithms level to allow an 'original' cell to enter the energySaving state. Threshold and duration - are applied to the candidate cell(s) which will provides coverage - backup of an original cell when it is in the energySaving state. The - threshold applies in the same way for a candidate cell, no matter for + are applied to the candidate cell(s) which will provides coverage + backup of an original cell when it is in the energySaving state. The + threshold applies in the same way for a candidate cell, no matter for which original cell it will provide backup coverage. - The time duration indicates how long the traffic in the candidate cell - needs to have been below the threshold before any original cells which - will be provided backup coverage by the candidate cell enters energy + The time duration indicates how long the traffic in the candidate cell + needs to have been below the threshold before any original cells which + will be provided backup coverage by the candidate cell enters energy saving state."; key loadThreshold; min-elements 1; @@ -82,15 +82,15 @@ module _3gpp-nr-nrm-cesmanagementfunction { list intraRatEsDeactivationCandidateCellsLoadParameters { description "This attributes is relevant, if the cell acts as a candidate - cell. This attribute indicates the traffic load threshold and the time - duration which is used by distributed ES algorithms to allow a cell to - leave the energySaving state. Threshold and time duration are applied - to the candidate cell when it which provides coverage backup for the + cell. This attribute indicates the traffic load threshold and the time + duration which is used by distributed ES algorithms to allow a cell to + leave the energySaving state. Threshold and time duration are applied + to the candidate cell when it which provides coverage backup for the cell in energySaving state. The threshold applies in the same way for a - candidate cell, no matter for which original cell it provides backup + candidate cell, no matter for which original cell it provides backup coverage. - The time duration indicates how long the traffic in the candidate cell - needs to have been above the threshold to wake up one or more original + The time duration indicates how long the traffic in the candidate cell + needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; key loadThreshold; min-elements 1; @@ -99,7 +99,7 @@ module _3gpp-nr-nrm-cesmanagementfunction { } list esNotAllowedTimePeriod { - description "This is a list of time periods during which + description "This is a list of time periods during which inter-RAT energy saving is not allowed"; key idx; @@ -110,27 +110,27 @@ module _3gpp-nr-nrm-cesmanagementfunction { } list interRatEsActivationOriginalCellParameters { - description "This attribute is relevant, if the cell acts as an original - cell. This attribute indicates the traffic load threshold and the time - duration, which are used by distributed inter-RAT ES algorithms to - allow an original cell to enter the energySaving state. The time + description "This attribute is relevant, if the cell acts as an original + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state. The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold. - In case the original cell is an EUTRAN cell, the load information - refers to Composite Available Capacity Group IE (see 3GPP TS 36.413 + In case the original cell is an EUTRAN cell, the load information + refers to Composite Available Capacity Group IE (see 3GPP TS 36.413 [12] Annex B.1.5) and the following applies: - Load = (100 - 'Capacity Value' ) * 'Cell Capacity Class Value', - where 'Capacity Value' and 'Cell Capacity Class Value' are defined in + Load = (100 - 'Capacity Value' ) * 'Cell Capacity Class Value', + where 'Capacity Value' and 'Cell Capacity Class Value' are defined in 3GPP TS 36.423 [7]. - In case the original cell is a UTRAN cell, the load information refers + In case the original cell is a UTRAN cell, the load information refers to Cell Load Information Group IE (see 3GPP TS 36.413 [12] Annex B.1.5) and the following applies: - Load= 'Load Value' * 'Cell Capacity Class Value', where 'Load Value' + Load= 'Load Value' * 'Cell Capacity Class Value', where 'Load Value' and 'Cell Capacity Class Value' are defined in 3GPP TS 25.413 [19]. - If the 'Cell Capacity Class Value' is not known, then 'Cell Capacity + If the 'Cell Capacity Class Value' is not known, then 'Cell Capacity Class Value' should be set to 1 when calculating the load, and the load threshold should be set in range of 0..100."; key loadThreshold; @@ -140,26 +140,26 @@ module _3gpp-nr-nrm-cesmanagementfunction { } list interRatEsActivationCandidateCellParameters { - description "This attribute is relevant, if the cell acts as a candidate - cell. This attribute indicates the traffic load threshold and the time - duration, which are used by distributed inter-RAT ES algorithms to - allow an original cell to enter the energySaving state. Threshold and - time duration are applied to the candidate cell(s) which will provides - coverage backup of an original cell when it is in the energySaving - state. The time duration indicates how long the traffic load (both for + description "This attribute is relevant, if the cell acts as a candidate + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state. Threshold and + time duration are applied to the candidate cell(s) which will provides + coverage backup of an original cell when it is in the energySaving + state. The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state. - In case the candidate cell is a UTRAN or GERAN cell, the load - information refers to Cell Load Information Group IE (see 3GPP TS + In case the candidate cell is a UTRAN or GERAN cell, the load + information refers to Cell Load Information Group IE (see 3GPP TS 36.413 [12] Annex B.1.5) and the following applies: - Load= 'Load Value' * 'Cell Capacity Class Value', where 'Load Value' - and 'Cell Capacity Class Value' are defined in 3GPP TS 25.413 [19] + Load= 'Load Value' * 'Cell Capacity Class Value', where 'Load Value' + and 'Cell Capacity Class Value' are defined in 3GPP TS 25.413 [19] (for UTRAN) / TS 48.008 [20] (for GERAN). - If the 'Cell Capacity Class Value' is not known, then 'Cell Capacity - Class Value' should be set to 1 when calculating the load, and the load + If the 'Cell Capacity Class Value' is not known, then 'Cell Capacity + Class Value' should be set to 1 when calculating the load, and the load threshold should be set in range of 0..100."; min-elements 1; max-elements 1; @@ -168,22 +168,22 @@ module _3gpp-nr-nrm-cesmanagementfunction { } list interRatEsDeactivationCandidateCellParameters { - description "This attribute is relevant, if the cell acts as a candidate - cell. This attribute indicates the traffic load threshold and the time - duration which is used by distributed inter-RAT ES algorithms to allow - an original cell to leave the energySaving state. Threshold and time - duration are applied to the candidate cell which provides coverage - backup for the cell in energySaving state. + description "This attribute is relevant, if the cell acts as a candidate + cell. This attribute indicates the traffic load threshold and the time + duration which is used by distributed inter-RAT ES algorithms to allow + an original cell to leave the energySaving state. Threshold and time + duration are applied to the candidate cell which provides coverage + backup for the cell in energySaving state. The time duration indicates how long the traffic load (either for UL or - DL) in the candidate cell needs to have been above the threshold to - wake up one or more original cells which have been provided backup + DL) in the candidate cell needs to have been above the threshold to + wake up one or more original cells which have been provided backup coverage by the candidate cell. - For the load see the definition of + For the load see the definition of interRatEsActivationCandidateCellParameters. - This attribute indicates the traffic load threshold and the time - duration which is used by distributed inter-RAT ES algorithms to allow + This attribute indicates the traffic load threshold and the time + duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; key loadThreshold; min-elements 1; @@ -192,11 +192,11 @@ module _3gpp-nr-nrm-cesmanagementfunction { } leaf energySavingState { - description "Specifies the status regarding the energy saving in the + description "Specifies the status regarding the energy saving in the cell. If the value of energySavingControl is toBeEnergySaving, then it - shall be tried to achieve the value isEnergySaving for the - energySavingState. If the value of energySavingControl is - toBeNotEnergySaving, then it shall be tried to achieve the value + shall be tried to achieve the value isEnergySaving for the + energySavingState. If the value of energySavingControl is + toBeNotEnergySaving, then it shall be tried to achieve the value isNotEnergySaving for the energySavingState. "; type enumeration{ enum isNotEnergySaving; @@ -205,8 +205,8 @@ module _3gpp-nr-nrm-cesmanagementfunction { } leaf energySavingControl { - description "This attribute allows the Cross Domain-Centralized SON - energy saving function to initiate energy saving activation or + description "This attribute allows the Cross Domain-Centralized SON + energy saving function to initiate energy saving activation or deactivation."; type enumeration{ enum toBeEnergySaving; @@ -218,20 +218,20 @@ module _3gpp-nr-nrm-cesmanagementfunction { grouping EsNotAllowedTimePeriodGrp { leaf startTime { description "Start of not allowed time period in UTC time zone. - If set, the endTime must also be set. If not set, this is + If set, the endTime must also be set. If not set, this is interpreted as around the clock."; must ../endTime; type type5g3gpp:UTC24TimeOfDayT; } leaf endTime { - description "If endTime has a lower value than startTime, it will + description "If endTime has a lower value than startTime, it will be interpreted as referring to the following day."; must ../startTime; type type5g3gpp:UTC24TimeOfDayT; } leaf-list daysOfWeek { - description "Specifies that the not allowed periods are only - applicable to the specified days in UTC timezone. Every day if + description "Specifies that the not allowed periods are only + applicable to the specified days in UTC timezone. Every day if not set."; type type5g3gpp:DayOfWeekT; } @@ -239,20 +239,20 @@ module _3gpp-nr-nrm-cesmanagementfunction { grouping CESManagementFunctionSubtree { list CESManagementFunction { - description "This IOC represents the management capabilities of - Centralized SON Energy Saving (ES) functions. This is provided for + description "This IOC represents the management capabilities of + Centralized SON Energy Saving (ES) functions. This is provided for Energy Saving purposes. - - In the case where multiple CESManagement MOIs exist at different - levels of the containment tree, the CESManagement MOI at the lower - level overrides the CESManagement MOIs at higher level(s) of the + + In the case where multiple CESManagement MOIs exist at different + levels of the containment tree, the CESManagement MOI at the lower + level overrides the CESManagement MOIs at higher level(s) of the same containment tree."; reference "clause 6.2.2 in TS 28.310"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses CESManagementFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang index 550b4972d..04a5cbe69 100755 --- a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang +++ b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang @@ -11,13 +11,13 @@ module _3gpp-nr-nrm-commonbeamformingfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CommonBeamformingFuntion IOC + description "Defines the YANG mapping of the CommonBeamformingFuntion IOC that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916 ; } revision 2019-11-22 { reference "S5-197643"; } @@ -26,19 +26,19 @@ module _3gpp-nr-nrm-commonbeamformingfunction { reference "3GPP TS 28.541"; leaf coverageShape { - description "Identifies the sector carrier coverage shape described by - the envelope of the contained SSB beams. The coverage shape is + description "Identifies the sector carrier coverage shape described by + the envelope of the contained SSB beams. The coverage shape is implementation dependent."; mandatory true; type int32 { range "0..65535"; } } leaf digitalAzimuth { - description "Digitally-controlled azimuth through beamforming. - It represents the horizontal pointing direction of the antenna - relative to the antenna bore sight, representing the total - non-mechanical horizontal pan of the selected coverageShape. - Positive value gives azimuth to the right and negative value gives + description "Digitally-controlled azimuth through beamforming. + It represents the horizontal pointing direction of the antenna + relative to the antenna bore sight, representing the total + non-mechanical horizontal pan of the selected coverageShape. + Positive value gives azimuth to the right and negative value gives an azimuth to the left."; reference "3GPP TS 38.104, TS 38.901, TS 28.662"; @@ -47,10 +47,10 @@ module _3gpp-nr-nrm-commonbeamformingfunction { } leaf digitalTilt { - description "Digitally-controlled tilt through beamforming. - It represents the vertical pointing direction of the antenna relative - to the antenna bore sight, representing the total non-mechanical - vertical tilt of the selected coverageShape. Positive value gives + description "Digitally-controlled tilt through beamforming. + It represents the vertical pointing direction of the antenna relative + to the antenna bore sight, representing the total non-mechanical + vertical tilt of the selected coverageShape. Positive value gives downwards tilt and negative value gives upwards tilt."; reference "3GPP TS 38.104, TS 38.901, TS 28.662"; type int32 { range "-900..900"; } @@ -62,7 +62,7 @@ module _3gpp-nr-nrm-commonbeamformingfunction { + "nrsectcarr3gpp:NRSectorCarrier" { list CommonBeamformingFunction { - description "Represents common beamforming functionality (eg: SSB beams) + description "Represents common beamforming functionality (eg: SSB beams) for the NRSectorCarrier."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang index 4c9de6b8f..8a1f869d5 100755 --- a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang @@ -11,13 +11,13 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Represents the CPCIConfigurationFunction Information Object + description "Represents the CPCIConfigurationFunction Information Object Class(IOC) that is part of the NR Network Resource Model. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } @@ -25,7 +25,7 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { description "Represents the CPCIConfigurationFunction IOC."; leaf cPciConfigurationControl { - description "This attribute determines whether the Centralized SON + description "This attribute determines whether the Centralized SON PCI configuration function is enabled or disabled."; type boolean; mandatory true; @@ -34,11 +34,11 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { leaf-list cSonPciList { type int32 { range "0..1007"; } min-elements 1; - description "Holds a list of physical cell identities that can be - assigned to the pci attribute by gNB. The assignment algorithm is not - specified. + description "Holds a list of physical cell identities that can be + assigned to the pci attribute by gNB. The assignment algorithm is not + specified. See TS 38.211 clause 7.4.2.1 for legal values of pci. - This attribute shall be supported if and only if the C-SON PCI + This attribute shall be supported if and only if the C-SON PCI configuration is supported."; reference "See TS 38.211 clause 7.4.2.1"; } @@ -46,19 +46,19 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { grouping CPCIConfigurationFunctionSubtree { list CPCIConfigurationFunction { - description "This IOC contains attributes to support the Cross + description "This IOC contains attributes to support the Cross Domain-Centralized SON function of PCI configuration - - In the case where multiple CPCIConfiguration MOIs exist at different - levels of the containment tree, the CPCIConfiguration MOI at the lower - level overrides the CPCIConfiguration MOIs at higher level(s) of the + + In the case where multiple CPCIConfiguration MOIs exist at different + levels of the containment tree, the CPCIConfiguration MOI at the lower + level overrides the CPCIConfiguration MOIs at higher level(s) of the same containment tree."; reference "clause 7.2.1 in TS 28.313"; - key id; - uses top3gpp:Top_Grp ; + key id; + uses top3gpp:Top_Grp ; container attributes { uses CPCIConfigurationFunctionGrp ; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang index 5dbbc4e4f..defdff6fb 100755 --- a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang @@ -11,26 +11,26 @@ 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 2025, 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 2024-08-19 { reference CR-1314 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-05-08 { reference S5-203316; } grouping DANRManagementFunctionGrp { description "Represents the DANRManagementFunction IOC."; leaf intrasystemANRManagementSwitch { - description "This attribute determines whether the intra-system ANR + description "This attribute determines whether the intra-system ANR function is activated or deactivated."; type boolean; } leaf intersystemANRManagementSwitch { - description "This attribute determines whether the inter-system ANR + description "This attribute determines whether the inter-system ANR function is activated or deactivated."; type boolean; } @@ -38,9 +38,9 @@ module _3gpp-nr-nrm-danrmanagementfunction { augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { list DANRManagementFunction { - description "This IOC contains attributes to support the D-SON function + 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; + key id; max-elements 1; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index 2e1e5bbaa..82edd8c9c 100755 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -13,20 +13,20 @@ module _3gpp-nr-nrm-desmanagementfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DESManagementFunction - Information Object Class (IOC) that is part of the NR Network Resource + description "Defines the YANG mapping of the DESManagementFunction + 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 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; revision 2024-08-07 { reference CR-1331; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } grouping loadTimeThresholdGrp { - description "Represents the the traffic load threshold and the time + description "Represents the the traffic load threshold and the time duration."; leaf loadThreshold { @@ -35,9 +35,9 @@ module _3gpp-nr-nrm-desmanagementfunction { type type5g3gpp:EnergySavingLoadThresholdT; } leaf timeDuration { - description "The time duration indicates how long the traffic load - (either for UL or DL) in the cell needs to have been above the - threshold to wake up one or more original cells which have been + description "The time duration indicates how long the traffic load + (either for UL or DL) in the cell needs to have been above the + threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; type type5g3gpp:EnergySavingTimeDurationT; } @@ -47,15 +47,15 @@ module _3gpp-nr-nrm-desmanagementfunction { description "Represents the DESManagementFunction IOC."; leaf desSwitch { - description "This attribute determines whether the Distributed SON + description "This attribute determines whether the Distributed SON energy saving function is enabled or disabled."; type boolean; } list intraRatEsActivationOriginalCellLoadParameters { description "This attributes is relevant, if the cell acts as an original - cell. This attribute indicates the traffic load threshold and the time - duration, which are used by distributed ES algorithms to allow a cell + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; key loadThreshold; min-elements 1; @@ -65,7 +65,7 @@ module _3gpp-nr-nrm-desmanagementfunction { list intraRatEsActivationCandidateCellsLoadParameters { description "This attribute indicates the traffic load threshold and the - time duration, which are used by distributed ES algorithms level to + time duration, which are used by distributed ES algorithms level to allow an 'original' cell to enter the energySaving state."; key loadThreshold; min-elements 1; @@ -75,8 +75,8 @@ module _3gpp-nr-nrm-desmanagementfunction { list intraRatEsDeactivationCandidateCellsLoadParameters { description "This attributes is relevant, if the cell acts as a candidate - cell.This attribute indicates the traffic load threshold and the time - duration which is used by distributed ES algorithms to allow a cell to + cell.This attribute indicates the traffic load threshold and the time + duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; key loadThreshold; min-elements 1; @@ -85,7 +85,7 @@ module _3gpp-nr-nrm-desmanagementfunction { } list esNotAllowedTimePeriod { - description "This is a list of time periods during which + description "This is a list of time periods during which inter-RAT energy saving is not allowed"; key idx; @@ -96,7 +96,7 @@ module _3gpp-nr-nrm-desmanagementfunction { } list interRatEsActivationOriginalCellParameters { - description "This attribute indicates the traffic load threshold and the + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; key loadThreshold; @@ -106,7 +106,7 @@ module _3gpp-nr-nrm-desmanagementfunction { } list interRatEsActivationCandidateCellParameters { - description "This attribute indicates the traffic load threshold and the + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; key loadThreshold; @@ -116,8 +116,8 @@ module _3gpp-nr-nrm-desmanagementfunction { } list interRatEsDeactivationCandidateCellParameters { - description "This attribute indicates the traffic load threshold and the - time duration which is used by distributed inter-RAT ES algorithms to + description "This attribute indicates the traffic load threshold and the + time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; key loadThreshold; min-elements 1; @@ -126,7 +126,7 @@ module _3gpp-nr-nrm-desmanagementfunction { } leaf energySavingState { - description "Specifies the status regarding the energy saving in the + description "Specifies the status regarding the energy saving in the cell."; type enumeration { enum isNotEnergySaving; @@ -135,44 +135,44 @@ module _3gpp-nr-nrm-desmanagementfunction { } leaf isProbingCapable { - description "This attribute indicates whether this cell is capable of + description "This attribute indicates whether this cell is capable of performing the ES probing procedure."; type enumeration{ enum yes; enum no; - } + } } leaf-list mLModelRefList { type types3gpp:DistinguishedName; description "This attribute holds a DN list of MLModel ¨ (See TS 28.105])."; - config false; + config false; } leaf-list aIMLInferenceFunctionRefList { type types3gpp:DistinguishedName; description "This attribute holds a DN list of AIMLInferenceFunction (See TS 28.105) ."; - config false; + config false; } } grouping EsNotAllowedTimePeriodGrp { leaf startTime { description "Start of not allowed time period in UTC time zone. - If set, the endTime must also be set. If not set, this is + If set, the endTime must also be set. If not set, this is interpreted as around the clock."; must ../endTime; type type5g3gpp:UTC24TimeOfDayT; } leaf endTime { - description "If endTime has a lower value than startTime, it will + description "If endTime has a lower value than startTime, it will be interpreted as referring to the following day."; type type5g3gpp:UTC24TimeOfDayT; must ../startTime; } leaf-list daysOfWeek { - description "Specifies that the not allowed periods are only - applicable to the specified days in UTC timezone. Every day if + description "Specifies that the not allowed periods are only + applicable to the specified days in UTC timezone. Every day if not set."; type type5g3gpp:DayOfWeekT; } @@ -180,20 +180,20 @@ module _3gpp-nr-nrm-desmanagementfunction { grouping DESManagementFunctionSubtree { list DESManagementFunction { - description "This IOC represents the management capabilities of - Distributed SON Energy Saving (ES) functions. This is provided for + description "This IOC represents the management capabilities of + Distributed SON Energy Saving (ES) functions. This is provided for Energy Saving purposes. - In the case where multiple DESManagement MOIs exist at different - levels of the containment tree, the DESManagement MOI at the lower - level overrides the DESManagement MOIs at higher level(s) of the same + In the case where multiple DESManagement MOIs exist at different + levels of the containment tree, the DESManagement MOI at the lower + level overrides the DESManagement MOIs at higher level(s) of the same containment tree."; reference "clause 6.2.3.0 in TS 28.310"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses DESManagementFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-dlbofunction.yang b/yang-models/_3gpp-nr-nrm-dlbofunction.yang index 9a3781a45..1ed4e20b4 100644 --- a/yang-models/_3gpp-nr-nrm-dlbofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dlbofunction.yang @@ -12,17 +12,17 @@ module _3gpp-nr-nrm-dlbofunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DLBOFunction - Information Object Class (IOC) that is part of the NR Network Resource + description "Defines the YANG mapping of the DLBOFunction + 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 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; revision 2024-08-07 { reference CR-1331; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-03-25 { reference "CR-0683"; } - revision 2021-10-22 { reference "CR-0577"; } + revision 2021-10-22 { reference "CR-0577"; } feature DLBOUnderGNBCUCPFunction { description "The DLBOFunction shall be available under @@ -42,30 +42,30 @@ module _3gpp-nr-nrm-dlbofunction { description "Represents the DLBOFunction IOC."; leaf dlboControl { - description "This attribute determines whether the LBO function is + description "This attribute determines whether the LBO function is enabled or disabled."; type boolean; } leaf maximumDeviationHoTriggerLow { - description "This parameter defines the maximum allowed lower - deviation of the Handover Trigger, from the default point of + description "This parameter defines the maximum allowed lower + deviation of the Handover Trigger, from the default point of operation."; type int32 { range "-20..20"; } units "0.5 dB"; } leaf maximumDeviationHoTriggerHigh { - description "This parameter defines the maximum allowed upper - deviation of the Handover Trigger, from the default point of + description "This parameter defines the maximum allowed upper + deviation of the Handover Trigger, from the default point of operation."; type int32 { range "-20..20"; } units "0.5 dB"; } leaf minimumTimeBetweenHoTriggerChange { - description "This parameter defines the minimum allowed time interval - between two Handover Trigger change performed by MRO. This is used + description "This parameter defines the minimum allowed time interval + between two Handover Trigger change performed by MRO. This is used to control the stability and convergence of the algorithm."; type int32 { range "0..604800"; } units "1"; @@ -74,30 +74,30 @@ module _3gpp-nr-nrm-dlbofunction { type types3gpp:DistinguishedName; description "This attribute holds a DN list of MLModel ¨ (See TS 28.105)."; - config false; + config false; } leaf-list aIMLInferenceFunctionRefList { type types3gpp:DistinguishedName; description "This attribute holds a DN list of AIMLInferenceFunction (See TS 28.105) ."; - config false; + config false; } } grouping DLBOFunctionSubtree { list DLBOFunction { - description "This IOC contains attributes to support the D-SON function + description "This IOC contains attributes to support the D-SON function of LBO. - In the case where multiple DLBO MOIs exist at different levels of the + In the case where multiple DLBO MOIs exist at different levels of the containment tree, the DLBO MOI at the lower level overrides the DLBO MOIs at higher level(s) of the same containment tree."; reference "clause 7.1.2 in TS 28.313"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses DLBOFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index 9c1937e1d..e03f24c59 100755 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -12,15 +12,15 @@ module _3gpp-nr-nrm-dmrofunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DMROFunction - Information Object Class (IOC) that is part of the NR Network Resource + description "Defines the YANG mapping of the DMROFunction + 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 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-08-07 { reference CR-1331; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-08-07 { reference CR-1331; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0633; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } @@ -30,16 +30,16 @@ module _3gpp-nr-nrm-dmrofunction { leaf maximumDeviationHoTriggerLow { - description "This parameter defines the maximum allowed lower - deviation of the Handover Trigger, from the default point of + description "This parameter defines the maximum allowed lower + deviation of the Handover Trigger, from the default point of operation."; type int32 {range "-20..20";} units "0.5 dB"; } - + leaf maximumDeviationHoTriggerHigh { - description "This parameter defines the maximum allowed upper - deviation of the Handover Trigger, from the default point of + description "This parameter defines the maximum allowed upper + deviation of the Handover Trigger, from the default point of operation."; type int32 {range "-20..20";} units "0.5 dB"; @@ -47,23 +47,23 @@ module _3gpp-nr-nrm-dmrofunction { leaf minimumTimeBetweenHoTriggerChange { description "This parameter defines the minimum allowed time interval - between two Handover Trigger change performed by MRO. This is used to + between two Handover Trigger change performed by MRO. This is used to control the stability and convergence of the algorithm."; - type uint32 { + type uint32 { range 0..604800; // <= 1 week } units seconds; } leaf tstoreUEcntxt { - description "The timer used for detection of too early HO, too late HO + description "The timer used for detection of too early HO, too late HO and HO to wrong cell."; - type uint32 { + type uint32 { range 0..1023; } units "100 milliseconds"; } leaf dmroControl { - description "This attribute determines whether the MRO function is + description "This attribute determines whether the MRO function is enabled or disabled."; type boolean; } @@ -83,18 +83,18 @@ module _3gpp-nr-nrm-dmrofunction { grouping DMROFunctionSubtree { list DMROFunction { - description "This IOC contains attributes to support the D-SON function + description "This IOC contains attributes to support the D-SON function of MRO. - In the case where multiple DMRO MOIs exist at different levels of the - containment tree, the DMRO MOI at the lower level overrides the DMRO + In the case where multiple DMRO MOIs exist at different levels of the + containment tree, the DMRO MOI at the lower level overrides the DMRO MOIs at higher level(s) of the same containment tree."; reference "clause 7.1.2 in TS 28.313"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses DMROFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang index 1a11e046a..233d8ad40 100755 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -12,14 +12,14 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DPCIConfigurationFunction + description "Defines the YANG mapping of the DPCIConfigurationFunction 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-25 { reference CR-0386 ; } @@ -30,11 +30,11 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { list nRPciList { description "This holds a list of physical cell identities that can be - assigned to the NR cells. This attribute shall be supported if D-SON + assigned to the NR cells. This attribute shall be supported if D-SON PCI configuration function is supported."; key NRPci; - leaf NRPci { - type type5g3gpp:PhysCellID; + leaf NRPci { + type type5g3gpp:PhysCellID; } } @@ -47,19 +47,19 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { grouping DPCIConfigurationFunctionSubtree { list DPCIConfigurationFunction { - description "This IOC contains attributes to support the Distributed SON - function of PCI configuration. + description "This IOC contains attributes to support the Distributed SON + function of PCI configuration. - In the case where multiple DPCIConfiguration MOIs exist at different - levels of the containment tree, the DPCIConfiguration MOI at the lower - level overrides the DPCIConfiguration MOIs at higher level(s) of the + In the case where multiple DPCIConfiguration MOIs exist at different + levels of the containment tree, the DPCIConfiguration MOI at the lower + level overrides the DPCIConfiguration MOIs at higher level(s) of the same containment tree."; reference "clause 7.1.3 in TS 28.313"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses DPCIConfigurationFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index 6b4ac81bb..94b277e68 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -11,21 +11,21 @@ module _3gpp-nr-nrm-drachoptimizationfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DRACHOptimizationFunction - Information Object Class (IOC) that is part of the NR Network Resource + description "Defines the YANG mapping of the DRACHOptimizationFunction + Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-10-02 { reference "CR-0384, CR-0382" ; } revision 2020-05-08 { reference S5-203316; } - typedef TargetProbabilityT { + typedef TargetProbabilityT { type enumeration { enum 25; enum 50; @@ -33,14 +33,14 @@ module _3gpp-nr-nrm-drachoptimizationfunction { enum 90; } } - typedef NumberofpreamblessentT { - type uint32 { - range "1..200"; + typedef NumberofpreamblessentT { + type uint32 { + range "1..200"; } } - typedef AccessdelayT { - type uint32 { - range "10..560"; + typedef AccessdelayT { + type uint32 { + range "10..560"; } } grouping NumPreableAccessDelayGrp { @@ -53,12 +53,12 @@ module _3gpp-nr-nrm-drachoptimizationfunction { type TargetProbabilityT; } leaf numberofpreamblessent { - description "This attribute indicates the number of preambles sent - used to configure a wanted distribution of RACH preambles in a + 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], + are 3, 4, 5, 6, 7, 8, 10, 20, 50, 100, 200 (see 38.331 [54], subclause 6.3.2)."; mandatory true; type NumberofpreamblessentT; @@ -75,13 +75,13 @@ module _3gpp-nr-nrm-drachoptimizationfunction { uses NumPreableAccessDelayGrp; } list ueAccDelayProbilityDist { - description "This is a list of target Access Delay probability (ADP) + description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; key "targetProbability numberofpreamblessent"; uses NumPreableAccessDelayGrp; } leaf drachOptimizationControl { - description "This attribute determines whether the RACH Optimization + description "This attribute determines whether the RACH Optimization function is enabled or disabled."; type boolean; } @@ -89,20 +89,20 @@ module _3gpp-nr-nrm-drachoptimizationfunction { grouping DRACHOptimizationFunctionSubtree { list DRACHOptimizationFunction { - description "This IOC represents the management capabilities of - Centralized SON Energy Saving (ES) functions. This is provided for + description "This IOC represents the management capabilities of + Centralized SON Energy Saving (ES) functions. This is provided for Energy Saving purposes. - - In the case where multiple CESManagement MOIs exist at different - levels of the containment tree, the CESManagement MOI at the lower - level overrides the CESManagement MOIs at higher level(s) of the + + In the case where multiple CESManagement MOIs exist at different + levels of the containment tree, the CESManagement MOI at the lower + level overrides the CESManagement MOIs at higher level(s) of the same containment tree."; reference "clause 6.2.2 in TS 28.310"; - key id; + key id; uses top3gpp:Top_Grp; container attributes { uses DRACHOptimizationFunctionGrp; - } + } } } diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index f971ade81..629b5dee5 100644 --- a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -2,40 +2,40 @@ module _3gpp-nr-nrm-ecmappingrule { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-nr-nrm-ecmappingrule; prefix ecmap3gpp; - + 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 unified mapping rule input to support Energy Cost Index Mapping when Energy Cost Reporting. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 - revision 2024-08-12 { reference "CR-1336 CR-1337"; } - + revision 2024-08-12 { reference "CR-1336 CR-1337"; } + grouping NRECMappingRuleGrp { - description "Represents the unified mapping rule to support Energy Cost Mapping - when Energy Cost Reporting is supported. Can be name-contained by SubNetwork + description "Represents the unified mapping rule to support Energy Cost Mapping + when Energy Cost Reporting is supported. Can be name-contained by SubNetwork or ManagedElement. It applies to all ManagedEntity contained by the parent."; leaf eCMRInputMinValue { type uint8; - description "The minimum value of to be applied + description "The minimum value of to be applied for mapping from this attribute to the energy cost."; } - + leaf eCMRInputMaxValue { type uint8; - description "The maximum value of to be applied - for mapping from this attribute to the energy cost."; + description "The maximum value of to be applied + for mapping from this attribute to the energy cost."; } leaf eCTimeInterval { type uint8; - description "Time interval (in seconds) that - should be applied for collecting values of mapping + description "Time interval (in seconds) that + should be applied for collecting values of mapping rule attribute to be used for computing the energy cost."; units seconds; } @@ -44,18 +44,18 @@ 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. + 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; container attributes { - uses NRECMappingRuleGrp; + uses NRECMappingRuleGrp; } } } diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 60bc8091f..30f2a4d84 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -15,12 +15,12 @@ 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2021-05-01 { reference CR-0490; } revision 2021-03-03 { reference CR-0435 ; } @@ -40,7 +40,7 @@ module _3gpp-nr-nrm-ep { feature EPClassesUnderGNBDUFunction { description "Endpoint classes shall be contained under GNBDUFunction"; } - + grouping EP_E1Grp { description "Represents the EP_E1 IOC."; reference "3GPP TS 28.541, 3GPP TS 38.401"; @@ -54,7 +54,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses eprp3gpp:EP_Common; } } @@ -67,7 +67,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses eprp3gpp:EP_Common; } } @@ -78,37 +78,37 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.420"; uses eprp3gpp:EP_Common; } - + grouping EP_XnUGrp { description "Represents the EP_XnU IOC."; reference "3GPP TS 28.541, 3GPP TS 38.420"; uses eprp3gpp:EP_Common; } - + grouping EP_NgCGrp { description "Represents the EP_NgC IOC."; reference "3GPP TS 28.541, 3GPP TS 38.470"; uses eprp3gpp:EP_Common; } - + grouping EP_NgUGrp { description "Represents the EP_NgU IOC."; reference "3GPP TS 28.541, 3GPP TS 38.470"; uses eprp3gpp:EP_Common; } - + grouping EP_X2CGrp { description "Represents the EP_X2C IOC."; reference "3GPP TS 28.541, 3GPP TS 36.423"; uses eprp3gpp:EP_Common; } - + grouping EP_X2UGrp { description "Represents the EP_X2U IOC."; reference "3GPP TS 28.541, 3GPP TS 36.425"; uses eprp3gpp:EP_Common; } - + grouping EP_S1UGrp { description "Represents the EP_S1U IOC."; reference "3GPP TS 28.541, 3GPP TS 36.410"; @@ -124,7 +124,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.401"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_E1Grp; } } @@ -137,20 +137,20 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_NgCGrp; } } list EP_XnC { description "Represents the local gNB node end point of the logical - link, supporting Xn application protocols, to a neighbour NG-RAN node - (including gNB and ng-eNB). The Xn Application PDUs are carried over + link, supporting Xn application protocols, to a neighbour NG-RAN node + (including gNB and ng-eNB). The Xn Application PDUs are carried over SCTP/IP/Data link layer/Physical layer stack."; reference "3GPP TS 28.541, 3GPP TS 38.420 subclause 7"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_XnCGrp; } } @@ -162,7 +162,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 36.423"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_X2CGrp; } } @@ -177,7 +177,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.401"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_E1Grp; } } @@ -190,7 +190,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.470"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_NgUGrp; } } @@ -202,7 +202,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 38.420"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_XnUGrp; } } @@ -213,7 +213,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 36.425"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_X2UGrp; } } @@ -224,7 +224,7 @@ module _3gpp-nr-nrm-ep { reference "3GPP TS 28.541, 3GPP TS 36.410"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EP_S1UGrp; } } @@ -238,7 +238,7 @@ module _3gpp-nr-nrm-ep { max-elements 1; } } - + uses EP_F1USubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang index 015b86206..9d36d0f17 100755 --- a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-eutrancellrelation { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutrancellrelation"; prefix "eutrancellrel3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -13,11 +13,11 @@ module _3gpp-nr-nrm-eutrancellrelation { organization "3GPP SA5"; description "Defines the YANG mapping of the EUtranCellRelation 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { description "Initial revision"; @@ -26,15 +26,15 @@ module _3gpp-nr-nrm-eutrancellrelation { typedef ActionAllowed { type enumeration { enum YES; - enum NO; + enum NO; } } - + typedef EnergySavingCoverage { type enumeration { enum YES; - enum NO; - enum PARTIAL; + enum NO; + enum PARTIAL; } } @@ -88,7 +88,7 @@ module _3gpp-nr-nrm-eutrancellrelation { Target cell is the adjacent cell referenced by this EUtranCellRelation instance. If NO, ICIC load information message sending shall not be allowed."; - reference "3GPP TS 36.423"; + reference "3GPP TS 36.423"; mandatory true; type ActionAllowed; } @@ -132,7 +132,7 @@ module _3gpp-nr-nrm-eutrancellrelation { leaf cellIndividualOffset { description "Offset applicable to a neighbouring cell. It is used for evaluating the neighbouring cell for handover in connected mode. Used - by the HandOver parameter Optimization (HOO) function or Load + by the HandOver parameter Optimization (HOO) function or Load Balancing Optimization (LBO) function."; reference "3GPP TS 36.331"; config false; @@ -151,10 +151,10 @@ module _3gpp-nr-nrm-eutrancellrelation { list EUtranCellRelation { description "Represents a relation between an NR cell and an E-UTRAN cell."; - reference "3GPP TS 28.541"; + reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EUtranCellRelationGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang index ab7dc74f8..03b222a0c 100755 --- a/yang-models/_3gpp-nr-nrm-eutranetwork.yang +++ b/yang-models/_3gpp-nr-nrm-eutranetwork.yang @@ -11,12 +11,12 @@ module _3gpp-nr-nrm-eutranetwork { 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, + 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 2023-09-18 { reference CR-1043 ; } revision 2019-06-17 {reference "Initial revision"; } grouping EUtraNetworkGrp { @@ -24,14 +24,14 @@ module _3gpp-nr-nrm-eutranetwork { Contains no additiona attributes."; } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { + 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-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 32e67873d..5bb780abb 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-eutranfreqrelation { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfreqrelation"; prefix "eutranfreqrel3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -14,13 +14,13 @@ module _3gpp-nr-nrm-eutranfreqrelation { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EUtranFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-01-25 { reference CR-1442; } - revision 2024-02-24 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043; } + revision 2025-01-25 { reference CR-1442; } + revision 2024-02-24 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial version"; @@ -79,7 +79,7 @@ module _3gpp-nr-nrm-eutranfreqrelation { } leaf pMax { - description "Used for calculation of the parameter Pcompensation + description "Used for calculation of the parameter Pcompensation (defined in 3GPP TS 38.304), at cell reselection to a cell."; reference "PEMAX in 3GPP TS 38.101-1"; mandatory true; @@ -196,7 +196,7 @@ module _3gpp-nr-nrm-eutranfreqrelation { type types3gpp:DistinguishedName; } } - + augment "/me3gpp:ManagedElement" + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { @@ -206,7 +206,7 @@ module _3gpp-nr-nrm-eutranfreqrelation { reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses EUtranFreqRelationGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang index 70508b134..d813c2ff7 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang @@ -13,13 +13,13 @@ module _3gpp-nr-nrm-eutranfrequency { 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } @@ -52,12 +52,12 @@ module _3gpp-nr-nrm-eutranfrequency { uses EUtranFrequencyGrp; } } - } - + } + feature EUtranFrequencyUnderSubNetwork { description "The EUtranFrequency shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature EUtranFrequencyUnderSubNetwork ; uses EUtranFrequencyWrapper; @@ -66,7 +66,7 @@ module _3gpp-nr-nrm-eutranfrequency { feature EUtranFrequencyUnderEUtraNetwork { description "The EUtranFrequency shall be contained under EUtraNetwork"; } - + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "eutranet3gpp:EUtraNetwork" { if-feature EUtranFrequencyUnderEUtraNetwork; diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang index f74c5d3a0..7dee0c635 100755 --- a/yang-models/_3gpp-nr-nrm-externalamffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalamffunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-externalamffunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalamffunction"; prefix "extamf3gpp"; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -12,12 +12,12 @@ module _3gpp-nr-nrm-externalamffunction { 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } @@ -26,16 +26,16 @@ module _3gpp-nr-nrm-externalamffunction { uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 6; key "mcc mnc"; uses types3gpp:PLMNId; } - + container aMFIdentifier { presence true; description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; @@ -56,8 +56,8 @@ module _3gpp-nr-nrm-externalamffunction { } uses mf3gpp:ManagedFunctionContainedClasses; } - } - + } + augment "/subnet3gpp:SubNetwork" { uses ExternalAMFFunctionWrapper; } diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang index ed8cb6683..441096e32 100755 --- a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang @@ -16,13 +16,13 @@ module _3gpp-nr-nrm-externalenbfunction { description "Defines the YANG mapping of the ExternalENBFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } @@ -54,13 +54,13 @@ module _3gpp-nr-nrm-externalenbfunction { uses exteutrancell3gpp:ExternalEUtranCellFDDSubtree; uses exteutrancell3gpp:ExternalEUtranCellTDDSubtree; } - } - + } + feature ExternalENBFunctionUnderSubNetwork { description "The ExternalENBFunction shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature ExternalENBFunctionUnderSubNetwork ; uses ExternalENBFunctionWrapper; @@ -70,7 +70,7 @@ module _3gpp-nr-nrm-externalenbfunction { description "The ExternalENBFunction shall be contained under EUtraNetwork"; } - + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "eutranet3gpp:EUtraNetwork" { if-feature ExternalENBFunctionUnderEUtraNetwork; diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index e6f97092e..bdd969fc1 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -12,18 +12,18 @@ module _3gpp-nr-nrm-externaleutrancell { 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } grouping ExternalEUtranGenericCellGrp { - description "Represents the ExternalEUtranGenericCell IOC."; + description "Represents the ExternalEUtranGenericCell IOC."; reference "3GPP TS 28.658"; uses mf3gpp:ManagedFunctionGrp; @@ -53,10 +53,10 @@ module _3gpp-nr-nrm-externaleutrancell { uses types3gpp:PLMNId; } - leaf cellLocalId { + leaf cellLocalId { description "Unambiguously identifies a cell within an eNodeB."; reference "NCI defined in 3GPP TS 38.300"; - type int32 {range "0..255"; } + type int32 {range "0..255"; } } leaf eNBId { @@ -68,9 +68,9 @@ module _3gpp-nr-nrm-externaleutrancell { // allowed. } } - + grouping ExternalEUtranCellFDDGrp { - description "Represents the ExternalEUtranCellFDD IOC."; + description "Represents the ExternalEUtranCellFDD IOC."; reference "3GPP TS 28.658"; uses ExternalEUtranGenericCellGrp; @@ -91,7 +91,7 @@ module _3gpp-nr-nrm-externaleutrancell { } grouping ExternalEUtranCellTDDGrp { - description "Represents the ExternalEUtranCellTDD IOC."; + description "Represents the ExternalEUtranCellTDD IOC."; reference "3GPP TS 28.658"; uses ExternalEUtranGenericCellGrp; diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang index ff466a30b..0c7b28228 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang @@ -17,12 +17,12 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { 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, + 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } @@ -31,10 +31,10 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN. + 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 '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 uint32 { range "0..4294967295"; } @@ -67,17 +67,17 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { uses ExternalGNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; - + uses extnrcellcu3gpp:ExternalNRCellCUSubtree; } - } - + } + feature ExternalGNBCUCPFunctionUnderNRNetwork { description "The ExternalGNBCUCPFunction shall be contained under NRNetwork"; } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrnet3gpp:NRNetwork" { if-feature ExternalGNBCUCPFunctionUnderNRNetwork; uses ExternalGNBCUCPFunctionWrapper; @@ -87,7 +87,7 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { description "The ExternalGNBCUCPFunction shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature ExternalGNBCUCPFunctionUnderSubNetwork ; uses ExternalGNBCUCPFunctionWrapper; diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang index 41ac84351..5dcc6844e 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang @@ -15,25 +15,25 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { description "Defines the YANG mapping of the ExternalGNBCUUPFunction 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 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBCUUPFunctionGrp { description "Represets the ExternalGNBCUUPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + leaf gNBId { - description "Identifies a gNB within a PLMN. + 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 '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 uint32 { range "0..4294967295"; } @@ -58,14 +58,14 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { } uses mf3gpp:ManagedFunctionContainedClasses; } - } - + } + feature ExternalGNBCUUPFunctionUnderNRNetwork { description "The ExternalGNBCUUPFunction shall be contained under NRNetwork"; } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrnet3gpp:NRNetwork" { if-feature ExternalGNBCUUPFunctionUnderNRNetwork; uses ExternalGNBCUUPFunctionSubtree; @@ -75,7 +75,7 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { description "The ExternalGNBCUUPFunction shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature ExternalGNBCUUPFunctionUnderSubNetwork ; uses ExternalGNBCUUPFunctionSubtree; diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang index 115fdf6c8..500644531 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang @@ -16,25 +16,25 @@ module _3gpp-nr-nrm-externalgnbdufunction { description "Defines the YANG mapping of the ExternalGNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBDUFunctionGrp { description "Represets the ExternalGNBDUFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + leaf gNBId { - description "Identifies a gNB within a PLMN. + 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 '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 uint32 { range "0..4294967295"; } @@ -60,14 +60,14 @@ module _3gpp-nr-nrm-externalgnbdufunction { } uses mf3gpp:ManagedFunctionContainedClasses; } - } - + } + feature ExternalGNBDUFunctionUnderNRNetwork { description "The ExternalGNBDUFunction shall be contained under NRNetwork"; } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrnet3gpp:NRNetwork" { if-feature ExternalGNBDUFunctionUnderNRNetwork; uses ExternalGNBDUFunctionSubtree; @@ -77,7 +77,7 @@ module _3gpp-nr-nrm-externalgnbdufunction { description "The ExternalGNBDUFunction shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature ExternalGNBDUFunctionUnderSubNetwork ; uses ExternalGNBDUFunctionSubtree; diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang index 1586cad43..b925509bc 100755 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -11,48 +11,48 @@ module _3gpp-nr-nrm-externalnrcellcu { 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial revision"; } grouping ExternalNRCellCUGrp { - description "Represents the ExternalNRCellCU IOC."; + description "Represents the ExternalNRCellCU IOC."; uses mf3gpp:ManagedFunctionGrp; - - 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. + leaf cellLocalId { + description "It identifies a NR cell of a gNB. - 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 + 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 + 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 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; + type int32; } leaf nRPCI { description "This holds the Physical Cell Identity (PCI) of the NR cell. - allowedValues: + allowedValues: See 3GPP TS 36.211 subclause 6.11 for legal values of pci."; mandatory true; type int64; @@ -78,8 +78,8 @@ module _3gpp-nr-nrm-externalnrcellcu { grouping ExternalNRCellCUSubtree { list ExternalNRCellCU { - description "This IOC contains necessary attributes for inter-system - and intra-system handover. It also contains a subset of the attributes + 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; @@ -88,5 +88,5 @@ module _3gpp-nr-nrm-externalnrcellcu { } uses mf3gpp:ManagedFunctionContainedClasses; } - } + } } \ 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 dcaba95b4..128b2f0ea 100755 --- a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalservinggwfunction"; prefix "extservgw3gpp"; - + import _3gpp-common-managed-function { prefix mf3gpp; } //import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -11,12 +11,12 @@ module _3gpp-nr-nrm-externalservinggwfunction { description "Defines the YANG mapping of the ExternalServingGWFunction 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 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { description "Initial revision"; @@ -41,8 +41,8 @@ module _3gpp-nr-nrm-externalservinggwfunction { } uses mf3gpp:ManagedFunctionContainedClasses; } - } - + } + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalServingGWFunctionWrapper; diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang index abe82b6c8..4f817ef85 100755 --- a/yang-models/_3gpp-nr-nrm-externalupffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalupffunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-externalupffunction { yang-version 1.1; namespace "urn:3gpp:sa5:_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; }*/ @@ -12,12 +12,12 @@ module _3gpp-nr-nrm-externalupffunction { 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 2025, 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { description "Initial revision"; @@ -42,8 +42,8 @@ module _3gpp-nr-nrm-externalupffunction { } uses mf3gpp:ManagedFunctionContainedClasses; } - } - + } + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalUPFFunctionWrapper; diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 335eb3c16..e2940624d 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction"; prefix "gnbcucp3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } @@ -14,9 +14,9 @@ module _3gpp-nr-nrm-gnbcucpfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the GNBCUCPFunction Information + description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; @@ -24,14 +24,14 @@ module _3gpp-nr-nrm-gnbcucpfunction { 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"; } - revision 2024-08-19 { reference "CR-1337 CR-1352"; } - revision 2024-05-24 { reference CR-1273 ; } + revision 2024-11-07 { reference "CR-1443"; } + revision 2024-08-19 { reference "CR-1405"; } + revision 2024-08-19 { reference "CR-1337 CR-1352"; } + revision 2024-05-24 { reference CR-1273 ; } revision 2024-04-04 { reference CR-1139; } - revision 2024-02-24 { reference CR-1218; } + revision 2024-02-24 { reference CR-1218; } revision 2024-01-12 { reference CR-1138; } - revision 2023-09-18 { reference CR-1043; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2022-07-28 { reference "CR-0770"; } revision 2021-11-06 { reference "CR-0611" ; } @@ -65,18 +65,18 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping BackhaulAddressGrp { - description "This data type represents the properties describing the + description "This data type represents the properties describing the backhaul address of gNB. "; - + leaf gNBId { type uint32 ; mandatory true; - description "It identifies a gNB within a PLMN. The gNB ID is part of + description "It identifies a gNB within a PLMN. The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. + reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. Global gNB ID in subclause 9.3.1.6 of TS 38.413"; } - + list tAI { key tac; min-elements 1; @@ -86,25 +86,25 @@ module _3gpp-nr-nrm-gnbcucpfunction { uses types3gpp:TaiGrp; } } - + grouping MappingSetIDBackhaulAddressGrp { - description "This data type represents the properties describing the + description "This data type represents the properties describing the mapping relationship between set ID and backhaul address of gNB."; - + leaf setId { type uint32 { range 0..4194304; // 22 bits } mandatory true; - description "This specifies the set ID of a victim Set (RIM-RS1 Set) or - aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). + description "This specifies the set ID of a victim Set (RIM-RS1 Set) or + aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). allowedValues: The bit length of the set ID is maximum 22bit."; } - + list backhaulAddress { - description "The attribute specifies backhaulAddress which is defined as + description "The attribute specifies backhaulAddress which is defined as a datatype."; min-elements 1; max-elements 1; @@ -114,34 +114,34 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping TceIDMappingInfoGrp { - description "This data type represents the properties describing the - mapping relationship between TCE ID, PLMN where TCE resides and + description "This data type represents the properties describing the + mapping relationship between TCE ID, PLMN where TCE resides and IP address of TCE."; - + leaf tceIPAddress { type inet:ip-address; mandatory true; - description "This attribute indicates IP address of TCE. + description "This attribute indicates IP address of TCE. (See subclause 4.1.1.9.2 in TS 32.422)"; } - + leaf tceID { type int64; mandatory true; - description "This attribute indicates TCE Id. + description "This attribute indicates TCE Id. (See subclause 4.1.1.9.2 in TS 32.422)"; } - + list pLMNTarget { - description "Indicates the PLMN where TCE resides. + description "Indicates the PLMN where TCE resides. (See subclauses 4.1.1.9.2 and 4.9.2 in TS 32.422)"; min-elements 1; max-elements 1; - key mnc; + key mnc; uses types3gpp:PLMNId; } } - + grouping GNBCUCPFunctionGrp { description "Represents the GNBCUCPFunction IOC."; reference "3GPP TS 28.541"; @@ -177,7 +177,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { max-elements 1; yext3gpp:inVariant; uses types3gpp:PLMNId; - } + } list x2BlockList { description "List of nodes to which X2 connections are prohibited."; @@ -222,27 +222,27 @@ module _3gpp-nr-nrm-gnbcucpfunction { } list mappingSetIDBackhaulAddressList { - description "The attribute specifies a list of mappingSetIDBackhaulAddress - which is defined as a datatype. Which is used to + description "The attribute specifies a list of mappingSetIDBackhaulAddress + which is defined as a datatype. Which is used to retrieve the backhaul address of the victim set."; min-elements 1; key idx; leaf idx {type uint32; } uses MappingSetIDBackhaulAddressGrp; } - + list tceIDMappingInfoList { - description "This attribute includes a list of TCE ID, PLMN where TCE - resides and the corresponding TCE IP address. It is used in Logged MDT - case to provide the information to the gNodeB or GNBCUCPFunction to - get the corresponding TCE IP address when there is an MDT log + description "This attribute includes a list of TCE ID, PLMN where TCE + resides and the corresponding TCE IP address. It is used in Logged MDT + case to provide the information to the gNodeB or GNBCUCPFunction to + get the corresponding TCE IP address when there is an MDT log received from the UE."; min-elements 1; key idx; leaf idx { type uint32; } uses TceIDMappingInfoGrp; } - + leaf dDAPSHOControl { type boolean; description "This attribute determines whether the DAPS handover function @@ -251,7 +251,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf dCHOControl { type boolean; - description "This attribute determines whether the CHO function is + description "This attribute determines whether the CHO function is enabled or disabled."; } @@ -280,12 +280,12 @@ module _3gpp-nr-nrm-gnbcucpfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } - + list mappedCellIdInfoList { - description "This attribute provides the list of mapping between + description "This attribute provides the list of mapping between geographical location and Mapped Cell ID."; key idx; leaf idx { type uint32; } @@ -294,7 +294,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction + description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; } @@ -304,18 +304,18 @@ module _3gpp-nr-nrm-gnbcucpfunction { 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. + 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 + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; } @@ -326,7 +326,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf nRECMappingRuleRef { type types3gpp:DistinguishedName; - description "DN of a NRECMappingRule. An empty value indicates the + description "DN of a NRECMappingRule. An empty value indicates the NRECMappingRule contained by parent, e.g. ManagedElement or SubNetwork, applies."; } @@ -334,7 +334,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf mWABRef { type types3gpp:DistinguishedName; description "This attribute represents the MWAB functionality - (See sub clause 5.49 [11]). This attribute contains the DN of the + (See sub clause 5.49 [11]). This attribute contains the DN of the referenced MWAB."; } } @@ -348,10 +348,10 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf qoECollectionEntityIdentity { type string; - description "Specifies the unique identity to which the QMC reports + description "Specifies the unique identity to which the QMC reports shall be transferred."; } - + list pLMNTarget { description "The PLMN identifier where QoE collection entity resides. "; @@ -364,14 +364,14 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping GgNBIdGrp { - description "Represents the properties of a global gNB ID (GgNBId)."; + description "Represents the properties of a global gNB ID (GgNBId)."; uses types3gpp:PLMNId; leaf gnbIdLength { type int32 {range "22..32";} mandatory true; - description "This indicates the number of bits for encoding the gNB ID. + 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"; } @@ -383,13 +383,13 @@ module _3gpp-nr-nrm-gnbcucpfunction { type int64 { range "0..4294967295"; } } } - + grouping GeNBIdGrp { - description "Represents the properties of a global eNB ID (GeNBId)."; + description "Represents the properties of a global eNB ID (GeNBId)."; uses types3gpp:PLMNId; - + leaf enbId { - description "It identifies an eNB within a PLMN. The eNB ID is part of + description "It identifies an eNB within a PLMN. The eNB ID is part of the E-UTRAN Cell Global Identifier (ECGI) of the eNB cells."; reference "eNB ID in 3GPP TS 36.300. Global eNB ID in 3GPP TS 36.413."; mandatory true; @@ -404,7 +404,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses GNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 4238ccf3b..41058cdd1 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcuupfunction"; prefix "gnbcuup3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } @@ -15,20 +15,20 @@ module _3gpp-nr-nrm-gnbcuupfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBCUUPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-11-01 { reference CR-1405 ; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-11-01 { reference CR-1405 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-06-03 { reference "CR-0286"; } - revision 2020-05-28 { reference "CR-0318"; } + revision 2020-05-28 { reference "CR-0318"; } revision 2020-03-12 { reference "SP-200233 S5-201547"; } revision 2020-02-14 { reference S5-20XXXX ; } revision 2019-10-28 { reference S5-193518 ; } @@ -42,7 +42,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { grouping GNBCUUPFunctionGrp { description "Represents the GNBCUUPFunction IOC."; reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; + uses mf3gpp:ManagedFunctionGrp; leaf gNBCUUPId { type uint64 { @@ -58,36 +58,36 @@ module _3gpp-nr-nrm-gnbcuupfunction { leaf gNBId { type uint32; mandatory true; - description "Identifies a gNB within a PLMN. The gNB ID is part of the + description "Identifies a gNB within a PLMN. The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. "; reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. Global gNB ID in subclause 9.3.1.6 of TS 38.413"; } - + leaf gNBIdLength { mandatory true; type int32 { range "22..32"; } 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"; } - + list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the GNBCUUPFunction and - which S-NSSAIs can be supported by the GNBCUUPFunction for + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the GNBCUUPFunction and + which S-NSSAIs can be supported by the GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported"; key "mcc mnc sd sst"; uses types5g3gpp:PLMNInfo; } - + leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUUPFunction + description "DN of the Configurable5QISet that the GNBCUUPFunction supports (is associated to)."; } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUUPFunction + description "DN of the Dynamic5QISet that the GNBCUUPFunction supports (is associated to)."; } } @@ -99,7 +99,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { description "Represents the logical function CU-UP of gNB or en-gNB."; reference "3GPP TS 28.541"; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses GNBCUUPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 19b3c3138..efbac6a5e 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -14,7 +14,7 @@ module _3gpp-nr-nrm-gnbdufunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; @@ -191,30 +191,30 @@ module _3gpp-nr-nrm-gnbdufunction { type boolean; default false; config false; - description "This attribute indicates whether the function is + description "This attribute indicates whether the function is on board the satellite."; } leaf onboardSatelliteId { type string; - description "This attribute indicates the onboard satellite Id. + 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 + description "DN of the Configurable5QISet that the GNBDUFunction supports (is associated to)."; } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBDUFunction supports + description "DN of the Dynamic5QISet that the GNBDUFunction supports (is associated to)."; } leaf nRECMappingRuleRef { type types3gpp:DistinguishedName; - description "DN of a NRECMappingRule. An empty value indicates the + description "DN of a NRECMappingRule. An empty value indicates the NRECMappingRule contained by parent, e.g. ManagedElement or SubNetwork, applies."; } diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index ab4791037..9f8af2af9 100644 --- a/yang-models/_3gpp-nr-nrm-mwab.yang +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -11,19 +11,19 @@ module _3gpp-nr-nrm-mwab { 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, + 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 ; } - + 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 + 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; @@ -31,17 +31,17 @@ module _3gpp-nr-nrm-mwab { } leaf administrativeState { - description "It indicates the administrative state of the MWAB instance. - It describes the permission to use or prohibition against using the + 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. + 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; } @@ -50,9 +50,9 @@ module _3gpp-nr-nrm-mwab { list allowedTime { description "This specifies the time window for which the MWAB can act - as MWAB-gNB. If the allowed time window/ validity indicates 20th June, + 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 + 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 [11])."; key idx; leaf idx { type uint32 ; } @@ -62,10 +62,10 @@ module _3gpp-nr-nrm-mwab { 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 + 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; @@ -73,5 +73,5 @@ module _3gpp-nr-nrm-mwab { uses MWABGrp; } } - } -} + } +} diff --git a/yang-models/_3gpp-nr-nrm-nrcellcu.yang b/yang-models/_3gpp-nr-nrm-nrcellcu.yang index c394748a2..a2ddbc5c5 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellcu.yang @@ -14,11 +14,11 @@ module _3gpp-nr-nrm-nrcellcu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellCU 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-25 { reference CR-0386 ; } revision 2020-11-05 { reference CR-0412 ; } @@ -29,12 +29,12 @@ module _3gpp-nr-nrm-nrcellcu { revision 2019-06-17 { reference "Initial revision"; } feature DPCIConfigurationFunction { - description "Class representing Distributed SON + description "Class representing Distributed SON function of PCI configuration feature"; } feature DESManagementFunction { - description "Class representing Distributed SON + description "Class representing Distributed SON Energy Saving feature"; } @@ -43,7 +43,7 @@ module _3gpp-nr-nrm-nrcellcu { } feature CESManagementFunction { - description "Class representing Centralized SON Energy Saving + description "Class representing Centralized SON Energy Saving feature"; } @@ -60,11 +60,11 @@ module _3gpp-nr-nrm-nrcellcu { } list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It defines - which PLMNs that can be served by the NR cell, and which S-NSSAIs that - can be supported by the NR cell for corresponding PLMN in case of + description "The PLMNInfoList is a list of PLMNInfo data type. It defines + which PLMNs that can be served by the NR cell, and which S-NSSAIs that + can be supported by the NR cell for corresponding PLMN in case of network slicing feature is supported."; - // Note: Whether the attribute pLMNId in the pLMNInfo can be writable + // Note: Whether the attribute pLMNId in the pLMNInfo can be writable // depends on the implementation. key "mcc mnc sd sst"; min-elements 1; diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index e7cbfb51e..40245e23e 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -15,15 +15,15 @@ module _3gpp-nr-nrm-nrcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-06-29 { reference CR-0756 ; } revision 2021-10-28 { reference CR-0607 ; } @@ -37,23 +37,23 @@ module _3gpp-nr-nrm-nrcelldu { revision 2019-09-03 { reference "Initial revision"; } feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization + description "Class representing D-SON function of RACH optimization feature"; } - + feature CPCIConfigurationFunction { - description "Class representing Centralized SON function of + description "Class representing Centralized SON function of PCI configuration feature"; } - + grouping NRCellDUGrp { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - + leaf cellLocalId { description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; reference "NCI in 3GPP TS 38.300"; mandatory true; type int32 { range "0..16383"; } @@ -86,11 +86,11 @@ module _3gpp-nr-nrm-nrcelldu { } list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the NR cell, and which - S-NSSAIs that can be supported by the NR cell for corresponding PLMN - in case of network slicing feature is supported. The plMNId of the - first entry of the list is the PLMNId used to construct the nCGI for + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for the NR cell."; key "mcc mnc sd sst"; min-elements 1; @@ -102,14 +102,14 @@ module _3gpp-nr-nrm-nrcelldu { key idx ; min-elements 1; ordered-by user; - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; reference "3GPP TS 38.331"; leaf idx { type uint32 ; } uses types3gpp:NpnIdGrp; } - + leaf nRPCI { description "The Physical Cell Identity (PCI) of the NR cell."; reference "3GPP TS 36.211"; @@ -118,7 +118,7 @@ module _3gpp-nr-nrm-nrcelldu { } leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; + description "The common 5GS Tracking Area Code for the PLMNs."; reference "3GPP TS 23.003, 3GPP TS 38.473"; type types5g3gpp:NRTAC; } @@ -127,11 +127,11 @@ module _3gpp-nr-nrm-nrcelldu { type string; min-elements 1; max-elements 12; - description "It is the list of Tracking Area Codes which is only present - in an NTN cell. If this field is present, network does not configure + description "It is the list of Tracking Area Codes which is only present + in an NTN cell. If this field is present, network does not configure trackingAreaCode, see TS 38.331)."; } - + leaf arfcnDL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for downlink."; @@ -139,7 +139,7 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; type int32; } - + leaf arfcnUL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for uplink."; @@ -164,117 +164,117 @@ module _3gpp-nr-nrm-nrcelldu { leaf rimRSMonitoringStartTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB attempts to start + description "Configures the UTC time when the gNB attempts to start RIM-RS monitoring."; } - + leaf rimRSMonitoringStopTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB stops RIM-RS + description "Configures the UTC time when the gNB stops RIM-RS monitoring."; } - + leaf rimRSMonitoringWindowDuration { type uint32 { range 1..16384 ; } mandatory true; - description "Configures a duration of the monitoring window in which - gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS + description "Configures a duration of the monitoring window in which + gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS transmission periodicity in units of uplink-downlink switching period ( see 38.211 subclause 7.4.1.6). - This field is configured together with rimRSMonitoringInterval, - rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval + This field is configured together with rimRSMonitoringInterval, + rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval and rimRSMonitoringOccasionStartingOffset. - The duration of the monitoring window is expected to be larger than - or equal to M*P_t, where M is the interval between adjacent monitoring - occasions within the monitoring window + The duration of the monitoring window is expected to be larger than + or equal to M*P_t, where M is the interval between adjacent monitoring + occasions within the monitoring window (configured by rimRSMonitoringInterval). - The absolute duration of the monitoring window is not expected to be - larger than the periodicity of the monitoring window (configured by + The absolute duration of the monitoring window is not expected to be + larger than the periodicity of the monitoring window (configured by rimRSMonitoringWindowPeriodicity). - + See 3GPP TS 28.541 attribute descrition rimRSMonitoringWindowDuration for the exact math formulas. - - Only the earliest N_T consecutive detection durations in each RIM-RS - transmission periodicity (P_t) in the monitoring window are taken as - valid time for monitoring potential interference, and they are - consecutively monitored in the monitoring window, while the residual - part of each RIM-RS transmission periodicity is not used for - discovering potential interference, where, a consecutive detection + + Only the earliest N_T consecutive detection durations in each RIM-RS + transmission periodicity (P_t) in the monitoring window are taken as + valid time for monitoring potential interference, and they are + consecutively monitored in the monitoring window, while the residual + part of each RIM-RS transmission periodicity is not used for + discovering potential interference, where, a consecutive detection duration spans P1*R1 (if only P1 is configured) or ((P1+P2))/2*R1 ( if both P1 and P2 are configured), where, - R1 is the number of consecutive uplink-downlinkswitching periods + R1 is the number of consecutive uplink-downlinkswitching periods for RS-1 (configured by nrofConsecutiveRIMRS1), - P1 is the first uplink-downlinkswitching period (configured by - dlULSwitchingPeriod1), - P2 is the second uplink-downlink switching period (configured by + P1 is the first uplink-downlinkswitching period (configured by + dlULSwitchingPeriod1), + P2 is the second uplink-downlink switching period (configured by dlULSwitchingPeriod2), and N_T= - ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) + ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) if enableEnoughNotEnoughIndication is 'disable' - + (2N_setID # RIM,1)/(N_f # RIM N_s # RIM,1) if enableEnoughNotEnoughIndication is 'enable' - + N_setID # 'RIM,1' is the total number of set IDs for RIM RS-1 (configured by totalnrofSetIdofRS1), - N_f # RIM is the number of candidate frequency resources in the whole - network (configured by nrofGlobalRIMRSFrequencyCandidates), and - N_s # 'RIM,1' is the number of candidate sequences assigned for + N_f # RIM is the number of candidate frequency resources in the whole + network (configured by nrofGlobalRIMRSFrequencyCandidates), and + N_s # 'RIM,1' is the number of candidate sequences assigned for RIM RS-1 (configured by nrofRIMRSSequenceCandidatesofRS1)."; } - + leaf rimRSMonitoringWindowStartingOffset { type uint8 { range 0..23 ; } mandatory true; units hours; - description "Configures the start offset of the first monitoring window + description "Configures the start offset of the first monitoring window within one day, in unit of hours."; } - + leaf rimRSMonitoringWindowPeriodicity { type uint8 { range 1|2|3|4|6|8|12|24 ; } units hours; mandatory true; - description "Configures the periodicity of the monitoring window, in + description "Configures the periodicity of the monitoring window, in unit of hours"; } - + leaf rimRSMonitoringOccasionInterval { type uint32 { range 1..max ; } mandatory true; - description "Configures the interval between adjacent monitoring - occasions (M) within the monitoring window, in unit of consecutive + description "Configures the interval between adjacent monitoring + occasions (M) within the monitoring window, in unit of consecutive detection duration. - M is expected to be prime to N_T, where N_T is given in above + M is expected to be prime to N_T, where N_T is given in above attribute rimRSMonitoringWindowDuration. allowedValues: 1,2..N_T-1"; } - + leaf rimRSMonitoringOccasionStartingOffset { type uint32 ; mandatory true; - description "Configures the start offset of the first monitoring occasions - within the monitoring window (S_M), in unit of consecutive detection + description "Configures the start offset of the first monitoring occasions + within the monitoring window (S_M), in unit of consecutive detection duration. - gNB starts monitoring potential interference from the S_M-th consecutive - detection duration in the first complete RIM-RS transmission + gNB starts monitoring potential interference from the S_M-th consecutive + detection duration in the first complete RIM-RS transmission periodicity (P_t) within the monitoring window. allowedValues: 0,1,2..M-1 - where M is the the interval between adjacent monitoring occasions - within the monitoring window + where M is the the interval between adjacent monitoring occasions + within the monitoring window (configured by rimRSMonitoringOccasionInterval)"; } @@ -287,7 +287,7 @@ module _3gpp-nr-nrm-nrcelldu { 3GPP TS 38.101-1, and within bSChannelBwDL."; mandatory true; type int32 { range "0..3279165"; } - } + } leaf ssbPeriodicity { description "Indicates cell defined SSB periodicity. The SSB periodicity @@ -359,11 +359,11 @@ module _3gpp-nr-nrm-nrcelldu { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; } - + leaf victimSetRef { type types3gpp:DistinguishedName; mandatory true; - description "DN of a victim Set (RimRSSet) + description "DN of a victim Set (RimRSSet) Implemented if RIM feature is supported"; } @@ -372,56 +372,56 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; description "DN of an aggressor Set (RimRSSet)"; } - + leaf redCapAccessCriteriaRef { type types3gpp:DistinguishedName; mandatory true; - description "This attribute contains the DN of the redCapAccessCriteria + description "This attribute contains the DN of the redCapAccessCriteria MOI "; - } + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { list NRCellDU { - description "This IOC represents the part of NR cell information that - describes the specific resources instances. - - An NR cell transmits SS/PBCH block and always requires downlink - transmission at a certain carrier frequency with a certain channel - bandwidth. Transmission may be performed from multiple sector-carriers - using different transmission points, and these may be configured with - different carrier frequencies and channel bandwidths, as long as they - are aligned to the cell's downlink resource grids as defined in - subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL - attributes define the resource grids which each sector-carrier needs to - be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions + description "This IOC represents the part of NR cell information that + describes the specific resources instances. + + An NR cell transmits SS/PBCH block and always requires downlink + transmission at a certain carrier frequency with a certain channel + bandwidth. Transmission may be performed from multiple sector-carriers + using different transmission points, and these may be configured with + different carrier frequencies and channel bandwidths, as long as they + are aligned to the cell's downlink resource grids as defined in + subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL + attributes define the resource grids which each sector-carrier needs to + be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions of BS channel bandwidth and NR-ARFCN, respectively. - - An NR cell requires an uplink in order to provide initial access. In - case of TDD, the values of arfcnUL and bSChannelBwUL have to always be - set to the same values as for the corresponding DL attributes. For both - FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids + + An NR cell requires an uplink in order to provide initial access. In + case of TDD, the values of arfcnUL and bSChannelBwUL have to always be + set to the same values as for the corresponding DL attributes. For both + FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids to which each sector-carrier needs to align to. - - An NR cell can in addition be configured with a supplementary uplink, - which has its own arfcnSUL and bSChannelBwSUL, which define resource + + An NR cell can in addition be configured with a supplementary uplink, + which has its own arfcnSUL and bSChannelBwSUL, which define resource grids for supplementary uplink sector-carriers. - - Each of downlink, uplink and supplementary uplink (if configured) need - an initial bandwidth part (BWP), which defines resources to be used by - UEs during and immediately after initial access. Additional BWPs can be - either configured or calculated by gNB internally and be applied to UEs - dynamically by gNB based on e.g. UE capability and bandwidth need of + + Each of downlink, uplink and supplementary uplink (if configured) need + an initial bandwidth part (BWP), which defines resources to be used by + UEs during and immediately after initial access. Additional BWPs can be + either configured or calculated by gNB internally and be applied to UEs + dynamically by gNB based on e.g. UE capability and bandwidth need of each UE. - + BWPs are configured individually (bWPRef) or via sets (bWPSetRef). - An NTN NR cell can be configured with list of Tracking Areas to support - broadcast multiple Tracking Area Codes per PLMN ID. Given that the - related TAIs broadcast may change with a foot print moving on earth, - which is predictable, time windows per TAList can be derived and - configured for NTN cell. These time windows define the specific periods + An NTN NR cell can be configured with list of Tracking Areas to support + broadcast multiple Tracking Area Codes per PLMN ID. Given that the + related TAIs broadcast may change with a foot print moving on earth, + which is predictable, time windows per TAList can be derived and + configured for NTN cell. These time windows define the specific periods during which the satellite coverage will be available for the location."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang index b6bc8290b..01d017b53 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -12,11 +12,11 @@ module _3gpp-nr-nrm-nrcellrelation { organization "3GPP SA5"; description "Defines the YANG mapping of the NRCellRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-06-03 { reference S5-202333 ; } @@ -30,8 +30,8 @@ module _3gpp-nr-nrm-nrcellrelation { typedef EnergySavingCoverage { type enumeration { enum FULL; - enum NO; - enum PARTIAL; + enum NO; + enum PARTIAL; } } @@ -39,78 +39,78 @@ module _3gpp-nr-nrm-nrcellrelation { description "Represents the NRCellRelation IOC."; reference "3GPP TS 28.541"; - leaf nRTCI { + leaf nRTCI { description "Target NR Cell Identifier. It consists of NR Cell Identifier (NCI) and Physical Cell Identifier of the target NR cell (nRPCI)."; - type uint64; + type uint64; } container cellIndividualOffset { description "A set of offset values for the neighbour cell. Used when - UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, + UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; - leaf rsrpOffsetSsb { + leaf rsrpOffsetSsb { description "Offset value of rsrpOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetSsb{ + leaf rsrqOffsetSsb{ description "Offset value of rsrqOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetSsb { + leaf sinrOffsetSsb { description "Offset value of sinrOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrpOffsetCsiRs{ + leaf rsrpOffsetCsiRs{ description "Offset value of rsrpOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetCsiRs { + leaf rsrqOffsetCsiRs { description "Offset value of rsrqOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetCsiRs { + leaf sinrOffsetCsiRs { description "Offset value of sinrOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } } - leaf nRFreqRelationRef { + leaf nRFreqRelationRef { description "Reference to a corresponding NRFreqRelation instance."; mandatory true; type types3gpp:DistinguishedName; } - leaf adjacentNRCellRef { + leaf adjacentNRCellRef { description "Reference to an adjacent NR cell (NRCellCU or ExternalNRCellCU)."; mandatory true; type types3gpp:DistinguishedName; } - leaf isRemoveAllowed { - type boolean; + leaf isRemoveAllowed { + type boolean; default true; description "True if the ANR function in the node is allowed to remove this relation."; } - leaf isHOAllowed { - type boolean; + leaf isHOAllowed { + type boolean; default true; description "True if handovers are allowed over this relation."; } diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 4472165a6..8dc0fd1f9 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -13,17 +13,17 @@ module _3gpp-nr-nrm-nrfreqrelation { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; revision 2025-01-25 { reference CR-1442; } - revision 2024-02-24 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043; } + revision 2024-02-24 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-04-23 { reference CR-0281; } revision 2019-10-28 { reference S5-193518; } - revision 2019-06-17 { + revision 2019-06-17 { reference "Initial version"; description "Initial revision"; } @@ -42,40 +42,40 @@ module _3gpp-nr-nrm-nrfreqrelation { rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; reference "offsetMO in MeasObjectNR in 3GPP TS 38.331"; - leaf rsrpOffsetSsb { + leaf rsrpOffsetSsb { description "Offset value of rsrpOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetSsb { + leaf rsrqOffsetSsb { description "Offset value of rsrqOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetSsb { + leaf sinrOffsetSsb { description "Offset value of sinrOffsetSSB."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrpOffsetCsiRs { + leaf rsrpOffsetCsiRs { description "Offset value of rsrpOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf rsrqOffsetCsiRs { + leaf rsrqOffsetCsiRs { description "Offset value of rsrqOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } - leaf sinrOffsetCsiRs { + leaf sinrOffsetCsiRs { description "Offset value of sinrOffsetCSI-RS."; default 0; - type types3gpp:QOffsetRange; + type types3gpp:QOffsetRange; } } @@ -114,7 +114,7 @@ module _3gpp-nr-nrm-nrfreqrelation { } leaf pMax { - description "Used for calculation of the parameter Pcompensation + description "Used for calculation of the parameter Pcompensation (defined in 3GPP TS 38.304), at cell reselection to a cell."; reference "PEMAX in 3GPP TS 38.101-1"; type int32 { range "-30..33"; } @@ -194,7 +194,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units dB; } - leaf tReselectionNR { + leaf tReselectionNR { description "Cell reselection timer for NR."; reference "TreselectionRAT for NR in 3GPP TS 38.331"; mandatory true; @@ -213,7 +213,7 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf tReselectionNRSfMedium { + leaf tReselectionNRSfMedium { description "The attribute tReselectionNr (parameter TreselectionNR in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in medium mobility state."; @@ -231,7 +231,7 @@ module _3gpp-nr-nrm-nrfreqrelation { } } - augment "/me3gpp:ManagedElement" + + augment "/me3gpp:ManagedElement" + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { list NRFreqRelation { diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 91b01d3d4..39f3795a7 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -13,12 +13,12 @@ module _3gpp-nr-nrm-nrfrequency { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial version"; } @@ -34,7 +34,7 @@ module _3gpp-nr-nrm-nrfrequency { leaf ssBSubCarrierSpacing { description "Sub-carrier spacing of the SSB. - Note that the allowed values of SSB used for representing data, + 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 | 240"; } @@ -59,13 +59,13 @@ module _3gpp-nr-nrm-nrfrequency { uses NRFrequencyGrp; } } - } - + } + feature NRFrequencyUnderNRNetwork { description "NRFrequency shall be contained under NRNetwork"; } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrnet3gpp:NRNetwork" { if-feature NRFrequencyUnderNRNetwork; uses NRFrequencyWrapper; @@ -74,7 +74,7 @@ module _3gpp-nr-nrm-nrfrequency { feature NRFrequencyUnderSubNetwork { description "NRFrequency shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature NRFrequencyUnderSubNetwork; uses NRFrequencyWrapper; diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang index 044c2d0db..548365aed 100755 --- a/yang-models/_3gpp-nr-nrm-nrnetwork.yang +++ b/yang-models/_3gpp-nr-nrm-nrnetwork.yang @@ -11,12 +11,12 @@ module _3gpp-nr-nrm-nrnetwork { 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 2025, 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 2025-04-25 { reference "CR-1526 CR-1527" ; } // common r17, r18 + revision 2023-09-18 { reference CR-1043 ; } revision 2019-06-17 { reference "Initial revision"; } grouping NRNetworkGrp { @@ -26,7 +26,7 @@ module _3gpp-nr-nrm-nrnetwork { augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { list NRNetwork { - description "Represents a set of NR frequencies and external NR entities + 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; diff --git a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang index b4d490fbb..8ca3ec4ff 100755 --- a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang @@ -9,28 +9,28 @@ module _3gpp-nr-nrm-nroperatorcelldu { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the OperatorDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-01 { reference "Initial revision"; } grouping NROperatorCellDUGrp { description "Represents the NROperatorCellDU IOC."; reference "3GPP TS 28.541"; uses operdu3gpp:OperatorDUGrp; - + leaf cellLocalId { description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; reference "NCI in 3GPP TS 38.300"; type int32 { range "0..16383"; } } @@ -44,24 +44,24 @@ module _3gpp-nr-nrm-nroperatorcelldu { } list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the NR cell, and which - S-NSSAIs that can be supported by the NR cell for corresponding PLMN - in case of network slicing feature is supported. The plMNId of the - first entry of the list is the PLMNId used to construct the nCGI for + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for the NR cell."; key "mcc mnc sd sst"; min-elements 1; ordered-by user; uses types5g3gpp:PLMNInfo; } - + leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; + description "The common 5GS Tracking Area Code for the PLMNs."; reference "3GPP TS 23.003, 3GPP TS 38.473"; type types5g3gpp:NRTAC; } - + leaf-list nRCellDURef { description "Reference to corresponding NRCellDU instance."; type types3gpp:DistinguishedName; @@ -69,7 +69,7 @@ module _3gpp-nr-nrm-nroperatorcelldu { } - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/operdu3gpp:OperatorDU" + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/operdu3gpp:OperatorDU" { list NROperatorCellDU { diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang index 7c48e5965..046957939 100755 --- a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang +++ b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang @@ -13,11 +13,11 @@ module _3gpp-nr-nrm-nrsectorcarrier { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRSectorCarrier 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 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-05-28 { reference CR-0316 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -37,9 +37,9 @@ module _3gpp-nr-nrm-nrsectorcarrier { } leaf configuredMaxTxPower { - description "Maximum transmisssion power at the antenna port for all + description "Maximum transmisssion power at the antenna port for all downlink channels, used simultaneously in a cell, added together. - Condition: The sector-carrier has a downlink and the + Condition: The sector-carrier has a downlink and the configuration of Tx power at antenna port reference point is supported."; mandatory true; type int32; @@ -50,16 +50,16 @@ module _3gpp-nr-nrm-nrsectorcarrier { type int64; units dBm; mandatory true; - description "The maximum emitted isotroptic radiated power (EIRP) in dBm + description "The maximum emitted isotroptic radiated power (EIRP) in dBm for all downlink channels, used simultaneously in a cell, added together. - Condition: the sector-carrier has a downlink and the + Condition: the sector-carrier has a downlink and the configuration of emitted isotropic radiated power is supported"; } leaf arfcnDL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for downlink. - Condition: The sector-carrier has a downlink AND the value + for downlink. + Condition: The sector-carrier has a downlink AND the value differs from the referring cell's value of arfcnDL."; reference "3GPP TS 38.104"; mandatory true; @@ -68,8 +68,8 @@ module _3gpp-nr-nrm-nrsectorcarrier { leaf arfcnUL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for uplink. - Condition: The sector-carrier has an uplink AND the value + for uplink. + Condition: The sector-carrier has an uplink AND the value differs from the referring cell's value of arfcnUL."; reference "3GPP TS 38.104"; mandatory true; @@ -77,8 +77,8 @@ module _3gpp-nr-nrm-nrsectorcarrier { } leaf bSChannelBwDL { - description "Base station channel bandwitdth for downlink. - Condition: The sector-carrier has a downlink AND the value + description "Base station channel bandwitdth for downlink. + Condition: The sector-carrier has a downlink AND the value differs from the referring cell's value of bSChannelBwDL."; reference "3GPP TS 38.104"; mandatory true; @@ -101,9 +101,9 @@ module _3gpp-nr-nrm-nrsectorcarrier { instance."; reference "3GPP TS 23.622"; mandatory true; - type types3gpp:DistinguishedName; - } - } + type types3gpp:DistinguishedName; + } + } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 43e2a86eb..f75961b88 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -1,41 +1,41 @@ module _3gpp-nr-nrm-ntnfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-nr-nrm-ntnfunction; prefix ntn3gpp; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-yang-types { prefix yang; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Implements support the C-SON function of Capacity and + description "Implements support the C-SON function of Capacity and Coverage optimization . - Copyright 2025, 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-27 { reference CR-1512; } revision 2025-02-17 { reference CR-1479 ; } - revision 2024-05-24 { reference CR-1273 ; } + revision 2024-05-24 { reference CR-1273 ; } + - feature NTNFunctionUnderSubNetwork { - description "The NTNFunction shall be contained under SubNetwork"; + description "The NTNFunction shall be contained under SubNetwork"; } - + feature NTNFunctionUnderManagedElement { - description "The NTNFunction shall be contained under ManagedElement"; + description "The NTNFunction shall be contained under ManagedElement"; } - + grouping PositionVelocityGrp { - description "This data type defines configuration parameters to support + description "This data type defines configuration parameters to support satellite position and velocity state"; - + leaf positionX { type uint32 { range 0..604800; @@ -43,11 +43,11 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter; - description "X, Y, Z coordinate of satellite position state vector - in ECEF. Unit is meter. + description "X, Y, Z coordinate of satellite position state vector + in ECEF. Unit is meter. Step of 1.3 m. Actual value = field value * 1.3."; } - + leaf positionY { type uint32 { range 0..604800; @@ -55,11 +55,11 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter; - description "X, Y, Z coordinate of satellite position state vector - in ECEF. Unit is meter. + description "X, Y, Z coordinate of satellite position state vector + in ECEF. Unit is meter. Step of 1.3 m. Actual value = field value * 1.3."; } - + leaf positionZ { type uint32 { range 0..604800; @@ -67,11 +67,11 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter; - description "X, Y, Z coordinate of satellite position state vector - in ECEF. Unit is meter. + description "X, Y, Z coordinate of satellite position state vector + in ECEF. Unit is meter. Step of 1.3 m. Actual value = field value * 1.3."; } - + leaf velocityVX { type int32 { range -131072..131071; @@ -79,11 +79,11 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter/second; - description "X, Y, Z coordinate of satellite velocity state vector - in ECEF. + description "X, Y, Z coordinate of satellite velocity state vector + in ECEF. Step of 0.06 m/s. Actual value = field value * 0.06."; } - + leaf velocityVY { type int32 { range -131072..131071; @@ -91,11 +91,11 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter/second; - description "X, Y, Z coordinate of satellite velocity state vector - in ECEF. + description "X, Y, Z coordinate of satellite velocity state vector + in ECEF. Step of 0.06 m/s. Actual value = field value * 0.06."; } - + leaf velocityVZ { type int32 { range -131072..131071; @@ -103,16 +103,16 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter/second; - description "X, Y, Z coordinate of satellite velocity state vector - in ECEF. + description "X, Y, Z coordinate of satellite velocity state vector + in ECEF. Step of 0.06 m/s. Actual value = field value * 0.06."; } } - + grouping OrbitalGrp { - description "This data type defines configuration parameters of orbital + description "This data type defines configuration parameters of orbital trajectory information to support satellite access."; - + leaf semiMajorAxis { type uint64 { range 0..8589934591; @@ -120,24 +120,24 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units meter; - description "Satellite orbital parameter: semi major axis alpha, - see NIMA TR 8350.2. - Step of 4.249 * 10**-3 m. + description "Satellite orbital parameter: semi major axis alpha, + see NIMA TR 8350.2. + Step of 4.249 * 10**-3 m. Actual value = 6500000 + field value * (4.249 * 10**-3)."; } - + leaf eccentricity { type int32 { range -524288..524287; } config false; default 0; - description "Satellite orbital parameter: eccentricity e, + description "Satellite orbital parameter: eccentricity e, see NIMA TR 8350.2. - Step 1.431 * 10**-8. + Step 1.431 * 10**-8. Actual value = field value * (1.431 * 10**-8)."; } - + leaf periapsis { type uint32 { range 0..16777215; @@ -145,25 +145,25 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units radian; - description "Satellite orbital parameter: argument of periapsis omega, - see NIMA TR 8350.2. - Step of 2.341* 10**-8 rad. + description "Satellite orbital parameter: argument of periapsis omega, + see NIMA TR 8350.2. + Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } - + leaf longitude { type uint32 { range 0..2097151; } config false; - default 0; + default 0; units radian; - description "Satellite orbital parameter: longitude of ascending node - OMEGA, see NIMA TR 8350.2. + description "Satellite orbital parameter: longitude of ascending node + OMEGA, see NIMA TR 8350.2. Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } - + leaf inclination { type int32 { range -524288..524287; @@ -171,12 +171,12 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units radian; - description "Satellite orbital parameter: inclination i, - see NIMA TR 8350.2. - Step of 2.341* 10**-8 rad. + description "Satellite orbital parameter: inclination i, + see NIMA TR 8350.2. + Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } - + leaf meanAnomaly { type uint32 { range 0..16777215; @@ -184,47 +184,47 @@ module _3gpp-nr-nrm-ntnfunction { config false; default 0; units radian; - description "Satellite orbital parameter: Mean anomaly M at epoch time, - see NIMA TR 8350.2. - Step of 2.341* 10**-8 rad. + description "Satellite orbital parameter: Mean anomaly M at epoch time, + see NIMA TR 8350.2. + Step of 2.341* 10**-8 rad. Actual value = field value * (2.341* 10**-8)."; } } - + grouping EphemerisGrp { - description "This data type represents the satellite ephemeris related - information. The ephemeris data format may be expressed either in - format of position and velocity state vector or in format of orbital + description "This data type represents the satellite ephemeris related + information. The ephemeris data format may be expressed either in + format of position and velocity state vector or in format of orbital parameters."; - + leaf satelliteId { type string { pattern "00([01][0-9][0-9])|(2[0-4][0-9]|(25[0-5]))"; } config false; - description "This attribute indicates satellite Id.number. - It shall be formatted as a fixed 5-digit string, padding with + description "This attribute indicates satellite Id.number. + It shall be formatted as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length. allowedValues: 00000..00255"; } - + leaf epochTime { type yang:date-and-time; config false; description "It defines the ephemeris reference time."; } - + choice positionVelocity-or-orbital { list positionVelocity { - description "It indicates ephemeris is in format of NTN payload + description "It indicates ephemeris is in format of NTN payload position and velocity state vectors."; max-elements 1; config false; uses PositionVelocityGrp; } - + list orbital { - description "It indicates ephemeris is in orbital parameter ephemeris + description "It indicates ephemeris is in orbital parameter ephemeris format, as specified in NIMA TR 8350.2"; max-elements 1; config false; @@ -232,10 +232,10 @@ module _3gpp-nr-nrm-ntnfunction { } } } - + grouping EphemerisInfoSetGrp { description "Represents the EphemerisInfoSet IOC"; - + list EphemerisInfos { description "This is the list of Ephemeris related information."; min-elements 1; @@ -244,10 +244,10 @@ module _3gpp-nr-nrm-ntnfunction { uses EphemerisGrp; } } - + grouping NTNEntityConfigGrp { description "The attribute nTNConfEntity specifies an NTN related MOI. - The attribute nTNConfList optionally specifies configuration + The attribute nTNConfList optionally specifies configuration updates to be applied to the nTNConfEntity. If no updates are provided the value of nTNConfEntity is used without modification."; @@ -265,13 +265,13 @@ module _3gpp-nr-nrm-ntnfunction { description "Specifies the list of configuration parameters and values. The content of the attribute is a list of attributeName- attributeValue pairs. AttributeValues may be complex types."; - } + } } grouping NTNTimeBasedConfigGrp { description "Define configuration to be applied during a specified time window. - The attribute timeWindow specifies the time window during which the + The attribute timeWindow specifies the time window during which the specified configuration is applied. The attribute nTNEntityConfigList specifies configuration updates applied during the specified timeWindow."; @@ -294,15 +294,15 @@ module _3gpp-nr-nrm-ntnfunction { updates to be applied to specified NTN entities."; } } - + grouping NTNFunctionGrp { description "Represents the NTNFunction IOC"; - + list nTNpLMNInfoList { - description "It defines which PLMNs that can be served by the NR NTN cell, - and which S-NSSAIs can be supported by the NR NTN cell for - corresponding PLMN in case of network slicing feature is supported. - The pLMNId of the first entry of the list is the PLMNId used to + description "It defines which PLMNs that can be served by the NR NTN cell, + and which S-NSSAIs can be supported by the NR NTN cell for + corresponding PLMN in case of network slicing feature is supported. + The pLMNId of the first entry of the list is the PLMNId used to construct the nCGI for the NR cell."; min-elements 1; ordered-by user; @@ -310,25 +310,25 @@ module _3gpp-nr-nrm-ntnfunction { leaf idx { type uint32; } uses types5g3gpp:PLMNInfo; } - + leaf-list nTNTAClist { type types5g3gpp:NRTAC; min-elements 1; - description "It is the list of Tracking Area Codes (either legacy TAC or - extended TAC) for NR NTN. - Legacy TAC and Extended TAC are defined in clause 9.3.3.10 of + description "It is the list of Tracking Area Codes (either legacy TAC or + extended TAC) for NR NTN. + Legacy TAC and Extended TAC are defined in clause 9.3.3.10 of TS 38.413."; } } - + grouping NTNFunctionSubtreeGrp { list NTNFunction { - description "This IOC contains attributes to support the non-terrestrial + description "This IOC contains attributes to support the non-terrestrial 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. The IP Configuration of the feeder links may be - configured via IP Autoconfiguration services [x] and/or configured via + time-based configuration of the following NTN related entities: + EP_NgC, NRCellCU, NRCellDU, NRSectorCarrier, SectorEquipmentFunction, + 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; @@ -338,8 +338,8 @@ module _3gpp-nr-nrm-ntnfunction { } list EphemerisInfoSet { - description "This IOC represents the satellite ephemeris information - describing the orbital trajectory information or coordinates for the + description "This IOC represents the satellite ephemeris information + describing the orbital trajectory information or coordinates for the NTN vehicles."; key id; uses top3gpp:Top_Grp; @@ -359,12 +359,12 @@ module _3gpp-nr-nrm-ntnfunction { } } } - + augment "/subnet3gpp:SubNetwork" { if-feature NTNFunctionUnderSubNetwork; uses NTNFunctionSubtreeGrp; } - + augment "/me3gpp:ManagedElement" { if-feature NTNFunctionUnderManagedElement; uses NTNFunctionSubtreeGrp; diff --git a/yang-models/_3gpp-nr-nrm-operatordu.yang b/yang-models/_3gpp-nr-nrm-operatordu.yang index f50f7873a..66ff8c6b0 100755 --- a/yang-models/_3gpp-nr-nrm-operatordu.yang +++ b/yang-models/_3gpp-nr-nrm-operatordu.yang @@ -8,26 +8,26 @@ module _3gpp-nr-nrm-operatordu { 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 2025, 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 2024-02-24 { reference CR-1218; } revision 2023-11-14 { reference "CR1136"; } revision 2023-09-30 { reference "CR1048"; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-01 { reference "Initial revision"; } grouping OperatorDUGrp { description "Represents the OperatorDU IOC."; reference "3GPP TS 28.541"; - + leaf gNBId { type int64 { range "0..4294967295"; } mandatory true; @@ -42,7 +42,7 @@ module _3gpp-nr-nrm-operatordu { 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"; } - + leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the OperatorDU @@ -51,26 +51,26 @@ module _3gpp-nr-nrm-operatordu { leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the OperatorDU + description "DN of the Dynamic5QISet that the OperatorDU supports (is associated to)."; - } + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { list OperatorDU { - description "This IOC contains attributes to support operator specific - gNB-DU level information to support the NG-RAN Multi-Operator Core - Network (NG-RAN MOCN) network sharing with multiple Cell Identity - broadcast feature. An instance of OperatorDU <> should be created - and configured for each POP. When configured the attributes override + description "This IOC contains attributes to support operator specific + gNB-DU level information to support the NG-RAN Multi-Operator Core + Network (NG-RAN MOCN) network sharing with multiple Cell Identity + broadcast feature. An instance of OperatorDU <> should be created + and configured for each POP. When configured the attributes override those in parent GNBDUFunction instance. - - The OperatorDU <> is only used to support NG-RAN MOCN with - multiple cell identity broadcast feature. If NG-RAN MOCN with multiple - cell identity broadcast feature is not supported, is not used. - For scenarios with an F1 interface supporting multiple PLMN broadcast, - the values of the EP_F1C and EP_F1U attributes contained by different + + The OperatorDU <> is only used to support NG-RAN MOCN with + multiple cell identity broadcast feature. If NG-RAN MOCN with multiple + cell identity broadcast feature is not supported, is not used. + For scenarios with an F1 interface supporting multiple PLMN broadcast, + the values of the EP_F1C and EP_F1U attributes contained by different OperatorDU of the same GNBDUFunction should be same."; reference "3GPP TS 28.541"; key id; @@ -78,13 +78,13 @@ module _3gpp-nr-nrm-operatordu { container attributes { uses OperatorDUGrp; } - + uses ep3gpp:EP_F1CSubtree { refine EP_F1C { max-elements 1; } } - + uses ep3gpp:EP_F1USubtree; } } diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 77914ad37..51e91f203 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -12,42 +12,42 @@ module _3gpp-nr-nrm-redcapaccess { 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-07-07 { reference CR-; } feature redcapaccesscriteriasubnertwork { - description "The RedCap acsess criterea shall be contained under + description "The RedCap acsess criterea shall be contained under SubNetwork"; } - + grouping RedCapAccessCriteriaGrp { description "Represents the RedCapAccessCriteria <> "; - + leaf nRCellDURef { type types3gpp:DistinguishedName; - mandatory true; + mandatory true; description "This attribute contains the DN of a NR Cell (NRCellDU) "; - } - + } + leaf criteriaConditionRef { type types3gpp:DistinguishedName; mandatory true; - description "This specifies the DN of the ConditionMonitor MOI.The - attribute condition will contain information on the condition to be - satisfied to restrict Redcap UE access. This means that the value of - attribute uECellBarredAccess of NRCellDU IOC will be set to - REDCAP_1RX and REDCAP_2RX if this condition is met.The condition + description "This specifies the DN of the ConditionMonitor MOI.The + attribute condition will contain information on the condition to be + satisfied to restrict Redcap UE access. This means that the value of + attribute uECellBarredAccess of NRCellDU IOC will be set to + REDCAP_1RX and REDCAP_2RX if this condition is met.The condition will be created providing following information: The performance metrics (KPIs and performance measurements) that are to be considered in the criteria for deciding whether the cell in a RAN node is barred or allowed for RedCap/eRedCap UEs - The direction (up and down) that is to be considered for crossing - the threshold value of the given performance metrics for taking a - decision whether the RAN node is barred or allowed for - RedCap/eRedCap UEs. + The direction (up and down) that is to be considered for crossing + the threshold value of the given performance metrics for taking a + decision whether the RAN node is barred or allowed for + RedCap/eRedCap UEs. The threshold level of performance metrics value which when crossed the RAN node is barred or allowed for RedCap/eRedCap UEs"; } @@ -56,20 +56,20 @@ module _3gpp-nr-nrm-redcapaccess { } augment "/subnet3gpp:SubNetwork" { - if-feature redcapaccesscriteriasubnertwork; + if-feature redcapaccesscriteriasubnertwork; list RedCapAccessCriteria { - description "The RedCapAccessCriteria <> contains attributes - to support the controlling of RedCap access in a NR Cell. + description "The RedCapAccessCriteria <> contains attributes + to support the controlling of RedCap access in a NR Cell. It provides information of a condition (for example, KPIs such as Total DRB accessibility, DRB Retainability , Utilization KPI, NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. - and Performance measurements such as DL/UL Total PRB Usage, + and Performance measurements such as DL/UL Total PRB Usage, Average DL/UL UE throughput in gNB etc.) which can be used to - control decision of barring or allowing access of RedCap/eRedCap - UEs to a NR Cell. This information can be used to decide whether - RedCap/eRedCap UEs are barred or allowed at the time of new UE + control decision of barring or allowing access of RedCap/eRedCap + UEs to a NR Cell. This information can be used to decide whether + RedCap/eRedCap UEs are barred or allowed at the time of new UE access attempt in NR cell during applicable RAN procedures."; - + key id; max-elements 1; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-rimrsset.yang b/yang-models/_3gpp-nr-nrm-rimrsset.yang index 69caf25ea..2ebfe986d 100755 --- a/yang-models/_3gpp-nr-nrm-rimrsset.yang +++ b/yang-models/_3gpp-nr-nrm-rimrsset.yang @@ -11,51 +11,51 @@ module _3gpp-nr-nrm-rimrsset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the RimRSSet Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 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 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-28 { reference CR-0607 ; } - + grouping FrequencyDomainParaGrp { - description "Configuration parameters of frequency domain resource to + description "Configuration parameters of frequency domain resource to support RIM RS. "; - + leaf rimRSSubcarrierSpacing { type uint8 { range 0|1 ; } mandatory true; - description - "It is the subcarrier spacing configuration (u) for the RIM-RS. + description + "It is the subcarrier spacing configuration (u) for the RIM-RS. Subcarrier spacing delta-f=2^u*15 kHz. (see 38.211 subclause 5.3.3)."; } - + leaf rIMRSBandwidth { type uint8 { range 1..96 ; } mandatory true; - description "It is the bandwidth of the RIM-RS in resource blocks + description "It is the bandwidth of the RIM-RS in resource blocks (see 38.211 subclause 5.3.3). For carrier bandwidth larger than 20MHz, this attribute should be 96 if subcarrier spacing is15kHz 48 or 96 if subcarrier spacing is 30kHz - For carrier bandwidth smaller than or equal to 20MHz, this attribute + For carrier bandwidth smaller than or equal to 20MHz, this attribute should be - Minimum of {96 , bandwidth of downlink carrier in number of PRBs} if + Minimum of {96 , bandwidth of downlink carrier in number of PRBs} if subcarrier spacing is15kHz - Minimum of {48, bandwidth of downlink carrier in number of PRBs } if + Minimum of {48, bandwidth of downlink carrier in number of PRBs } if subcarrier spacing is 30kHz"; } - + leaf nrofGlobalRIMRSFrequencyCandidates { type uint8 { range 1|2|4 ; } mandatory true; - description "The number of candidate frequency resources in the whole + description "The number of candidate frequency resources in the whole network (N_f^RIM ) (see 38.211 subclause 7.4.1.6)."; } @@ -68,32 +68,32 @@ module _3gpp-nr-nrm-rimrsset { range 0..550; } must 'count(.) = ../nrofGlobalRIMRSFrequencyCandidates' { - error-message + error-message "The multiplicity must be equal to nrofGlobalRIMRSFrequencyCandidates"; } - description "List of configured frequency offsets in units of resource - blocks, where each element is the frequency offset relative to a - configured reference point for RIM-RS. The size of the list is - nrofGlobalRIMRSFrequencyCandidates and the resulting frequency resource - blocks of RIM-RS corresponding to different configured frequency offset + description "List of configured frequency offsets in units of resource + blocks, where each element is the frequency offset relative to a + configured reference point for RIM-RS. The size of the list is + nrofGlobalRIMRSFrequencyCandidates and the resulting frequency resource + blocks of RIM-RS corresponding to different configured frequency offset have no overlapping bandwidth. (see 38.211 subclause 7.4.1.6). - allowedValues: 0..maxNrofPhysicalResourceBlocks-1 where + allowedValues: 0..maxNrofPhysicalResourceBlocks-1 where maxNrofPhysicalResourceBlocks = 550"; } } - + grouping SequenceDomainParaGrp { - description "Configuration parameters of sequence domain resource to + description "Configuration parameters of sequence domain resource to support RIM RS. "; - + leaf nrofRIMRSSequenceCandidatesofRS1 { type uint8 { range 1..8 ; } mandatory true; - description "The number of candidate sequences assigned for RIM RS-1 - (N_s^RIM,1) (see 38.211 [subclause 7.4.1.6). It should be even when + description "The number of candidate sequences assigned for RIM RS-1 + (N_s^RIM,1) (see 38.211 [subclause 7.4.1.6). It should be even when enableEnoughNotEnoughIndication for RS-1 is ON"; } @@ -102,11 +102,11 @@ module _3gpp-nr-nrm-rimrsset { range 0..1023 ; } must 'count(.) = ../nrofRIMRSSequenceCandidatesofRS1' { - error-message + error-message "The multiplicity must be equal to nrofRIMRSSequenceCandidatesofRS1"; } description "List of configured scrambling identities for RIM RS-1 ( - see 38.211 [subclause 7.4.1.6). The size of the list is + see 38.211 [subclause 7.4.1.6). The size of the list is nrofRIMRSSequenceCandidatesofRS1."; } @@ -115,7 +115,7 @@ module _3gpp-nr-nrm-rimrsset { range 1..8 ; } mandatory true; - description "The number of candidate sequences assigned for RIM RS-2 + description "The number of candidate sequences assigned for RIM RS-2 (N_s^RIM,2) (see 38.211 subclause 7.4.1.6)."; } @@ -124,31 +124,31 @@ module _3gpp-nr-nrm-rimrsset { range 0..1023 ; } must 'count(.) = ../nrofRIMRSSequenceCandidatesofRS2' { - error-message + error-message "The multiplicity must be equal to nrofRIMRSSequenceCandidatesofRS2"; } description "List of configured scrambling identities for RIM RS-2 ( - see 38.211 subclause 7.4.1.6). + see 38.211 subclause 7.4.1.6). The size of the list is nrofRIMRSSequenceCandidatesofRS2."; } leaf enableEnoughNotEnoughIndication { type types3gpp:EnabledDisabled; default DISABLED; - description "It is indication of whether 'Enough'/'Not enough' indication + description "It is indication of whether 'Enough'/'Not enough' indication functionality is enabled for RIM RS-1 (see 38.211 subclause 7.4.1.6). - If the indication is 'ENABLED', the first half of - nrofRIMRSSequenceCandidatesofRS1 sequences indicates 'Not enough + If the indication is 'ENABLED', the first half of + nrofRIMRSSequenceCandidatesofRS1 sequences indicates 'Not enough mitigation', and the second half indicates 'Enough mitigation', where, - 'Enough mitigation' indicates that IoT going back to certain level at - victim side and/or no further interference mitigation actions are + 'Enough mitigation' indicates that IoT going back to certain level at + victim side and/or no further interference mitigation actions are needed at aggressor side - 'Not enough mitigation' indicates that IoT exceeding certain level at - victim side and/or further interference mitigation actions are needed + 'Not enough mitigation' indicates that IoT exceeding certain level at + victim side and/or further interference mitigation actions are needed at aggressor side - enableEnoughNotEnoughIndication is equivalent to EnoughIndication + enableEnoughNotEnoughIndication is equivalent to EnoughIndication (see 38.211 subclause 7.4.1.6)"; } @@ -157,8 +157,8 @@ module _3gpp-nr-nrm-rimrsset { range 0..2147483647; } mandatory true; - description "It is parameter multiplier factor gamma for initialization - seed of the pseudo-random sequence c~(i) + description "It is parameter multiplier factor gamma for initialization + seed of the pseudo-random sequence c~(i) (see 38.211 subclause 7.4.1.6.2). allowedValues: 0,1...2^31-1"; } @@ -168,16 +168,16 @@ module _3gpp-nr-nrm-rimrsset { range 0..2147483647; } mandatory true; - description "It is parameter offset delta for initialization seed of + description "It is parameter offset delta for initialization seed of the pseudo-random sequence c~(i) (see 38.211 subclause 7.4.1.6.2). allowedValues: 0,1...2^31-1"; } } - + grouping TimeDomainParaGrp { - description "Configuration parameters of time domain resource to + description "Configuration parameters of time domain resource to support RIM RS. "; - + leaf dlULSwitchingPeriod1 { type enumeration { enum MS0P5; @@ -193,31 +193,31 @@ module _3gpp-nr-nrm-rimrsset { enum MS20; } mandatory true; - description "This attribute is used to configure the first uplink-downlink - switching period (P1) for RIM RS transmission in the network, where one - RIM RS is configured in one uplink-downlink switching period. - (see 38.211 subclause 7.4.1.6). + description "This attribute is used to configure the first uplink-downlink + switching period (P1) for RIM RS transmission in the network, where one + RIM RS is configured in one uplink-downlink switching period. + (see 38.211 subclause 7.4.1.6). - When only one TDD-UL-DL-Pattern is configured, only - dl-UL-SwitchingPeriod1 is configured, where P1 equals to the + When only one TDD-UL-DL-Pattern is configured, only + dl-UL-SwitchingPeriod1 is configured, where P1 equals to the transmission periodicity of the TDD-UL-DL-Pattern. - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources is configured only in one of the TDD patterns, only - dl-UL-SwitchingPeriod1 is configured, where P1 equals to the addition - of the concatenated transmission periodicity of the two + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources is configured only in one of the TDD patterns, only + dl-UL-SwitchingPeriod1 is configured, where P1 equals to the addition + of the concatenated transmission periodicity of the two TDD-UL-DL-Patterns. - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources are configured in both TDD patterns, both - dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, - where P1 equals to the transmission periodicity of the first + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, both + dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, + where P1 equals to the transmission periodicity of the first TDD-UL-DL-Pattern. P1 is equivalent to T_(per,1)^RIM (see 38.211, subclause 7.4.1.6). - allowedValues: - MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS4, MS5, MS10, MS20, + allowedValues: + MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS4, MS5, MS10, MS20, if a single uplink-downlink period is configured for RIM-RS purposes; - MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, MS10, MS20, + MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, MS10, MS20, if two uplink-downlink periods are configured for RIM-RS purposes."; } @@ -226,23 +226,23 @@ module _3gpp-nr-nrm-rimrsset { range 2..327679 ; } mandatory true; - description "This attribute is used to configure the reference point in - the first uplink-downlink switching period, which is the symbols offset - of the reference point after the starting boundary of the first - uplink-downlink switching period. It's Configured together with + description "This attribute is used to configure the reference point in + the first uplink-downlink switching period, which is the symbols offset + of the reference point after the starting boundary of the first + uplink-downlink switching period. It's Configured together with dl-UL-SwitchingPeriod1 (see 38.211 subclause 7.4.1.6). - When only one TDD-UL-DL-Pattern is configured, the reference point - configured for the first uplink-downlink switching period is the DL + When only one TDD-UL-DL-Pattern is configured, the reference point + configured for the first uplink-downlink switching period is the DL transmission boundary of the TDD-UL-DL-Pattern. - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources is configured only in one of the TDD patterns, the reference - point configured for the first uplink-downlink switching period is the - DL transmission boundary of the TDD-UL-DL-Pattern where the RIM-RS + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources is configured only in one of the TDD patterns, the reference + point configured for the first uplink-downlink switching period is the + DL transmission boundary of the TDD-UL-DL-Pattern where the RIM-RS resource is configured. - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources are configured in both TDD patterns, the reference points - configured for first uplink-downlink switching period is the DL + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, the reference points + configured for first uplink-downlink switching period is the DL transmission boundary of the first TDD-UL-DL-Pattern. allowedValues: 2, 3..20*2*maxNrofSymbols-1, where maxNrofSymbols=14"; @@ -262,20 +262,20 @@ module _3gpp-nr-nrm-rimrsset { enum MS10; } mandatory true; - description "Used to configure the second uplink-downlink switching - period (P2) for RIM RS transmission in the network, where one RIM RS is - configured in one uplink-downlink switching period + description "Used to configure the second uplink-downlink switching + period (P2) for RIM RS transmission in the network, where one RIM RS is + configured in one uplink-downlink switching period (see 38.211 subclause 7.4.1.6). - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources are configured in both TDD patterns, both - dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, - where P2 equals to the transmission periodicity of the second + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, both + dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, + where P2 equals to the transmission periodicity of the second TDD-UL-DL-Pattern, and where (P1 + P2) divides 20 ms. - allowedValues: MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, + allowedValues: MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, MS10 - + P2 is equivalent to T_(per,2)^RIM (see 38.211 subclause 7.4.1.6)"; } @@ -284,14 +284,14 @@ module _3gpp-nr-nrm-rimrsset { range 2..327679 ; } mandatory true; - description "This attribute is used to configure the reference point in - the second uplink-downlink switching period, which is the symbol offset - of the reference point after starting boundary of the second - uplink-downlink switching period. Configured together with + description "This attribute is used to configure the reference point in + the second uplink-downlink switching period, which is the symbol offset + of the reference point after starting boundary of the second + uplink-downlink switching period. Configured together with dl-UL-SwitchingPeriod2 (see 38.211 subclause 7.4.1.6). - When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS - resources are configured in both TDD patterns, the reference points - configured for second uplink-downlink switching period is the + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, the reference points + configured for second uplink-downlink switching period is the DL transmission boundary of the second TDD-UL-DL-Pattern. allowedValues: 2, 3..20*2*maxNrofSymbols-1, where maxNrofSymbols=14"; @@ -302,7 +302,7 @@ module _3gpp-nr-nrm-rimrsset { range 0..4194303 ; } mandatory true; - description "It is the total number of set IDs for RIM RS-1 + description "It is the total number of set IDs for RIM RS-1 (N_setID ^RIM,1) (see 38.211 subclause 7.4.1.6). allowedValues: 0,1...2^22-1"; @@ -313,7 +313,7 @@ module _3gpp-nr-nrm-rimrsset { range 0..4194304 ; } mandatory true; - description "It is the total number of set IDs for RIM RS-2 + description "It is the total number of set IDs for RIM RS-2 (N_setID^RIM,2) (see 38.211 subclause 7.4.1.6). allowedValues: 0,1...2^22"; @@ -324,8 +324,8 @@ module _3gpp-nr-nrm-rimrsset { range 1|2|4|8 ; } mandatory true; - description "It is the number of consecutive uplink-downlink switching - periods for RS-1 (R1) for repetition/near-far indication:. + description "It is the number of consecutive uplink-downlink switching + periods for RS-1 (R1) for repetition/near-far indication:. (see 38.211 subclause 7.4.1.6). allowedValues: 1,2,4,8"; @@ -336,8 +336,8 @@ module _3gpp-nr-nrm-rimrsset { range 1|2|4|8 ; } mandatory true; - description "It is the number of consecutive uplink-downlink switching - periods for RS-2 (R2) for repetition/near-far indication. + description "It is the number of consecutive uplink-downlink switching + periods for RS-2 (R2) for repetition/near-far indication. (see 38.211 subclause 7.4.1.6). allowedValues: 1,2,4,8"; @@ -347,12 +347,12 @@ module _3gpp-nr-nrm-rimrsset { type uint32 { range 2..327679 ; } - description "It is used to configure the OFDM symbol position(s) of RIM - RS-1 within the uplink-downlink switching period. It is a list of symbol - offset of RIM RS-1 (N_symb,ref^(RIM,1)) before the reference point. - The size of the list is nrofConsecutiveRIMRS1 + description "It is used to configure the OFDM symbol position(s) of RIM + RS-1 within the uplink-downlink switching period. It is a list of symbol + offset of RIM RS-1 (N_symb,ref^(RIM,1)) before the reference point. + The size of the list is nrofConsecutiveRIMRS1 (see 38.211 subclause 7.4.1.6). - The resulting RIM RS-1 symbols and its reference point shall belong to + The resulting RIM RS-1 symbols and its reference point shall belong to the same 10ms frame. allowedValues: 2,3..20*2**maxNrofSymbols-1, where maxNrofSymbols=14"; @@ -360,14 +360,14 @@ module _3gpp-nr-nrm-rimrsset { leaf-list consecutiveRIMRS2List { type uint32 { - range 2..327679 ; + range 2..327679 ; } - description "It is used to configure the OFDM symbol position(s) of - RIM RS-2 within the uplink-downlink switching period. It is a list of - symbol offset of RIM RS-2 (N_symb,ref^(RIM,2)) before the reference - point. The size of the list is nrofConsecutiveRIMRS2 + description "It is used to configure the OFDM symbol position(s) of + RIM RS-2 within the uplink-downlink switching period. It is a list of + symbol offset of RIM RS-2 (N_symb,ref^(RIM,2)) before the reference + point. The size of the list is nrofConsecutiveRIMRS2 (see 38.211 subclause 7.4.1.6). - The resulting RIM RS-2 symbols and its reference point shall belong to + The resulting RIM RS-2 symbols and its reference point shall belong to the same 10ms frame. allowedValues: 2,3..20*2**maxNrofSymbols-1, where maxNrofSymbols=14"; @@ -376,104 +376,104 @@ module _3gpp-nr-nrm-rimrsset { leaf enablenearfarIndicationRS1 { type types3gpp:EnabledDisabled; default DISABLED; - description "It is indication of whether near-far functionality is enabled + description "It is indication of whether near-far functionality is enabled for RIM RS1. - If the indication is 'ENABLED', - the first half of nrofConsecutiveRIMRS1 (R1) consecutive uplink-downlink + If the indication is 'ENABLED', + the first half of nrofConsecutiveRIMRS1 (R1) consecutive uplink-downlink switching period is for 'Near' indication with R1/2 repetitions, - the second half of R1 consecutive uplink-downlink switching period is + the second half of R1 consecutive uplink-downlink switching period is for 'Far' indication with R1/2 repetitions."; } leaf enablenearfarIndicationRS2 { type types3gpp:EnabledDisabled; default DISABLED; - description "It is indication of whether near-far functionality is enabled + description "It is indication of whether near-far functionality is enabled for RIM RS2. - If the indication is 'enable', - the first half of nrofConsecutiveRIMRS2 (R2) consecutive uplink-downlink + If the indication is 'enable', + the first half of nrofConsecutiveRIMRS2 (R2) consecutive uplink-downlink switching period is for 'Near' indication with R2/2 repetitions, - the second half of R2 consecutive uplink-downlink switching period is + the second half of R2 consecutive uplink-downlink switching period is for 'Far' indication with R2/2 repetitions."; } - } + } grouping RimRSGlobalGrp { description "Represents the RimRSGlobal IOC."; - + list frequencyDomainPara { key rimRSSubcarrierSpacing; min-elements 1; max-elements 1; - description "Configuration parameters of frequency domain resource to + description "Configuration parameters of frequency domain resource to support RIM RS. "; uses FrequencyDomainParaGrp; } - + list sequenceDomainPara { key nrofRIMRSSequenceCandidatesofRS1; min-elements 1; max-elements 1; - description "Configuration parameters of sequence domain resource to + description "Configuration parameters of sequence domain resource to support RIM RS. "; uses SequenceDomainParaGrp; } - + list timeDomainPara { key dlULSwitchingPeriod1; min-elements 1; max-elements 1; - description "Configuration parameters of time domain resource to + description "Configuration parameters of time domain resource to support RIM RS. "; uses TimeDomainParaGrp; } } - + grouping RimRSSetGrp { description "Represents the RimRSSet IOC."; - + leaf setId { type uint32 { range 0..4194303 ; } mandatory true; - description "This specifies the set ID of a victim Set (RIM-RS1 Set) or - aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). + description "This specifies the set ID of a victim Set (RIM-RS1 Set) or + aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). allowedValues: The bit length of the set ID is maximum 22bit."; } - + leaf setType { type enumeration { enum RS1; enum RS2; } mandatory true; - description "The attribute specifies type of a RIM-RS Set . - RIM RS1 is generated and transmitted by victim to indicate its suffering - remote interference, and RIM RS2 is generated and transmitted by + description "The attribute specifies type of a RIM-RS Set . + RIM RS1 is generated and transmitted by victim to indicate its suffering + remote interference, and RIM RS2 is generated and transmitted by aggressor to measure if Remote Interference still exist If the attribute value is 'RS1', the RIM-RS Set is victim set. If the attribute value is 'RS2', the RIM-RS Set is aggressor set."; } - + leaf-list nRCellDURef { type types3gpp:DistinguishedName; config false; description "This attribute contains the DN of a NR Cell (NRCellDU)"; } } - + augment "/subnet3gpp:SubNetwork" { list RimRSGlobal { - description "Represents global/common Remote Interference Management (RIM) - Reference Signal (RS) resource allocated for the whole network. - Resource for RIM-RS transmission is defined by Sequence domain resource, - Time domain resource and Frequency resource. The configure parameters - of the RIM RS resource are applied to all Sets of RIM RS Resource + description "Represents global/common Remote Interference Management (RIM) + Reference Signal (RS) resource allocated for the whole network. + Resource for RIM-RS transmission is defined by Sequence domain resource, + Time domain resource and Frequency resource. The configure parameters + of the RIM RS resource are applied to all Sets of RIM RS Resource across gNBs/cells in the network."; key id; max-elements 1; @@ -483,11 +483,11 @@ module _3gpp-nr-nrm-rimrsset { } list RimRSSet { - description "Represents aggressor or victim Set organized by OAM. - The RIM RS Resource is assigned to each Set, which is identified by - triple indices set of -