From fdf39fa722dfd980362cb417162d7eb3cf540a7d Mon Sep 17 00:00:00 2001 From: malashnyak Date: Tue, 10 Aug 2021 12:56:20 +0200 Subject: [PATCH 01/40] Update _3gpp-ns-nrm-networkslicesubnet.yang. Updated description of sliceProfileList --- yang-models/_3gpp-ns-nrm-networkslicesubnet.yang | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 005340362..89443d531 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -142,7 +142,12 @@ module _3gpp-ns-nrm-networkslicesubnet { list sliceProfileList { description "List of SliceProfiles supported by the network slice - subnet instance"; + subnet instance. All members of the list, instances of SliceProfile, + shall contain the same datatype representing slice profile requirements: + TopSliceSubnetProfile, RANSliceSubnetProfile or CNSliceSubnetProfile. + Members of the list may contain TopSliceSubnetProfile datatype + only when this attribute (sliceProfileList) belongs to + a NetworkSliceSubnet not contained by another NetworkSliceSubnet"; key sliceProfileId; uses SliceProfileGrp; } -- GitLab From 2a386f8f412559575356bd9ab14bd187ffb4408f Mon Sep 17 00:00:00 2001 From: malashnyak Date: Fri, 13 Aug 2021 10:46:20 +0200 Subject: [PATCH 02/40] Description of SliceProfileList updated --- yang-models/_3gpp-ns-nrm-networkslicesubnet.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 89443d531..afd0f621f 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -147,7 +147,7 @@ module _3gpp-ns-nrm-networkslicesubnet { TopSliceSubnetProfile, RANSliceSubnetProfile or CNSliceSubnetProfile. Members of the list may contain TopSliceSubnetProfile datatype only when this attribute (sliceProfileList) belongs to - a NetworkSliceSubnet not contained by another NetworkSliceSubnet"; + a NetworkSliceSubnet that is directly referenced by a NetworkSlice"; key sliceProfileId; uses SliceProfileGrp; } -- GitLab From 389a6e85ea5c474fafb360d1a663bccd4cb7a929 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 16:25:52 +0200 Subject: [PATCH 03/40] Add new file --- yang-models/_3gpp-common-mnsregistry.yang | 75 +++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 yang-models/_3gpp-common-mnsregistry.yang diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang new file mode 100644 index 000000000..423f1d960 --- /dev/null +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -0,0 +1,75 @@ +module _3gpp-common-nrm-mnsregistry { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mnsregistry"; + prefix "nrmnsregistry3gpp"; + + 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 MNSRegistry Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-08-10 { reference "Initial revision"; } + + feature MNSRegistry { + description "Class representing MsS Discovery Service Resgistry. + feature"; + } + + grouping MNSDataGrp { + description " This datatype represents an available Management Service (MnS + and provides the data required to support its discovery."; + reference "3GPP TS 28.541"; + key id; + leaf mnsLabel { + description "Human-readable name of management service."; + mandatory true; + type string; + } + leaf mnsType { + description "Type of management service. + allowedValues: PROVISIONING, FAULT_SUPERVISION, PERFORMANCE_ASSURANCE."; + mandatory true; + type enumeration { + enum provisioning; + enum faultSupervision; + enum performanceAssurance; + } + } + leaf mnsVersion { + description " Version of management service."; + mandatory true; + type string; + } } + leaf componentTypeAAddress { + description " Addressing information for Management Service operations."; + mandatory true; + type string; + } } + leaf componentTypeBAddress { + description " Addressing information for Management Service information models."; + mandatory true; + type string; + } +} + grouping MNSRegistryGrp { + description "Represents the MNSRegistry IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + list mnsList { + description "List of MnS Data."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MNSDataGrp; + } + } + } +} \ No newline at end of file -- GitLab From 1382c7f9c437fdb04cec66eb49f1e9d9afb53829 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 16:43:43 +0200 Subject: [PATCH 04/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 423f1d960..699c95485 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -56,8 +56,7 @@ module _3gpp-common-nrm-mnsregistry { mandatory true; type string; } -} - grouping MNSRegistryGrp { + grouping MNSRegistryGrp { description "Represents the MNSRegistry IOC."; reference "3GPP TS 28.541"; uses top3gpp:Top_Grp; -- GitLab From 03f12b2fea1599ea7e8f8b80809e67289bfff90c Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 17:38:45 +0200 Subject: [PATCH 05/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 38 +++++++++++------------ 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 699c95485..6dcda277e 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -7,7 +7,6 @@ module _3gpp-common-nrm-mnsregistry { 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 MNSRegistry Information Object @@ -17,10 +16,24 @@ module _3gpp-common-nrm-mnsregistry { revision 2021-08-10 { reference "Initial revision"; } feature MNSRegistry { - description "Class representing MsS Discovery Service Resgistry. - feature"; + description "Class representing MsS Discovery Service Resgistry."; } + grouping MNSRegistryGrp { + description "Represents the MNSRegistry IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + list mnsList { + description "List of MnS Data."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MNSDataGrp; + } + } + } grouping MNSDataGrp { description " This datatype represents an available Management Service (MnS and provides the data required to support its discovery."; @@ -45,30 +58,15 @@ module _3gpp-common-nrm-mnsregistry { description " Version of management service."; mandatory true; type string; - } } + } leaf componentTypeAAddress { description " Addressing information for Management Service operations."; mandatory true; type string; - } } + } leaf componentTypeBAddress { description " Addressing information for Management Service information models."; mandatory true; type string; } - grouping MNSRegistryGrp { - description "Represents the MNSRegistry IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - list mnsList { - description "List of MnS Data."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses MNSDataGrp; - } - } - } } \ No newline at end of file -- GitLab From d7f41861d55537300dca22c12968cf7691d90732 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 17:48:55 +0200 Subject: [PATCH 06/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 6dcda277e..54ca7e596 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -33,7 +33,7 @@ module _3gpp-common-nrm-mnsregistry { uses MNSDataGrp; } } - } + grouping MNSDataGrp { description " This datatype represents an available Management Service (MnS and provides the data required to support its discovery."; @@ -49,24 +49,25 @@ module _3gpp-common-nrm-mnsregistry { allowedValues: PROVISIONING, FAULT_SUPERVISION, PERFORMANCE_ASSURANCE."; mandatory true; type enumeration { - enum provisioning; - enum faultSupervision; - enum performanceAssurance; + enum PROVISIONING; + enum FAULT_SUPERVISION; + enum PERFORMANCE_ASSURANCE; } } leaf mnsVersion { - description " Version of management service."; + description "Version of management service."; mandatory true; type string; } leaf componentTypeAAddress { - description " Addressing information for Management Service operations."; + description "Addressing information for Management Service operations."; mandatory true; type string; } leaf componentTypeBAddress { - description " Addressing information for Management Service information models."; + description "Addressing information for Management Service information models."; mandatory true; type string; } -} \ No newline at end of file + } +} -- GitLab From c16380ae3646bb6873f3f31efc35690974fca496 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 17:54:36 +0200 Subject: [PATCH 07/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 54ca7e596..0227e5658 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -33,6 +33,7 @@ module _3gpp-common-nrm-mnsregistry { uses MNSDataGrp; } } + } grouping MNSDataGrp { description " This datatype represents an available Management Service (MnS -- GitLab From bfdfdc212b58e487f248474dc61af7084d447f2c Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 17:57:50 +0200 Subject: [PATCH 08/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 0227e5658..50fd1b4d9 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -1,4 +1,4 @@ -module _3gpp-common-nrm-mnsregistry { +module _3gpp-common-mnsregistry { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mnsregistry"; prefix "nrmnsregistry3gpp"; @@ -39,7 +39,6 @@ module _3gpp-common-nrm-mnsregistry { description " This datatype represents an available Management Service (MnS and provides the data required to support its discovery."; reference "3GPP TS 28.541"; - key id; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; -- GitLab From fa17d16b726732cd29928730ff16c9218faf19b3 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 18:01:46 +0200 Subject: [PATCH 09/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 50fd1b4d9..e651dbf67 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -1,7 +1,7 @@ module _3gpp-common-mnsregistry { yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mnsregistry"; - prefix "nrmnsregistry3gpp"; + namespace "urn:3gpp:sa5:_3gpp-common-mnsregistry"; + prefix "mnsregistry3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } @@ -70,4 +70,4 @@ module _3gpp-common-mnsregistry { type string; } } -} + } -- GitLab From 362ad6f43f308c5e988ea18b81b1aeaa6e85d14e Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 18:03:03 +0200 Subject: [PATCH 10/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index e651dbf67..4a5e5be47 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -65,7 +65,8 @@ module _3gpp-common-mnsregistry { type string; } leaf componentTypeBAddress { - description "Addressing information for Management Service information models."; + description "Addressing information for Management Service information + models."; mandatory true; type string; } -- GitLab From 585de9c10fb2ec0a81d55d32562828ae16613283 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 18:07:39 +0200 Subject: [PATCH 11/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 3 +++ 1 file changed, 3 insertions(+) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 4a5e5be47..aecc9c439 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -71,4 +71,7 @@ module _3gpp-common-mnsregistry { type string; } } + augment "/subnet3gpp:SubNetwork" { + uses MNSRegistryGrp; + } } -- GitLab From 2b5206807703344bcfd891dc09f01cbffbeddbb3 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 18:16:19 +0200 Subject: [PATCH 12/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index aecc9c439..2f08b806e 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -3,7 +3,6 @@ module _3gpp-common-mnsregistry { namespace "urn:3gpp:sa5:_3gpp-common-mnsregistry"; prefix "mnsregistry3gpp"; - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } -- GitLab From 86e191861a7523ebe86c415706452ce9b07fe8a6 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 18:17:44 +0200 Subject: [PATCH 13/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 2f08b806e..0205bb66d 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -1,7 +1,7 @@ module _3gpp-common-mnsregistry { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-mnsregistry"; - prefix "mnsregistry3gpp"; + prefix "mnsregist3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } -- GitLab From a2becfe7e3f41ad3f700389c568fae5bf30d1fbc Mon Sep 17 00:00:00 2001 From: scottma Date: Wed, 18 Aug 2021 14:48:29 +0200 Subject: [PATCH 14/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 0205bb66d..a11d57f85 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -9,35 +9,28 @@ 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 Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + Class (IOC) that is part of the Generic Network Resource Model (NRM)."; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2021-08-10 { reference "Initial revision"; } - feature MNSRegistry { - description "Class representing MsS Discovery Service Resgistry."; - } - grouping MNSRegistryGrp { description "Represents the MNSRegistry IOC."; reference "3GPP TS 28.541"; uses top3gpp:Top_Grp; list mnsList { + key "mnsType"; + key "mnsVersion"; description "List of MnS Data."; - reference "3GPP TS 28.541"; - key id; uses top3gpp:Top_Grp; - container attributes { - uses MNSDataGrp; - } + uses MNSDataGrp; } } grouping MNSDataGrp { description " This datatype represents an available Management Service (MnS and provides the data required to support its discovery."; - reference "3GPP TS 28.541"; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; @@ -46,7 +39,6 @@ module _3gpp-common-mnsregistry { leaf mnsType { description "Type of management service. allowedValues: PROVISIONING, FAULT_SUPERVISION, PERFORMANCE_ASSURANCE."; - mandatory true; type enumeration { enum PROVISIONING; enum FAULT_SUPERVISION; @@ -55,7 +47,7 @@ module _3gpp-common-mnsregistry { } leaf mnsVersion { description "Version of management service."; - mandatory true; + ; type string; } leaf componentTypeAAddress { -- GitLab From e366842ee56a077c070b5681c8c414251fd6c4ed Mon Sep 17 00:00:00 2001 From: scottma Date: Wed, 18 Aug 2021 14:55:32 +0200 Subject: [PATCH 15/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index a11d57f85..709b4c261 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -12,7 +12,7 @@ module _3gpp-common-mnsregistry { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; - revision 2021-08-10 { reference "Initial revision"; } + revision 2021-08-10 { reference "Initial revision, S5-214388"; } grouping MNSRegistryGrp { description "Represents the MNSRegistry IOC."; @@ -20,25 +20,22 @@ module _3gpp-common-mnsregistry { uses top3gpp:Top_Grp; list mnsList { - key "mnsType"; - key "mnsVersion"; + key "mnsType mnsVersion"; description "List of MnS Data."; - uses top3gpp:Top_Grp; uses MNSDataGrp; } } grouping MNSDataGrp { description " This datatype represents an available Management Service (MnS - and provides the data required to support its discovery."; + and provides the data required to support its discovery."; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; type string; } leaf mnsType { - description "Type of management service. - allowedValues: PROVISIONING, FAULT_SUPERVISION, PERFORMANCE_ASSURANCE."; + description "Type of management service."; type enumeration { enum PROVISIONING; enum FAULT_SUPERVISION; @@ -47,7 +44,6 @@ module _3gpp-common-mnsregistry { } leaf mnsVersion { description "Version of management service."; - ; type string; } leaf componentTypeAAddress { @@ -63,6 +59,13 @@ module _3gpp-common-mnsregistry { } } augment "/subnet3gpp:SubNetwork" { - uses MNSRegistryGrp; - } + list MNSRegistry { + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MNSRegistryGrp ; + } + } + } + } -- GitLab From 877106ee0d7885110a053df5e009a4a06656e06e Mon Sep 17 00:00:00 2001 From: scottma Date: Wed, 18 Aug 2021 15:01:19 +0200 Subject: [PATCH 16/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 709b4c261..e6ab68851 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -60,6 +60,7 @@ module _3gpp-common-mnsregistry { } augment "/subnet3gpp:SubNetwork" { list MNSRegistry { + description "Represents the MNSRegistry IOC."; key id; uses top3gpp:Top_Grp; container attributes { -- GitLab From 4346ee1abf102a77c9b8ce5bb94ef93abffdb912 Mon Sep 17 00:00:00 2001 From: scottma Date: Wed, 18 Aug 2021 15:02:18 +0200 Subject: [PATCH 17/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index e6ab68851..601a7f587 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -65,8 +65,7 @@ module _3gpp-common-mnsregistry { uses top3gpp:Top_Grp; container attributes { uses MNSRegistryGrp ; - } + } } - } - } +} -- GitLab From d63af776bd77e2a8950f5c601ec0cf6cc96180a9 Mon Sep 17 00:00:00 2001 From: scottma Date: Sun, 29 Aug 2021 16:59:11 +0200 Subject: [PATCH 18/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 26 ++++++----------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 601a7f587..9e1e24360 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -18,22 +18,13 @@ module _3gpp-common-mnsregistry { description "Represents the MNSRegistry IOC."; reference "3GPP TS 28.541"; uses top3gpp:Top_Grp; - - list mnsList { - key "mnsType mnsVersion"; - description "List of MnS Data."; - uses MNSDataGrp; - } - } - grouping MNSDataGrp { - description " This datatype represents an available Management Service (MnS - and provides the data required to support its discovery."; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; type string; } + leaf mnsType { description "Type of management service."; type enumeration { @@ -42,23 +33,20 @@ module _3gpp-common-mnsregistry { enum PERFORMANCE_ASSURANCE; } } + leaf mnsVersion { description "Version of management service."; type string; } - leaf componentTypeAAddress { + + leaf mnsAddress { description "Addressing information for Management Service operations."; mandatory true; type string; } - leaf componentTypeBAddress { - description "Addressing information for Management Service information - models."; - mandatory true; - type string; } - } - augment "/subnet3gpp:SubNetwork" { + + augment "/subnet3gpp:SubNetwork" { list MNSRegistry { description "Represents the MNSRegistry IOC."; key id; @@ -68,4 +56,4 @@ module _3gpp-common-mnsregistry { } } } -} +} \ No newline at end of file -- GitLab From f2cb1b4accd87d42202664704232b7d327891ca4 Mon Sep 17 00:00:00 2001 From: scottma Date: Sun, 29 Aug 2021 17:07:26 +0200 Subject: [PATCH 19/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 9e1e24360..2783fd385 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -12,7 +12,7 @@ module _3gpp-common-mnsregistry { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; - revision 2021-08-10 { reference "Initial revision, S5-214388"; } + revision 2021-08-29 { reference "Initial revision, S5-214388"; } grouping MNSRegistryGrp { description "Represents the MNSRegistry IOC."; @@ -52,7 +52,7 @@ module _3gpp-common-mnsregistry { key id; uses top3gpp:Top_Grp; container attributes { - uses MNSRegistryGrp ; + uses MNSRegistryGrp; } } } -- GitLab From 20471d5df2e6371f7a2f2ba91bb1b7ad948b9236 Mon Sep 17 00:00:00 2001 From: scottma Date: Tue, 31 Aug 2021 18:44:12 +0200 Subject: [PATCH 20/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 2783fd385..7fa8d6dfb 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -44,8 +44,16 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } + + leaf mnsScope { + description "This indicates the URI of the supported NRM fragment."; + mandatory true; + type string; + } + } + augment "/subnet3gpp:SubNetwork" { list MNSRegistry { description "Represents the MNSRegistry IOC."; -- GitLab From d4de2f706e1944adaf20b9226d15f07a96f63997 Mon Sep 17 00:00:00 2001 From: scottma Date: Tue, 31 Aug 2021 18:46:36 +0200 Subject: [PATCH 21/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 2 -- 1 file changed, 2 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 7fa8d6dfb..cce1554f3 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -50,10 +50,8 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } - } - augment "/subnet3gpp:SubNetwork" { list MNSRegistry { description "Represents the MNSRegistry IOC."; -- GitLab From a0134a56c60e1ff23da446070487e67334db85bb Mon Sep 17 00:00:00 2001 From: scottma Date: Tue, 31 Aug 2021 19:15:38 +0200 Subject: [PATCH 22/40] Update _3gpp-common-mnsregistry.yang --- yang-models/_3gpp-common-mnsregistry.yang | 6 ------ 1 file changed, 6 deletions(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index cce1554f3..2783fd385 100644 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -44,12 +44,6 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } - - leaf mnsScope { - description "This indicates the URI of the supported NRM fragment."; - mandatory true; - type string; - } } augment "/subnet3gpp:SubNetwork" { -- GitLab From 0742c87ebafa0c9d1c749c6102ce96ec340cf6d8 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 15:01:38 +0200 Subject: [PATCH 23/40] Update _3gpp-nr-nrm-rrmpolicy.yang --- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 3480c753c..8e2538883 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -50,9 +50,15 @@ module _3gpp-nr-nrm-rrmpolicy { leaf resourceType { description "The resourceType attribute defines type of resource (PRB, RRC connected users, DRB usage etc.) that is subject to policy. - Valid values are 'PRB', 'RRC' or 'DRB'"; + Valid values are 'PRB', 'PRB-UL', 'PRB-DL', 'RRC' or 'DRB'"; mandatory true; - type string; + type enumeration { + enum prb; + enum prbUl; + enum prbDl; + enum rrc; + enum drb + }; } list rRMPolicyMemberList{ -- GitLab From bb3684210e577c651dda06e88ed64483eb9c021d Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 15:28:39 +0200 Subject: [PATCH 24/40] Update _3gpp-nr-nrm-rrmpolicy.yang --- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 8e2538883..aef754bbb 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -57,7 +57,7 @@ module _3gpp-nr-nrm-rrmpolicy { enum prbUl; enum prbDl; enum rrc; - enum drb + enum drb; }; } -- GitLab From d02781c712907aef2193289f04ce4db439fb9617 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 15:30:25 +0200 Subject: [PATCH 25/40] Update _3gpp-nr-nrm-rrmpolicy.yang --- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index aef754bbb..2a04cbc22 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -58,7 +58,7 @@ module _3gpp-nr-nrm-rrmpolicy { enum prbDl; enum rrc; enum drb; - }; + } } list rRMPolicyMemberList{ -- GitLab From 9949c478b05c3739632bf91f260615486f221a17 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 13 Aug 2021 16:21:07 +0200 Subject: [PATCH 26/40] Update _3gpp-nr-nrm-rrmpolicy.yang --- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 2a04cbc22..cfe977059 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -50,14 +50,14 @@ module _3gpp-nr-nrm-rrmpolicy { leaf resourceType { description "The resourceType attribute defines type of resource (PRB, RRC connected users, DRB usage etc.) that is subject to policy. - Valid values are 'PRB', 'PRB-UL', 'PRB-DL', 'RRC' or 'DRB'"; + Valid values are 'PRB', 'PRB_UL', 'PRB_DL', 'RRC' or 'DRB'"; mandatory true; type enumeration { - enum prb; - enum prbUl; - enum prbDl; - enum rrc; - enum drb; + enum PRB; + enum PRB_UL; + enum PRB_DL; + enum RRC; + enum DRB; } } -- GitLab From d012699c7bac2dae3d7a977a3d50b5b7233d3c08 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 30 Aug 2021 10:49:30 +0200 Subject: [PATCH 27/40] update sliceprofile --- yang-models/_3gpp-ns-nrm-common.yang | 8 +- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 180 +++++++++++++++++---- 2 files changed, 156 insertions(+), 32 deletions(-) diff --git a/yang-models/_3gpp-ns-nrm-common.yang b/yang-models/_3gpp-ns-nrm-common.yang index c3e1079bf..500328301 100755 --- a/yang-models/_3gpp-ns-nrm-common.yang +++ b/yang-models/_3gpp-ns-nrm-common.yang @@ -1,7 +1,7 @@ module _3gpp-ns-nrm-common { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-ns-nrm-common; - prefix ns3cmn; + prefix ns3cmn3gpp; // import _3gpp-common-subnetwork { prefix subnet3gpp; } // import _3gpp-common-yang-types { prefix types3gpp; } @@ -17,6 +17,7 @@ module _3gpp-ns-nrm-common { Information model definitions for network slice NRM (chapter 6) "; + revision 2021-07-16 { reference CR-xxxx ; } revision 2021-05-17 { description "Introduction of Common Data types"; reference "CR-0485"; @@ -47,7 +48,7 @@ module _3gpp-ns-nrm-common { units kbits/s; } } - typedef Tagging-enum { + typedef Tagging-enum { type enumeration { enum performance; enum function; @@ -77,17 +78,20 @@ module _3gpp-ns-nrm-common { description "This attribute specifies the category of a service requirement/attribute of GST"; type Category-enum; + config false; } leaf-list tagging { description "This attribute specifies the tagging of a service requirement/attribute of GST in character category"; when "../category = 'character'"; type Tagging-enum; + config false; } leaf exposure { description "This attribute specifies exposure mode of a service requirement/attribute of GST"; type Exposure-enum; + config false; } } typedef DeterminCommAvailability { diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 0ec5311ad..22b54ff8b 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -5,7 +5,7 @@ submodule _3gpp-ns-nrm-sliceprofile { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } // import _3gpp-ns-nrm-networkslice { prefix ns3gpp; } - import _3gpp-ns-nrm-common { prefix ns3cmn; } + import _3gpp-ns-nrm-common { prefix ns3cmn3gpp; } organization "3GPP SA5"; contact @@ -19,6 +19,7 @@ submodule _3gpp-ns-nrm-sliceprofile { Information model definitions for network slice NRM (chapter 6) "; + revision 2021-07-16 { reference CR-xxxx ; } revision 2021-05-05 { description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; reference "CR-0485"; @@ -51,6 +52,59 @@ submodule _3gpp-ns-nrm-sliceprofile { enum V2X; } } + + grouping PositioningGrp { + description "Represents positioning support."; + reference "Clause 3.4.20 of GSMA NG.116 "; + + uses ns3cmn3gpp:ServAttrComGrp ; + leaf-list availability { + type enumeration { + enum CIDE_CID ; + enum OTDOA; + enum RF_FINGERPRINTING; + enum AECID; + enum HYBRID_POSITIONING; + enum NET_RTK; + } + min-elements 1; + config false; + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be + ignored, see NG.116. Values allowed: are + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + Hybrid positioning, NET-RTK."; + } + leaf predictionfrequency { + type enumeration { + enum PERSEC; + enum PERMIN; + enum PERHOUR; + } + mandatory true; + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the + positioning method. + If leaf-list availability is empty, the value has no meaning."; + reference "NG.116"; + } + leaf accuracy { + type decimal64 { + fraction-digits 2; + } + units meter; + mandatory true; + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the + RAN domain of the network slice."; + reference "NG.116"; + } + } + grouping TopSliceSubnetProfileGrp { leaf-list coverageArea { min-elements 1; @@ -84,7 +138,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list dLThptPerUE { description "This attribute defines data rate supported by the @@ -95,7 +149,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerSliceSubnet { description "This attribute defines achievable data rate of the @@ -107,7 +161,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -118,7 +172,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -141,7 +195,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -170,7 +224,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf nOofPDUSessions { //Stage2 issue: Not defined in 28.541, guessing integer @@ -206,13 +260,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } list termDensity { @@ -236,7 +290,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf density { type uint32; @@ -321,13 +375,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -342,6 +396,15 @@ submodule _3gpp-ns-nrm-sliceprofile { reference "TS 22.104 clause 5"; type string; } + list positioning { + key predictionfrequency; + min-elements 1; + max-elements 1; + description "Specifies whether the network slice provides + geo-localization methods or supporting methods"; + reference "Clause 3.4.20 of NG.116"; + uses PositioningGrp; + } } grouping CNSliceSubnetProfileGrp { @@ -377,7 +440,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list dLThptPerUE { description "This attribute defines data rate supported by the @@ -388,7 +451,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerSliceSubnet { description "This attribute defines achievable data rate of the @@ -400,7 +463,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -411,7 +474,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -434,7 +497,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -463,7 +526,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf nOofPDUSessions { //Stage2 issue: Not defined in 28.541, guessing integer @@ -499,13 +562,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } leaf-list coverageAreaTAList { @@ -546,13 +609,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -562,7 +625,56 @@ submodule _3gpp-ns-nrm-sliceprofile { } } + grouping PositioningRANSubnetGrp { + description "Represents positioning support in RAN domain"; + leaf-list availability { + type enumeration { + enum CIDE_CID ; + enum OTDOA; + enum RF_FINGERPRINTING; + enum AECID; + enum HYBRID_POSITIONING; + enum NET_RTK; + } + config false; + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be + ignored, see NG.116. Values allowed: are + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + Hybrid positioning, NET-RTK."; + } + leaf predictionfrequency { + type enumeration { + enum PERSEC; + enum PERMIN; + enum PERHOUR; + } + mandatory true; + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the + positioning method. + If leaf-list availability is empty, the value has no meaning."; + reference "NG.116"; + } + leaf accuracy { + type decimal64 { + fraction-digits 2; + } + units meter; + mandatory true; + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the + RAN domain of the network slice."; + reference "NG.116"; + } + } + grouping RANSliceSubnetProfileGrp { + description "Represents the RANSliceSubnetProfile datatype"; leaf latency { description "The packet transmission latency (milliseconds) through the RAN, CN, and TN part of 5G network, used to evaluate @@ -589,7 +701,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list uLThptPerUE { description "This attribute defines data rate supported by the @@ -600,7 +712,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:XLThptGrp; + uses ns3cmn3gpp:XLThptGrp; } list maxPktSize { config false; @@ -623,7 +735,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf maxSize { //Stage2 issue: Not defined in 28.541, guessing integer bytes @@ -654,13 +766,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf support { description "An attribute specifies whether or not the network slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; - type ns3cmn:Support-enum; + type ns3cmn3gpp:Support-enum; } } leaf sliceSimultaneousUse { @@ -690,7 +802,7 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf density { type uint32; @@ -775,13 +887,13 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - uses ns3cmn:ServAttrComGrp; + uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; - type ns3cmn:DeterminCommAvailability; + type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML @@ -796,6 +908,14 @@ submodule _3gpp-ns-nrm-sliceprofile { reference "TS 22.104 clause 5"; type string; } + list positioning { + min-elements 1; + max-elements 1; + description "Specifies whether the RAN domain of the network slice + provides geo-localization methods or supporting methods."; + reference "Clause 3.4.20 of NG.116 [50]."; + uses PositioningRANSubnetGrp; + } } grouping SliceProfileGrp { -- GitLab From 209bd6ec1bf2d24d55c2bfb52e3dcf4f743fedbd Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 30 Aug 2021 10:56:07 +0200 Subject: [PATCH 28/40] added cr numbers --- yang-models/_3gpp-ns-nrm-common.yang | 2 +- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-ns-nrm-common.yang b/yang-models/_3gpp-ns-nrm-common.yang index 500328301..3b03adda2 100755 --- a/yang-models/_3gpp-ns-nrm-common.yang +++ b/yang-models/_3gpp-ns-nrm-common.yang @@ -17,7 +17,7 @@ module _3gpp-ns-nrm-common { Information model definitions for network slice NRM (chapter 6) "; - revision 2021-07-16 { reference CR-xxxx ; } + revision 2021-07-16 { reference CR-0566 ; } revision 2021-05-17 { description "Introduction of Common Data types"; reference "CR-0485"; diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 22b54ff8b..cd5247d46 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -19,7 +19,7 @@ submodule _3gpp-ns-nrm-sliceprofile { Information model definitions for network slice NRM (chapter 6) "; - revision 2021-07-16 { reference CR-xxxx ; } + revision 2021-07-16 { reference CR-0566 ; } revision 2021-05-05 { description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; reference "CR-0485"; -- GitLab From bd7a71dd2a52d40b4a6b0ee766e248f3603afd88 Mon Sep 17 00:00:00 2001 From: Brendan Hassett Date: Sun, 29 Aug 2021 14:01:41 +0200 Subject: [PATCH 29/40] S5-214115rev1 Update genericNrm.yaml --- OpenAPI/genericNrm.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/OpenAPI/genericNrm.yaml b/OpenAPI/genericNrm.yaml index 9355f53e9..20b71d0b1 100644 --- a/OpenAPI/genericNrm.yaml +++ b/OpenAPI/genericNrm.yaml @@ -1206,6 +1206,10 @@ components: $ref: '#/components/schemas/TraceJob-Multiple' AlarmList: $ref: '#/components/schemas/AlarmList-Single' + MnsRegistry: + type: array + items: + $ref: '#/components/schemas/MnsRegistry' ManagedElement-ncO: type: object properties: @@ -1342,6 +1346,18 @@ components: TraceJob: $ref: '#/components/schemas/TraceJob-Multiple' + MnsRegistry: + type: object + properties: + mnsLabel: + type: string + mnsType: + type: string + mnsVersion: + type: string + mnsAddress: + type: string + #-------- Definition of concrete IOCs -------------------------------------------- VsDataContainer-Single: -- GitLab From 983ca34d083b54b671febbf4c219ae143f1a31fa Mon Sep 17 00:00:00 2001 From: Brendan Hassett Date: Sun, 29 Aug 2021 14:03:23 +0200 Subject: [PATCH 30/40] Update genericNrm.yaml --- OpenAPI/genericNrm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenAPI/genericNrm.yaml b/OpenAPI/genericNrm.yaml index 20b71d0b1..0911920a2 100644 --- a/OpenAPI/genericNrm.yaml +++ b/OpenAPI/genericNrm.yaml @@ -1208,8 +1208,8 @@ components: $ref: '#/components/schemas/AlarmList-Single' MnsRegistry: type: array - items: - $ref: '#/components/schemas/MnsRegistry' + items: + $ref: '#/components/schemas/MnsRegistry' ManagedElement-ncO: type: object properties: -- GitLab From bf894d087a3a0db4bc09065e02f0c90cab875af9 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Tue, 17 Aug 2021 03:01:26 +0200 Subject: [PATCH 31/40] Update logicInterfaceId of EP_transport --- OpenAPI/sliceNrm.yaml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml index 6e12a4d8b..18473078c 100644 --- a/OpenAPI/sliceNrm.yaml +++ b/OpenAPI/sliceNrm.yaml @@ -465,6 +465,18 @@ components: oneOf: - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + + LogicInterfaceInfo: + type: object + properties: + logicalInterfceType: + type: string + enum: + - VLAN + - MPLS + - Segment + logicalInterfceId: + type: string ServiceProfileList: type: array @@ -549,8 +561,8 @@ components: properties: ipAddress: $ref: '#/components/schemas/IpAddress' - logicInterfaceId: - type: string + logicInterfaceInfo: + $ref: '#/components/schemas/LogicInterfaceInfo' nextHopInfo: type: string qosProfile: -- GitLab From c54b7ede5186deb353f3541592cace6c91862ba4 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Tue, 17 Aug 2021 02:53:23 +0200 Subject: [PATCH 32/40] Fix the issue caused by the updated NetworkSliceSubnet inheritence relationship --- OpenAPI/sliceNrm.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml index 18473078c..6c6f6a233 100644 --- a/OpenAPI/sliceNrm.yaml +++ b/OpenAPI/sliceNrm.yaml @@ -550,6 +550,18 @@ components: $ref: '#/components/schemas/SliceProfileList' epTransportRefList: $ref: 'genericNrm.yaml#/components/schemas/DnList' + priorityLabel: + type: integer + PerfMetricJob: + $ref: 'genericNrm.yaml#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: 'genericNrm.yaml#/components/schemas/ThresholdMonitor-Multiple' + NtfSubscriptionControl: + $ref: 'genericNrm.yaml#/components/schemas/NtfSubscriptionControl-Multiple' + TraceJob: + $ref: 'genericNrm.yaml#/components/schemas/TraceJob-Multiple' + AlarmList: + $ref: 'genericNrm.yaml#/components/schemas/AlarmList-Single' EP_Transport-Single: allOf: -- GitLab From 04557f304d339bbe01564ceaa20b0be53e04f8d7 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Tue, 24 Aug 2021 13:28:51 +0200 Subject: [PATCH 33/40] Update sliceNrm.yaml to remove AlarmList --- OpenAPI/sliceNrm.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml index 6c6f6a233..156255cd0 100644 --- a/OpenAPI/sliceNrm.yaml +++ b/OpenAPI/sliceNrm.yaml @@ -560,8 +560,6 @@ components: $ref: 'genericNrm.yaml#/components/schemas/NtfSubscriptionControl-Multiple' TraceJob: $ref: 'genericNrm.yaml#/components/schemas/TraceJob-Multiple' - AlarmList: - $ref: 'genericNrm.yaml#/components/schemas/AlarmList-Single' EP_Transport-Single: allOf: -- GitLab From e093170350edc052bd71bd1a1c27f246a956112f Mon Sep 17 00:00:00 2001 From: ruiyue Date: Tue, 31 Aug 2021 06:06:51 +0200 Subject: [PATCH 34/40] Update sliceNrm.yaml to remove XXX Control IOC name contained by NetworkSliceSubnet --- OpenAPI/sliceNrm.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml index 156255cd0..046c85abe 100644 --- a/OpenAPI/sliceNrm.yaml +++ b/OpenAPI/sliceNrm.yaml @@ -552,14 +552,6 @@ components: $ref: 'genericNrm.yaml#/components/schemas/DnList' priorityLabel: type: integer - PerfMetricJob: - $ref: 'genericNrm.yaml#/components/schemas/PerfMetricJob-Multiple' - ThresholdMonitor: - $ref: 'genericNrm.yaml#/components/schemas/ThresholdMonitor-Multiple' - NtfSubscriptionControl: - $ref: 'genericNrm.yaml#/components/schemas/NtfSubscriptionControl-Multiple' - TraceJob: - $ref: 'genericNrm.yaml#/components/schemas/TraceJob-Multiple' EP_Transport-Single: allOf: -- GitLab From 43e7333f1ce4ebc7b90ad24789552f4d4730c8d8 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 16 Aug 2021 11:22:08 +0200 Subject: [PATCH 35/40] Add YAML (Rest based) solution set for the CR S5-213508 which proposes to convert the 5QI characteristics datatype to IOC --- OpenAPI/5gcNrm.yaml | 51 ++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/OpenAPI/5gcNrm.yaml b/OpenAPI/5gcNrm.yaml index fd61fca9d..50d31111a 100644 --- a/OpenAPI/5gcNrm.yaml +++ b/OpenAPI/5gcNrm.yaml @@ -265,26 +265,7 @@ components: type: integer exponent: type: integer - FiveQICharacteristics: - type: object - properties: - fiveQIValue: - type: integer - resourceType: - type: string - enum: - - GBR - - NonGBR - priorityLevel: - type: integer - packetDelayBudget: - type: integer - packetErrorRate: - $ref: '#/components/schemas/PacketErrorRate' - averagingWindow: - type: integer - maximumDataBurstVolume: - type: integer + GtpUPathDelayThresholdsType: @@ -1637,6 +1618,32 @@ components: items: $ref: '#/components/schemas/FiveQiDscpMapping' + FiveQICharacteristics-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + fiveQIValue: + type: integer + resourceType: + type: string + enum: + - GBR + - NonGBR + priorityLevel: + type: integer + packetDelayBudget: + type: integer + packetErrorRate: + $ref: '#/components/schemas/PacketErrorRate' + averagingWindow: + type: integer + maximumDataBurstVolume: + type: integer + FiveQICharacteristics-Multiple: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics-Single' Configurable5QISet-Single: allOf: - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' @@ -1649,7 +1656,7 @@ components: configurable5QIs: type: array items: - $ref: '#/components/schemas/FiveQICharacteristics' + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' Dynamic5QISet-Single: allOf: @@ -1663,7 +1670,7 @@ components: dynamic5QIs: type: array items: - $ref: '#/components/schemas/FiveQICharacteristics' + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' GtpUPathQoSMonitoringControl-Single: allOf: -- GitLab From 54965ee45954807a4705045798f2fa83b09bc8d5 Mon Sep 17 00:00:00 2001 From: sunse Date: Mon, 16 Aug 2021 13:42:43 +0200 Subject: [PATCH 36/40] CR 0555 removing "isINEF" --- OpenAPI/5gcNrm.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenAPI/5gcNrm.yaml b/OpenAPI/5gcNrm.yaml index 50d31111a..042b94c04 100644 --- a/OpenAPI/5gcNrm.yaml +++ b/OpenAPI/5gcNrm.yaml @@ -1082,8 +1082,6 @@ components: $ref: '#/components/schemas/ManagedNFProfile' capabilityList: $ref: '#/components/schemas/CapabilityList' - isINEF: - type: boolean isCAPIFSup: type: boolean - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' -- GitLab From f06f97ef1f112a422ca81c89368fa78b0eaa3534 Mon Sep 17 00:00:00 2001 From: sunse Date: Mon, 16 Aug 2021 13:45:44 +0200 Subject: [PATCH 37/40] CR 0555 removing isINEF --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 4 ---- 1 file changed, 4 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index fdb701ed4..7ab28015d 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -43,10 +43,6 @@ module _3gpp-5gc-nrm-neffunction { reference "3GPP TS 23.003"; type string; } - - leaf isINEF { - type boolean; - } leaf isCAPIFSup { type boolean; -- GitLab From 07f79c78c2f908b4948e3fd139f255217d5393e9 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 23 Sep 2021 23:28:49 +0200 Subject: [PATCH 38/40] first part of S5-214053 --- yang-models/_3gpp-5g-common-yang-types.yang | 45 ++++++++++++++++++- yang-models/_3gpp-ns-nrm-networkslice.yang | 4 ++ .../_3gpp-ns-nrm-networkslicesubnet.yang | 5 +++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 9c07b5cf8..7101b213c 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -12,6 +12,7 @@ module _3gpp-5g-common-yang-types { network slicing."; reference "3GPP TS 28.541"; + revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } @@ -72,7 +73,8 @@ module _3gpp-5g-common-yang-types { enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { value 3; - description "Communication to NF service discovered by NRF through SCP as a proxy."; + description "Communication to NF service discovered by NRF through SCP + as a proxy."; } } @@ -102,4 +104,45 @@ module _3gpp-5g-common-yang-types { } } + typedef EnergySavingLoadThresholdT { + type uint32 { + range 0..10000; + } + units 1/10000; + } + + typedef EnergySavingTimeDurationT { + type uint32 { + range 0..900; + } + units seconds; + } + + typedef PhysCellID { + 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 + time zone."; + type string { + pattern "(([01]?[0-9])|(2[0-3])):([0-5][0-9])"; + } + } + + typedef DayOfWeekT { + type enumeration { + enum Monday; + enum Tuesday; + enum Wednesday; + enum Thursday; + enum Friday; + enum Saturday; + enum Sunday; + } + } + } \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslice.yang b/yang-models/_3gpp-ns-nrm-networkslice.yang index d7b0d5044..22ad9c7c5 100755 --- a/yang-models/_3gpp-ns-nrm-networkslice.yang +++ b/yang-models/_3gpp-ns-nrm-networkslice.yang @@ -20,6 +20,10 @@ module _3gpp-ns-nrm-networkslice { Information model definitions for network slice NRM (chapter 6) "; + revision 2020-06-02 { + reference "CR-0485, CR-0508"; + } + revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; reference "CR-0458"; diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 005340362..cb66d1b71 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -23,6 +23,11 @@ module _3gpp-ns-nrm-networkslicesubnet { Information model definitions for network slice NRM (chapter 6) "; + revision 2021-05-05 { + description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + reference "CR-0485"; + } + revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; reference "CR-0458"; -- GitLab From 8efa9cbe0601b2029e6a3c986fbc7f2eee2603ea Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 24 Sep 2021 00:06:41 +0200 Subject: [PATCH 39/40] S5-214053 --- .../_3gpp-nr-nrm-cesmanagementfunction.yang | 413 +++++++++--------- ...3gpp-nr-nrm-cpciconfigurationfunction.yang | 79 ++-- .../_3gpp-nr-nrm-desmanagementfunction.yang | 377 +++++++--------- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 93 ++-- ...3gpp-nr-nrm-dpciconfigurationfunction.yang | 71 +-- ...3gpp-nr-nrm-drachoptimizationfunction.yang | 142 +++--- 6 files changed, 580 insertions(+), 595 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang index 7235d704b..f438d0b22 100755 --- a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -1,256 +1,269 @@ module _3gpp-nr-nrm-cesmanagementfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cesmanagementfunction"; - prefix "cesmanagementfunction3gpp"; + prefix "cesmf3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } - + import _3gpp-5g-common-yang-types { prefix type5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CESManagementFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; + description "Defines the YANG mapping of the CESManagementFunction + Information Object Class (IOC) that is part of the NR Network Resource Model + (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + 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 + duration."; + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow + a cell to enter the energySaving state."; + 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 + provided backup coverage by the candidate cell."; + type type5g3gpp:EnergySavingLoadThresholdT; + } + } grouping CESManagementFunctionGrp { description "Represents the CESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; leaf cesSwitch { - description "This attribute determines whether the Centralized SON energy saving function is enabled or disabled."; - type boolean; + description "This attribute determines whether the Centralized SON energy + saving function is enabled or disabled."; + type boolean; + default true; } - list intraRatEsActivationOriginalCellLoadParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationOriginalCellLoadParametersGrp; - } + 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 + the load needs to have been below the threshold."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - - list intraRatEsActivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n ‘original’ cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationCandidateCellsLoadParametersGrp; - } + 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 + '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 + 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 + saving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - list intraRatEsDeactivationCandidateCellsLoadParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; - } + 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 in energySaving state. The threshold applies in the same way for a + 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 + cells which have been provided backup coverage by the candidate cell."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - list esNotAllowedTimePeriod { - key startTimeandendTime; - description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; - leaf startTimeandendTime {type string;} - container attributes { - uses EsNotAllowedTimePeriodGrp; - } - } + list esNotAllowedTimePeriod { + description "This is a list of time periods during which + inter-RAT energy saving is not allowed"; + key idx; - list interRatEsActivationOriginalCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationOriginalCellParametersGrp; - } + leaf idx { + type uint32; + } + uses EsNotAllowedTimePeriodGrp; } - list interRatEsActivationCandidateCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationCandidateCellParametersGrp; - } + 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 + 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 + [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 + 3GPP TS 36.423 [7]. + + 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' + 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 + 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; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - list interRatEsDeactivationCandidateCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsDeactivationCandidateCellParametersGrp; - } + 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 + 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 + 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] + (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 + threshold should be set in range of 0..100."; + min-elements 1; + max-elements 1; + key loadThreshold; + uses loadTimeThresholdGrp; } + 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. + 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 + coverage by the candidate cell. + + 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 + an original cell to leave the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } leaf energySavingState { - 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 isNotEnergySaving for the energySavingState. "; - type enumeration{ - enum isNotEnergySaving; - enum isEnergySaving; - } + 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 + isNotEnergySaving for the energySavingState. "; + type enumeration{ + enum isNotEnergySaving; + enum isEnergySaving; + } } - leaf energySavingControl { - description "This attribute allows the Cross Domain-Centralized SON energy saving function to initiate energy saving activation or deactivation."; - type enumeration{ - enum toBeEnergySaving; - enum toBeNotEnergySaving; - } - } - - - } - grouping IntraRatEsActivationOriginalCellLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + description "This attribute allows the Cross Domain-Centralized SON + energy saving function to initiate energy saving activation or + deactivation."; + type enumeration{ + enum toBeEnergySaving; + enum toBeNotEnergySaving; + } } } grouping EsNotAllowedTimePeriodGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf startTimeandendTime { - description "This field indicate valid UTC time."; - type string; + 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 + interpreted as around the clock."; + must ../endTime; + type type5g3gpp:UTC24TimeOfDayT; } - - - leaf periodOfDay { - description "This field indicate the period of day."; - type string; + leaf endTime { + 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 daysOfWeekList { - description "This field indicate the list of weekday."; - type string; - } - - leaf listoftimeperiods { - description "This field indicate the list of time periods."; - type string; + leaf-list daysOfWeek { + 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; } - } - grouping InterRatEsActivationOriginalCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + grouping CESManagementFunctionSubtree { + list CESManagementFunction { + 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 + same containment tree."; + reference "clause 6.2.2 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses CESManagementFunctionGrp; + } } } - grouping InterRatEsActivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "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."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsDeactivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "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 coverage by the candidate cell."; - type int32 { range "0..900"; } - units "1"; - } - } - - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses CESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses CESManagementFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } + uses CESManagementFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang index 918c0581f..2a704d3aa 100755 --- a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang @@ -1,7 +1,7 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cpciconfigurationfunction"; - prefix "cpciconfigurationfunction3gpp"; + prefix "cpcicf3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -11,57 +11,64 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the CPCIConfigurationFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; + description "Represents the CPCIConfigurationFunction Information Object + Class(IOC) that is part of the NR Network Resource Model."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } - grouping CPCIConfigurationFunctionGrp { - description "Represents the CPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - - list cSonPciList { - key NRPci; - description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; - leaf NRPci {type int32;} - container attributes { - uses CSonPciListGrp; - } - } - + description "Represents the CPCIConfigurationFunction IOC."; leaf cPciConfigurationControl { - description "This attribute determines whether the Centralized SON PCI configuration function is enabled or disabled."; + description "This attribute determines whether the Centralized SON + PCI configuration function is enabled or disabled."; type boolean; + mandatory true; } + 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. + 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 + configuration is supported."; + reference "See TS 38.211 clause 7.4.2.1"; + } } - grouping CSonPciListGrp { - description "Represents the C-SON PCI list for the PCI configuration function."; - - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; + grouping CPCIConfigurationFunctionSubtree { + list CPCIConfigurationFunction { + 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 + same containment tree."; + reference "clause 7.2.1 in TS 28.313"; + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses CPCIConfigurationFunctionGrp ; + } } } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU { if-feature nrcelldu3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses CPCIConfigurationFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses CPCIConfigurationFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } + uses CPCIConfigurationFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index a69c94e79..6df736c4d 100755 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -1,261 +1,200 @@ module _3gpp-nr-nrm-desmanagementfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-desmanagementfunction"; - prefix "desmanagementfunction3gpp"; - + prefix "desmf3gpp"; import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - + import _3gpp-5g-common-yang-types { prefix type5g3gpp; } 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 Model (NRM)."; + description "Defines the YANG mapping of the DESManagementFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } - - grouping DESManagementFunctionGrp { - description "Represents the DESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf desSwitch { - description "This attribute determines whether the Distributed SON energy saving function is enabled or disabled."; - type boolean; - } - - list intraRatEsActivationOriginalCellLoadParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationOriginalCellLoadParametersGrp; - } - } - - - list intraRatEsActivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationCandidateCellsLoadParametersGrp; - } - } - - list intraRatEsDeactivationCandidateCellsLoadParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; - } - } - - list esNotAllowedTimePeriod { - key startTimeandendTime; - description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; - leaf startTimeandendTime {type string;} - container attributes { - uses EsNotAllowedTimePeriodGrp; - } - } - - list interRatEsActivationOriginalCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationOriginalCellParametersGrp; - } - } - - list interRatEsActivationCandidateCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationCandidateCellParametersGrp; - } - } - - list interRatEsDeactivationCandidateCellParameters { - key loadThreshold; - 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."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsDeactivationCandidateCellParametersGrp; - } - } - - leaf energySavingState { - description "Specifies the status regarding the energy saving in the cell."; - type enumeration { - enum isNotEnergySaving; - enum isEnergySaving; - } - } - - leaf isProbingCapable { - description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; - type enumeration{ - enum yes; - enum no; - } - } - - } - - grouping IntraRatEsActivationOriginalCellLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; + grouping loadTimeThresholdGrp { + description "Represents the the traffic load threshold and the time + duration."; leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + description "This attribute is used by distributed ES algorithms to allow + a cell to enter the energySaving state."; + type type5g3gpp:EnergySavingLoadThresholdT; } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + 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; } } - grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - + grouping DESManagementFunctionGrp { + description "Represents the DESManagementFunction IOC."; - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + leaf desSwitch { + 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 + to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list intraRatEsActivationCandidateCellsLoadParameters { + description "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."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + 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."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list esNotAllowedTimePeriod { + description "This is a list of time periods during which + inter-RAT energy saving is not allowed"; + key idx; + + leaf idx { + type uint32; + } + uses EsNotAllowedTimePeriodGrp; + } + + list interRatEsActivationOriginalCellParameters { + 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; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsActivationCandidateCellParameters { + 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; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsDeactivationCandidateCellParameters { + 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; + max-elements 1; + uses loadTimeThresholdGrp; } - } - - grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + leaf energySavingState { + description "Specifies the status regarding the energy saving in the + cell."; + type enumeration { + enum isNotEnergySaving; + enum isEnergySaving; + } } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } + leaf isProbingCapable { + description "This attribute indicates whether this cell is capable of + performing the ES probing procedure."; + type enumeration{ + enum yes; + enum no; + } + } } grouping EsNotAllowedTimePeriodGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf startTimeandendTime { - description "This field indicate valid UTC time."; - type string; - } - - - leaf periodOfDay { - description "This field indicate the period of day."; - type string; - } - - leaf daysOfWeekList { - description "This field indicate the list of weekday."; - type string; - } - - leaf listoftimeperiods { - description "This field indicate the list of time periods."; - type string; - } - - } - - grouping InterRatEsActivationOriginalCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsActivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "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."; - type int32 { range "0..900"; } - units "1"; + 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 + interpreted as around the clock."; + must ../endTime; + type type5g3gpp:UTC24TimeOfDayT; + } + leaf endTime { + 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 + not set."; + type type5g3gpp:DayOfWeekT; } } - grouping InterRatEsDeactivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "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 coverage by the candidate cell."; - type int32 { range "0..900"; } - units "1"; + grouping DESManagementFunctionSubtree { + list DESManagementFunction { + 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 + containment tree."; + reference "clause 6.2.3.0 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DESManagementFunctionGrp; + } } } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { if-feature gnbcucp3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses DESManagementFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - + uses DESManagementFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index c657f1587..2b7de1349 100755 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -1,7 +1,7 @@ module _3gpp-nr-nrm-dmrofunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dmrofunction"; - prefix "dmrofunction3gpp"; + prefix "dmrof3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -9,62 +9,85 @@ module _3gpp-nr-nrm-dmrofunction { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DMROFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; + description "Defines the YANG mapping of the DMROFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } - grouping DMROFunctionGrp { description "Represents the DMROFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; leaf maximumDeviationHoTrigger { - description "This parameter defines the maximum allowed absolute deviation of the Handover Trigger, from the default point of operation."; - type int32 { range "-20..20"; } - units "0.5"; + description "This parameter defines the maximum allowed absolute + deviation of the Handover Trigger, from the default point of + operation. Range -20 to 20 in .5 dB steps. "; + type string { + pattern '-?((20)|(1?[0-9]))\.[05]'; + // -20.0, -19.5, -19.0, ..., -0.5, 0.0, 0.5, 1.0, ... 19.5, 20.0 + } + units dB; } - leaf minimumTimeBetweenHoTriggerChange { - 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"; + 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 uint32 { + range 0..604800; // <= 1 week + } + units seconds; } - leaf tstoreUEcntxt { - description "The timer used for detection of too early HO, too late HO and HO to wrong cell."; - type int32 { range "0..1023"; } - units "100"; + description "The timer used for detection of too early HO, too late HO + and HO to wrong cell."; + type uint32 { + range 0..1023; + } + units "100 milliseconds"; } - - leaf dmroControl { - description " This attribute determines whether the MRO function is enabled or disabled."; - type boolean; + description "This attribute determines whether the MRO function is + enabled or disabled."; + type boolean; } - } + grouping DMROFunctionSubtree { + list DMROFunction { + description "This IOC contains attributes to support the D-SON function + of MRO. - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { - if-feature nrcellcu3gpp:DMROFunction; - uses DMROFunctionGrp; + 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; + uses top3gpp:Top_Grp; + container attributes { + uses DMROFunctionGrp; + } } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DMROFunction; + uses DMROFunctionSubtree; + } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { if-feature gnbcucp3gpp:DMROFunction; - uses DMROFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses DMROFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:DMROFunction; - uses DMROFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses DMROFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:DMROFunction; - uses DMROFunctionGrp; - } + uses DMROFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang index a150af4b7..806b0d659 100755 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -1,69 +1,76 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dpciconfigurationfunction"; - prefix "dpciconfigurationfunction3gpp"; + prefix "dpcicf3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5g-common-yang-types { prefix type5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DPCIConfigurationFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; + description "Defines the YANG mapping of the DPCIConfigurationFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-25 { reference CR-0386 ; } revision 2020-05-08 { reference S5-203316; } - grouping DPCIConfigurationFunctionGrp { description "Represents the DPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - 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 + PCI configuration function is supported."; key NRPci; - 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 PCI configuration function is supported."; - leaf NRPci {type int32;} - container attributes { - uses NRPciListGrp; - } + leaf NRPci { + type type5g3gpp:PhysCellID; + } } - leaf dPciConfigurationControl { - description " This attribute determines whether the Distributed SON PCI configuration Function is enabled or disabled."; - type boolean; + description "This attribute determines whether the Distributed SON PCI + configuration Function is enabled or disabled."; + type boolean; } - } - grouping NRPciListGrp { - description "Represents the NR PCI list for the PCI configuration function."; + grouping DPCIConfigurationFunctionSubtree { + list DPCIConfigurationFunction { + description "This IOC contains attributes to support the Distributed SON + function of PCI configuration. - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; + 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; + uses top3gpp:Top_Grp; + container attributes { + uses DPCIConfigurationFunctionGrp; + } } } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses DPCIConfigurationFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses DPCIConfigurationFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:DPCIConfigurationFunction; - uses DPCIConfigurationFunctionGrp; - } + uses DPCIConfigurationFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index 7ef35373c..314372c38 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -1,7 +1,7 @@ module _3gpp-nr-nrm-drachoptimizationfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-drachoptimizationfunction"; - prefix "drachoptimizationfunction3gpp"; + prefix "dracho3gpp"; import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -11,110 +11,106 @@ 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 Model (NRM)."; + description "Defines the YANG mapping of the DRACHOptimizationFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + 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; } - grouping DRACHOptimizationFunctionGrp { - description "Represents the DRACHOptimizationFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - list ueAccProbilityDist { - key targetProbability; - description "This is a list of target Access Probability (APn) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccProbilityDistGrp; - } - } - - list ueAccDelayProbilityDist { - key targetProbability; - description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccDelayProbilityDistGrp; - } - } - - leaf drachOptimizationControl { - description "This attribute determines whether the RACH Optimization function is enabled or disabled."; - type boolean; - } - } - typedef TargetProbability { - type enumeration { + typedef TargetProbabilityT { + type enumeration { enum 25; enum 50; enum 75; enum 90; } } - - typedef Numberofpreamblessent { - type int32 { range "1..200"; } - units "1"; + typedef NumberofpreamblessentT { + type uint32 { + range "1..200"; + } } - - typedef Accessdelay { - type int32 { range "10..560"; } - units "1"; + typedef AccessdelayT { + type uint32 { + range "10..560"; + } } - - - grouping UeAccProbilityDistGrp { - description "Represents the target Access Probability (APn) for the RACH optimization function."; + grouping NumPreableAccessDelayGrp { + description "Represents the target Access Probability (APn) for the RACH + optimization function."; leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbabilityT; } - - leaf numberofpreamblessent { - description "This attribute determines the number of preambles sent."; - mandatory true; - type Numberofpreamblessent; + description "This attribute determines the number of preambles sent."; + mandatory true; + type NumberofpreamblessentT; } } - grouping UeAccDelayProbilityDistGrp { - description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; + grouping DRACHOptimizationFunctionGrp { + description "Represents the DRACHOptimizationFunction IOC."; - leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; + list ueAccProbilityDist { + description "This is a list of target Access Probability (APn) for the + RACH optimization function."; + key "targetProbability numberofpreamblessent"; + uses NumPreableAccessDelayGrp; } + list ueAccDelayProbilityDist { + 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 + function is enabled or disabled."; + type boolean; + } + } - - leaf accessdelay { - description "This attribute determines the access delay."; - mandatory true; - type Accessdelay; + grouping DRACHOptimizationFunctionSubtree { + list DRACHOptimizationFunction { + 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 + same containment tree."; + reference "clause 6.2.2 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DRACHOptimizationFunctionGrp; + } } } - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/"+ + "nrcelldu3gpp:NRCellDU" { if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { if-feature gnbdu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/me3gpp:ManagedElement" { if-feature me3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/subnet3gpp:SubNetwork" { if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } } \ No newline at end of file -- GitLab From 0032d2835382c47bc402c077b40ef71d77c9a3c9 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 29 Sep 2021 10:39:31 +0200 Subject: [PATCH 40/40] SA5-138e 28.623 updates pulled into the Rel17_draft branch --- yang-models/_3gpp-common-fm.yang | 2 +- yang-models/_3gpp-common-measurements.yang | 516 +++++++++++---------- yang-models/_3gpp-common-subnetwork.yang | 2 +- yang-models/_3gpp-common-trace.yang | 486 +++++++++++-------- 4 files changed, 566 insertions(+), 440 deletions(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index c6b4d33cb..fc1b0d0f7 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -115,7 +115,7 @@ module _3gpp-common-fm { } leaf notificationId { - type string; + type int32; config false ; mandatory true; } diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 30627565c..96893e6c3 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -1,84 +1,85 @@ module _3gpp-common-measurements { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-measurements"; prefix "meas3gpp"; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines Measurement and KPI related groupings Any list/class intending to use this should include 2 or 3 uses statements controlled by a feature: - - A) + + A) +++ feature MeasurementsUnderMyClass { -+++ description 'Indicates whether measurements and/or KPIs are supported ++++ description 'Indicates whether measurements and/or KPIs are supported +++ for this class.'; +++ } - - B) include the attribute measurementsList and/or kPIsList indicating the - supported measurment and KPI types and GPs. Note that for classes - inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are + + B) include the attribute measurementsList and/or kPIsList indicating the + supported measurment and KPI types and GPs. Note that for classes + inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are already inherited, so there is no need to include them once more. E.g. - + +++ grouping MyClassGrp { +++ uses meas3gpp:SupportedPerfMetricGroup; +++ } - - C) include the class PerfmetricJob to control the measurements/KPIs. E.g. - + + C) include the class PerfmetricJob to control the measurements/KPIs. E.g. + list MyClass { container attributes { uses MyClassGrp; } +++ uses meas3gpp:MeasurementSubtree { +++ if-feature MeasurementsUnderMyClass ; -+++ } ++++ } } - + Measurements can be contained under ManagedElement, SubNetwork, or - any list representing a class inheriting from Subnetwork or + any list representing a class inheriting from Subnetwork or ManagedFunction. Note: KPIs will only be supported under SubNetwork"; - + 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)"; + revision 2021-07-22 { reference "CR-0137"; } revision 2020-11-06 { reference "CR-0118"; } - revision 2020-09-04 { reference "CR-000107"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2020-09-04 { reference "CR-000107"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2020-05-31 { reference "CR-0084"; } revision 2020-03-11 { reference "S5-201581, SP-200229"; } revision 2019-11-21 { reference "S5-197275, S5-197735"; } revision 2019-10-28 { reference "S5-193516"; } - revision 2019-06-17 { } - + revision 2019-06-17 { reference " "; } + grouping ThresholdInfoGrp { description "Defines a single threshold level."; - + leaf-list measurementTypes { type string; - description "The Measurement type can be those specified in TS 28.552, - TS 32.404 and can be those specified by other SDOs or can be + description "The Measurement type can be those specified in TS 28.552, + TS 32.404 and can be those specified by other SDOs or can be vendor-specific."; } - + leaf thresholdLevel { type uint64; mandatory true; - description "Number (key) for a single threshold in the threshold list + description "Number (key) for a single threshold in the threshold list applicable to the monitored performance metric."; } - + leaf thresholdDirection { type enumeration { enum UP; @@ -86,32 +87,32 @@ module _3gpp-common-measurements { enum UP_AND_DOWN; } must '. = "UP_AND_DOWN" or not(../hysteresis)' { - error-message "In case a threshold with hysteresis is configured, the " + error-message "In case a threshold with hysteresis is configured, the " +"threshold direction attribute shall be set to 'UP_AND_DOWN'."; } mandatory true; - description "Direction of a threshold indicating the direction for which + description "Direction of a threshold indicating the direction for which a threshold crossing triggers a threshold. - When the threshold direction is configured to 'UP', the associated - treshold is triggered only when the performance metric value is going - up upon reaching or crossing the threshold value. The treshold is not - triggered, when the performance metric is going down upon reaching or + When the threshold direction is configured to 'UP', the associated + treshold is triggered only when the performance metric value is going + up upon reaching or crossing the threshold value. The treshold is not + triggered, when the performance metric is going down upon reaching or crossing the threshold value. - Vice versa, when the threshold direction is configured to 'DOWN', the - associated treshold is triggered only when the performance metric is - going down upon reaching or crossing the threshold value. The treshold - is not triggered, when the performance metric is going up upon reaching + Vice versa, when the threshold direction is configured to 'DOWN', the + associated treshold is triggered only when the performance metric is + going down upon reaching or crossing the threshold value. The treshold + is not triggered, when the performance metric is going up upon reaching or crossing the threshold value. - When the threshold direction is set to 'UP_AND_DOWN' the treshold is + When the threshold direction is set to 'UP_AND_DOWN' the treshold is active in both direcions. - In case a threshold with hysteresis is configured, the threshold + In case a threshold with hysteresis is configured, the threshold direction attribute shall be set to 'UP_AND_DOWN'."; } - + leaf thresholdValue { type union { type int64; @@ -120,10 +121,10 @@ module _3gpp-common-measurements { } } mandatory true; - description "Value against which the monitored performance metric is + description "Value against which the monitored performance metric is compared at a threshold level in case the hysteresis is zero"; } - + leaf hysteresis { type union { type uint64; @@ -132,63 +133,65 @@ module _3gpp-common-measurements { range "0..max"; } } - 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 + 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 against a high and low threshold value given by threshold-high = thresholdValue + hysteresis threshold-low = thresholdValue - hysteresis - When going up, the threshold is triggered when the performance metric - reaches or crosses the high threshold value. When going down, the - hreshold is triggered when the performance metric reaches or crosses + When going up, the threshold is triggered when the performance metric + reaches or crosses the high threshold value. When going down, the + hreshold is triggered when the performance metric reaches or crosses the low threshold value. - A hysteresis may be present only when the monitored performance - metric is not of type counter that can go up only. If present + A hysteresis may be present only when the monitored performance + metric is not of type counter that can go up only. If present for a performance metric of type counter, it shall be ignored."; } } - - grouping SupportedPerfMetricGroupGrp { + + grouping SupportedPerfMetricGroupGrp { list SupportedPerfMetricGroup { config false; - description "Captures a group of supported performance metrics and + description "Captures a group of supported performance metrics and associated parameters related to their production and reporting. - A SupportedPerfMetricGroup attribute which is part of an MOI may - define performanceMetrics for any MOI under the subtree contained - under that MOI, e.g. SupportedPerfMetricGroup on a ManagedElement - can specify supported metrics for contained ManagedFunctions + A SupportedPerfMetricGroup attribute which is part of an MOI may + define performanceMetrics for any MOI under the subtree contained + under that MOI, e.g. SupportedPerfMetricGroup on a ManagedElement + can specify supported metrics for contained ManagedFunctions like a GNBDUFunction."; - + leaf-list performanceMetrics { type string; min-elements 1; - description "Performance metrics include measurements defined in - TS 28.552 and KPIs defined in TS 28.554. Performance metrics can - also be those specified by other SDOs or vendor specific metrics. - Performance metrics are identfied with their names. A name can also - identify a vendor specific group of performance metrics. + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be specified by other SDOs or be vendor specific. + Performance metrics are identfied with their names. - For measurements defined in TS 28.552 the name is constructed as + For measurements defined in TS 28.552 the name is constructed as follows: - - 'family.measurementName.subcounter' for measurement types with + - 'family.measurementName.subcounter' for measurement types with subcounters - 'family.measurementName' for measurement types without subcounters - 'family' for measurement families - For KPIs defined in TS 28.554 the name is defined in the KPI - definitions template as the component designated with e)."; + For KPIs defined in TS 28.554 the name is defined in the KPI + definitions template as the component designated with e). + + A name can also identify a vendor specific performance metric or a + group of vendor specific performance metrics."; } - + leaf-list granularityPeriods { type uint32 { range 1..max ; } units seconds; } - + leaf-list reportingMethods { type enumeration { enum FILE_BASED_LOC_SET_BY_PRODUCER; @@ -197,13 +200,13 @@ module _3gpp-common-measurements { } min-elements 1; } - + leaf-list monitorGranularityPeriods { type uint32 { range 1..max ; } units seconds; - description "Granularity periods supported for the monitoring of + description "Granularity periods supported for the monitoring of associated measurement types for thresholds"; } } @@ -211,88 +214,88 @@ module _3gpp-common-measurements { grouping PerfMetricJobGrp { description "Represents the attributtes of the IOC PerfMetricJob"; - + leaf administrativeState { default UNLOCKED; type types3gpp:AdministrativeState ; description "Enable or disables production of the metrics"; } - + leaf operationalState { config false; mandatory true; type types3gpp:OperationalState ; description "Indicates whether the PerfMetricJob is working."; - } + } leaf jobId { type string; description "Id for a PerfMetricJob job."; } - leaf-list performanceMetrics { + leaf-list performanceMetrics { type string; min-elements 1; - description "Performance metrics include measurements defined in - TS 28.552 and KPIs defined in TS 28.554. Performance metrics can - also be those specified by other SDOs or vendor specific metrics. - Performance metrics are identfied with their names. A name can also + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be those specified by other SDOs or vendor specific metrics. + Performance metrics are identfied with their names. A name can also identify a vendor specific group of performance metrics. - For measurements defined in TS 28.552 the name is constructed as + For measurements defined in TS 28.552 the name is constructed as follows: - - 'family.measurementName.subcounter' for measurement types with + - 'family.measurementName.subcounter' for measurement types with subcounters - 'family.measurementName' for measurement types without subcounters - 'family' for measurement families - For KPIs defined in TS 28.554 the name is defined in the KPI + For KPIs defined in TS 28.554 the name is defined in the KPI definitions template as the component designated with e)."; } - + leaf granularityPeriod { type uint32 { range 1..max ; } units seconds; mandatory true; - description "Granularity period used to produce measurements. The value + description "Granularity period used to produce measurements. The value must be one of the supported granularity periods for the metric."; } leaf-list objectInstances { type types3gpp:DistinguishedName; } - + leaf-list rootObjectInstances { type types3gpp:DistinguishedName; - description "Each object instance designates the root of a subtree that + description "Each object instance designates the root of a subtree that contains the root object and all descendant objects."; } - + choice reportingCtrl { mandatory true; - description "This choice defines the method for reporting collected - performance metrics to MnS consumers as well as the parameters for - configuring the reporting function. It is a choice between the control - parameter required for the reporting methods, whose presence selects + description "This choice defines the method for reporting collected + performance metrics to MnS consumers as well as the parameters for + configuring the reporting function. It is a choice between the control + parameter required for the reporting methods, whose presence selects the reporting method as follows: - - When only the fileReportingPeriod attribute is present, the MnS - producer shall store files on the MnS producer at a location selected - by the MnS producer and inform the MnS consumer about the availability - of new files and the file location using the notifyFileReady + - When only the fileReportingPeriod attribute is present, the MnS + producer shall store files on the MnS producer at a location selected + by the MnS producer and inform the MnS consumer about the availability + of new files and the file location using the notifyFileReady notification. - - When only the fileReportingPeriod and fileLocation attributes are - present, the MnS producer shall store the files on the MnS consumer at - the location specified by fileLocation. No notification is emitted by + - When only the fileReportingPeriod and fileLocation attributes are + present, the MnS producer shall store the files on the MnS consumer at + the location specified by fileLocation. No notification is emitted by the MnS producer. - - When only the streamTarget attribute is present, the MnS producer + - When only the streamTarget attribute is present, the MnS producer shall stream the data to the location specified by streamTarget. - - For the file-based reporting methods the fileReportingPeriod attribute - specifies the time window during which collected measurements are stored + + For the file-based reporting methods the fileReportingPeriod attribute + specifies the time window during which collected measurements are stored into the same file before the file is closed and a new file is opened."; - + case file-based-reporting { leaf fileReportingPeriod { type uint32 { @@ -300,22 +303,22 @@ module _3gpp-common-measurements { } units minutes; must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { - error-message - "The time-period must be a multiple of the granularityPeriod."; - } + error-message + "The time-period must be a multiple of the granularityPeriod."; + } mandatory true; - description "For the file-based reporting method this is the time - window during which collected measurements are stored into the same - file before the file is closed and a new file is opened. + description "For the file-based reporting method this is the time + window during which collected measurements are stored into the same + file before the file is closed and a new file is opened. The time-period must be a multiple of the granularityPeriod. - + Applicable when the file-based reporting method is supported"; } - - leaf fileLocation { + + leaf fileLocation { type string ; - description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the MnS + description "Applicable and must be present when the file-based + reporting method is supported, and the files are stored on the MnS consumer."; } } @@ -323,17 +326,17 @@ module _3gpp-common-measurements { leaf streamTarget { type string; mandatory true; - description "Applicable when stream-based reporting method is + description "Applicable when stream-based reporting method is supported."; } } } } - + grouping ThresholdMonitorGrp { - description "A threshold monitor that is created by the consumer for - the monitored entities whose measurements are required by consumer + description "A threshold monitor that is created by the consumer for + the monitored entities whose measurements are required by consumer to monitor."; leaf administrativeState { @@ -341,202 +344,221 @@ module _3gpp-common-measurements { type types3gpp:AdministrativeState ; description "Enables or disables the ThresholdMonitor."; } - + leaf operationalState { config false; mandatory true; type types3gpp:OperationalState ; description "Indicates whether the ThresholdMonitor is working."; - } + } list thresholdInfoList { - key idx; + key idx; min-elements 1; leaf idx { type uint32 ; } - uses ThresholdInfoGrp; + uses ThresholdInfoGrp; } - + leaf monitorGranularityPeriod { type uint32 { range "1..max"; } units second; - mandatory true; - description " Granularity period used to monitor measurements for + mandatory true; + description " Granularity period used to monitor measurements for threshold crossings. "; } - + leaf-list objectInstances { type types3gpp:DistinguishedName; } - + leaf-list rootObjectInstances { type types3gpp:DistinguishedName; - description "Each object instance designates the root of a subtree that + description "Each object instance designates the root of a subtree that contains the root object and all descendant objects."; - } + } } - + grouping MeasurementSubtree { - description "Contains classes that define measurements. - Should be used in all classes (or classes inheriting from) + description "Contains classes that define measurements. + Should be used in all classes (or classes inheriting from) - SubNnetwork - ManagedElement - ManagedFunction - - If a YANG module wants to augment these classes/list/groupings they must + + If a YANG module wants to augment these classes/list/groupings they must augment all user classes! - - If a class uses this grouping in its list it shall also use the - grouping SupportedPerfMetricGroupGrp to add SupportedPerfMetricGroup as + + If a class uses this grouping in its list it shall also use the + grouping SupportedPerfMetricGroupGrp to add SupportedPerfMetricGroup as an attribute to its grouping"; - + list PerfMetricJob { - description "This IOC represents a performance metric production job. It + description "This IOC represents a performance metric production job. It can be name-contained by SubNetwork, ManagedElement, or ManagedFunction. - - To activate the production of the specified performance metrics, a MnS - consumer needs to create a PerfMetricJob instance on the MnS producer - and ensure that the adminState is sUNLOCKED>. - For ultimate deactivation of metric production, the MnS consumer should + + To activate the production of the specified performance metrics, a MnS + consumer needs to create a PerfMetricJob instance on the MnS producer. + For ultimate deactivation of metric production, the MnS consumer should delete the job to free up resources on the MnS producer. - - For temporary suspension of metric production, the MnS consumer can - manipulate the value of the administrative state attribute. The MnS - producer may disable metric production as well, for example in overload - situations. This situation is indicated by the MnS producer with setting - the operational state attribute to disabled. When production is resumed - the operational state is set again to enabled. - + + For temporary suspension of metric production, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable metric production as well, for example in overload + situations. This situation is indicated by the MnS producer with setting + the operational state attribute to disabled. When production is resumed + the operational state is set back to enabled. + The jobId attribute can be used to associate metrics from multiple - PerfMetricJob instances. The jobId can be included when reporting - performance metrics to allow a MnS consumer to associate received - metrics for the same purpose. For example, it is possible to configure - the same jobId value for multiple PerfMetricJob instances required to - produce the measurements for a specific KPI. - - The attribute performanceMetrics defines the performance metrics to be - produced and the attribute granularityPeriod defines the granularity - period to be applied. - - All object instances below and including the instance name-containing - the PerfMetricJob (base object instance) are scoped for performance - metric production. Performance metrics are produced only on those object - instances whose object class matches the object class associated to the + PerfMetricJob instances. The jobId can be included when reporting + performance metrics to allow a MnS consumer to associate received + metrics for the same purpose. For example, it is possible to configure + the same jobId value for multiple PerfMetricJob instances required to + produce the measurements for a specific KPI. + + The attribute performanceMetrics defines the performance metrics to be + produced and the attribute granularityPeriod defines the granularity + period to be applied. + + All object instances below and including the instance name-containing + the PerfMetricJob (base object instance) are scoped for performance + metric production. Performance metrics are produced only on those object + instances whose object class matches the object class associated to the performance metrics to be produced. - The attributes objectInstances and rootObjectInstances allow to restrict - the scope. When the attribute objectInstances is present, only the object - instances identified by this attribute are scoped. When the attribute - rootObjectInstances is present, then the subtrees whose root objects are - identified by this attribute are scoped. Both attributes may be present - at the same time meaning the total scope is equal to the sum of both - scopes. Object instances may be scoped by both the objectInstances and - rootObjectInstances attributes. This shall not be considered as an error - by the MnS producer. - - When the performance metric requires performance metric production on - multiple managed objects, which is for example the case for KPIs, the - MnS consumer needs to ensure all required objects are scoped. Otherwise + The attributes objectInstances and rootObjectInstances allow to restrict + the scope. When the attribute objectInstances is present, only the object + instances identified by this attribute are scoped. When the attribute + rootObjectInstances is present, then the subtrees whose root objects are + identified by this attribute are scoped. Both attributes may be present + at the same time meaning the total scope is equal to the sum of both + scopes. Object instances may be scoped by both the objectInstances and + rootObjectInstances attributes. This shall not be considered as an error + by the MnS producer. + + When the performance metric requires performance metric production on + multiple managed objects, which is for example the case for KPIs, the + MnS consumer needs to ensure all required objects are scoped. Otherwise a PerfMetricJob creation request shall fail. - The attribute reportingCtrl specifies the method and associated control - parameters for reporting the produced measurements 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 measurements 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. - A PerfMetricJob creation request shall fail, when the requested - performance metrics, the requested granularity period, the requested - repoting method, or the requested combination thereof is not supported + For file-based reporting, all performance metrics that are produced + related to a 'PerfMetricJob' instance for a reporting period shall be + stored in a single reporting file. + + When the administrative state is set to 'UNLOCKED' after the creation + of a 'PerfMetricJob' the first granularity period shall start. When + the administrative state is set to 'LOCKED' or the operational state + to 'DISABLED', the ongoing reporting period shall be aborted, for + streaming the ongoing granularity period. When the administrative + state is set back to 'UNLOCKED' or the operational state to 'ENABLED' + a new reporting period period shall start, in case of streaming a new + granularity period. + + Changes of all other configurable attributes shall take effect only at + the beginning of the next reporting period, for streaming at the + beginning of the next granularity period. + + When the 'PerfMetricJob' is deleted, the ongoing reporting period shall + be aborted, for streaming the ongoing granularity period. + + A PerfMetricJob creation request shall fail, when the requested + performance metrics, the requested granularity period, the requested + repoting method, or the requested combination thereof is not supported by the MnS producer. - Creation and deletion of PerfMetricJob instances by MnS consumers is - optional; when not supported, PerfMetricJob instances may be created and + Creation and deletion of PerfMetricJob instances by MnS consumers is + optional; when not supported, PerfMetricJob instances may be created and deleted by the system or be pre-installed."; - key id; - uses top3gpp:Top_Grp ; + key id; + uses top3gpp:Top_Grp ; container attributes { uses PerfMetricJobGrp ; - } + } } - + list ThresholdMonitor { - key id; - description "Represents a threshold monitor for performance metrics. - It can be contained by SubNetwork, ManagedElement, or ManagedFunction. - A threshold monitor checks for threshold crossings of performance metric + key id; + description "Represents a threshold monitor for performance metrics. + It can be contained by SubNetwork, ManagedElement, or ManagedFunction. + A threshold monitor checks for threshold crossings of performance metric values and generates a notification when that happens. - To activate threshold monitoring, a MnS consumer needs to create a - ThresholdMonitor instance on the MnS producer. For ultimate deactivation - of threshold monitoring, the MnS consumer should delete the monitor to + To activate threshold monitoring, a MnS consumer needs to create a + ThresholdMonitor instance on the MnS producer. For ultimate deactivation + of threshold monitoring, the MnS consumer should delete the monitor to free up resources on the MnS producer. - For temporary suspension of threshold monitoring, the MnS consumer can - manipulate the value of the administrative state attribute. The MnS - producer may disable threshold monitoring as well, for example in - overload situations. This situation is indicated by the MnS producer with - setting the operational state attribute to disabled. When monitoring is + For temporary suspension of threshold monitoring, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable threshold monitoring as well, for example in + overload situations. This situation is indicated by the MnS producer with + setting the operational state attribute to disabled. When monitoring is resumed the operational state is set again to enabled. - All object instances below and including the instance containing the - ThresholdMonitor (base object instance) are scoped for performance - metric production. Performance metrics are monitored only on those - object instances whose object class matches the object class associated + All object instances below and including the instance containing the + ThresholdMonitor (base object instance) are scoped for performance + metric production. Performance metrics are monitored only on those + object instances whose object class matches the object class associated to the performance metrics to be monitored. - - The optional attributes objectInstances and rootObjectInstances allow to - restrict the scope. When the attribute objectInstances is present, only - the object instances identified by this attribute are scoped. When the - attribute rootObjectInstances is present, then the subtrees whose root - objects are identified by this attribute are scoped. Both attributes may - be present at the same time meaning the total scope is equal to the sum - of both scopes. Object instances may be scoped by both the objectInstances - and rootObjectInstances attributes. This shall not be considered as an + + The optional attributes objectInstances and rootObjectInstances allow to + restrict the scope. When the attribute objectInstances is present, only + the object instances identified by this attribute are scoped. When the + attribute rootObjectInstances is present, then the subtrees whose root + objects are identified by this attribute are scoped. Both attributes may + be present at the same time meaning the total scope is equal to the sum + of both scopes. Object instances may be scoped by both the objectInstances + and rootObjectInstances attributes. This shall not be considered as an error by the MnS producer. - Multiple thresholds can be defined for multiple performance metric sets - in a single monitor using thresholdInfoList. The attribute + 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. - Each threshold is identified with a number (key) called thresholdLevel. - A threshold is defined using the attributes thresholdValue , + Each threshold is identified with a number (key) called thresholdLevel. + A threshold is defined using the attributes thresholdValue , thresholdDirection and hysteresis. - When hysteresis is absent or carries no information, a threshold is - triggered when the thresholdValue is reached or crossed. When hysteresis - is present, two threshold values are specified for the threshold as - follows: A high treshold value equal to the threshold value plus the - hysteresis value, and a low threshold value equal to the threshold value - minus the hysteresis value. When the monitored performance metric - increases, the threshold is triggered when the high threshold value is - reached or crossed. When the monitored performance metric decreases, the - threshold is triggered when the low threshold value is reached or crossed. - The hsyteresis ensures that the performance metric value can oscillate - around a comparison value without triggering each time the threshold when + When hysteresis is absent or carries no information, a threshold is + triggered when the thresholdValue is reached or crossed. When hysteresis + is present, two threshold values are specified for the threshold as + follows: A high treshold value equal to the threshold value plus the + hysteresis value, and a low threshold value equal to the threshold value + minus the hysteresis value. When the monitored performance metric + increases, the threshold is triggered when the high threshold value is + reached or crossed. When the monitored performance metric decreases, the + threshold is triggered when the low threshold value is reached or crossed. + The hsyteresis ensures that the performance metric value can oscillate + around a comparison value without triggering each time the threshold when the threshold value is crossed. - Using the thresholdDirection attribute a threshold can be configured in - such a manner that it is triggered only when the monitored performance + Using the thresholdDirection attribute a threshold can be configured in + such a manner that it is triggered only when the monitored performance metric is going up or down upon reaching or crossing the threshold. - A ThresholdMonitor creation request shall be rejected, if the performance - metrics requested to be monitored, the requested granularity period, or - the requested combination thereof is not supported by the MnS producer. - A creation request may fail, when the performance metrics requested to be + A ThresholdMonitor creation request shall be rejected, if the performance + metrics requested to be monitored, the requested granularity period, or + the requested combination thereof is not supported by the MnS producer. + A creation request may fail, when the performance metrics requested to be monitored are not produced by a PerfMetricJob. - Creation and deletion of ThresholdMonitor instances by MnS consumers is - optional; when not supported, ThresholdMonitor instances may be created + Creation and deletion of ThresholdMonitor instances by MnS consumers is + optional; when not supported, ThresholdMonitor instances may be created and deleted by the system or be pre-installed."; - - uses top3gpp:Top_Grp ; + + uses top3gpp:Top_Grp ; container attributes { uses ThresholdMonitorGrp ; - } + } } - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 36776b38a..53739e61c 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -211,4 +211,4 @@ module _3gpp-common-subnetwork { // augment external parts here } -} \ No newline at end of file +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 13b3f026d..84ae422ee 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -1,31 +1,32 @@ module _3gpp-common-trace { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-trace"; prefix "trace3gpp"; - + 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"; - + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Trace handling"; 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)"; - revision 2021-01-25 { reference "CR-0122"; } + revision 2021-07-22 { reference "CR-0137"; } + revision 2021-01-25 { reference "CR-0122"; } revision 2020-11-16 { reference "CR-0117"; } - revision 2020-08-06 { reference "CR-0102"; } - + revision 2020-08-06 { reference "CR-0102"; } + grouping TraceJobGrp { leaf tjJobType { type enumeration { @@ -38,14 +39,14 @@ module _3gpp-common-trace { enum LOGGED_MBSFN_MDT; } default TRACE_ONLY; - description "Specifies the MDT mode and it specifies also whether the - TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined - Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and - RLF reporting."; - reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the + description "Specifies the MDT mode and it specifies also whether the + TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined + Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and + RLF reporting."; + reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the allowed values."; } - + list tjListOfInterfaces { key idx; must 'count(MSCServerInterfaces)+count(MGWInterfaces)+count(RNCInterfaces)' @@ -59,16 +60,17 @@ module _3gpp-common-trace { +'+count(NEFInterfaces)+count(NRFInterfaces)+count(NSSFInterfaces)' +'+count(PCFInterfaces)+count(SMFInterfaces)+count(SMSFInterfaces)' +'+count(UDMInterfaces)+count(UPFInterfaces)+count(ng-eNBInterfaces)' - +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)+count(gNB-DUInterfaces)'; - - description "Specifies the interfaces that need to be traced in the given - ManagedEntityFunction.The attribute is applicable only for Trace. In + +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)' + +'+count(gNB-DUInterfaces)'; + + description "Specifies the interfaces that need to be traced in the given + ManagedEntityFunction.The attribute is applicable only for Trace. In case this attribute is not used, it carries a null semantic."; - reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the + reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the allowed values."; - - leaf idx { type uint32 ; } - + + leaf idx { type uint32 ; } + leaf-list MSCServerInterfaces { type enumeration { enum A ; @@ -375,35 +377,35 @@ module _3gpp-common-trace { enum GNB_CU_UP; enum GNB_DU; } - description "Specifies in which type of ManagedFunction the trace should - be activated. The attribute is applicable only for Trace with - Signalling Based Trace activation. In case this attribute is not used, + description "Specifies in which type of ManagedFunction the trace should + be activated. The attribute is applicable only for Trace with + Signalling Based Trace activation. In case this attribute is not used, it carries a null semantic"; - reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the + reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the allowed values"; } - + leaf tjPLMNTarget { type string; mandatory true; - description "Specifies which PLMN that the subscriber of the session to - be recorded uses as selected PLMN. PLMN Target might differ from the + description "Specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN. PLMN Target might differ from the PLMN specified in the Trace Reference"; reference "Clause 5.9b of 3GPP TS 32.422"; } - + leaf tjStreamingTraceConsumerURI { when './tjTraceReportingFormat = "STREAMING"'; type inet:uri; mandatory true; - description "URI of the Streaming Trace data reporting MnS consumer - (a.k.a. streaming target). - This attribute shall be present if file based trace data reporting is - supported and tjTraceReportingFormat set to 'file based' or when + description "URI of the Streaming Trace data reporting MnS consumer + (a.k.a. streaming target). + This attribute shall be present if file based trace data reporting is + supported and tjTraceReportingFormat set to 'file based' or when tjJobType is set to Logged MDT or Logged MBSFN MDT."; reference "Clause 5.9 of 3GPP TS 32.422"; } - + leaf tjTraceCollectionEntityAddress { when './tjTraceReportingFormat = "FILE_BASED" or ' +'./tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; @@ -412,41 +414,51 @@ module _3gpp-common-trace { type inet:ip-address; } mandatory true; - description "Specifies the address of the Trace Collection Entity when - the attribute tjTraceReportingFormat is configured for the file-based + description "Specifies the address of the Trace Collection Entity when + the attribute tjTraceReportingFormat 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 tjTraceDepth { - when './tjJobType = "TRACE_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "TRACE_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum MINIMUM; enum MEDIUM; enum MAXIMUM; enum VENDORMINIMUM; enum VENDORMEDIUM; - enum VENDORMAXIMUM; + enum VENDORMAXIMUM; } default MAXIMUM; - description "Specifies how detailed information should be recorded in the - Network Element. The Trace Depth is a paremeter for Trace Session level, - i.e., the Trace Depth is the same for all of the NEs to be traced in + description "Specifies how detailed information should be recorded in the + Network Element. The Trace Depth is a paremeter for Trace Session level, + i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. - The attribute is applicable only for Trace, otherwise it carries a null + The attribute is applicable only for Trace, otherwise it carries a null semantic."; reference "Clause 5.3 of 3GPP TS 32.422"; } - + leaf tjTraceReference { type uint64; mandatory true; - description "A globally unique identifier, which uniquely identifies the - Trace Session that is created by the TraceJob. - In case of shared network, it is the MCC and MNC of the Participating + description "A globally unique identifier, which uniquely identifies the + Trace Session that is created by the TraceJob. + In case of shared network, it is the MCC and MNC of the Participating Operator that request the trace session that shall be provided. The attribute is applicable for both Trace and MDT."; } + + leaf tjTraceRecordSessionReference { + type string; + mandatory true; + description "An identifier, which identifies the Trace Recording Session. + The attribute is applicable for both Trace and MDT. + See the clause 5.7 of 3GPP TS 32.422 for additional details on the + allowed values."; + } leaf tjTraceReportingFormat { type enumeration { @@ -454,7 +466,7 @@ module _3gpp-common-trace { enum STREAMING; } default FILE_BASED; - description "Specifies the trace reporting format - streaming trace + description "Specifies the trace reporting format - streaming trace reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } @@ -481,46 +493,48 @@ module _3gpp-common-trace { leaf targetIdValue { type string; } - - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute + + description "Specifies the target object of the Trace and MDT. The + attribute is applicable for both Trace and MDT. This attribute includes the ID type of the target as an enumeration and the ID value. - - The tjTraceTarget shall be public ID in case of a Management Based - Activation is done to an ScscfFunction. The tjTraceTarget shall be - cell only in case of the UTRAN cell traffic trace function. - The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell - traffic trace function.The tjTraceTarget shall be either IMSI or - IMEI(SV) if the Trace Session is activated to any of the following + The tjTraceTarget shall be public ID in case of a Management Based + Activation is done to an ScscfFunction. The tjTraceTarget shall be + cell only in case of the UTRAN cell traffic trace function. + + The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell + traffic trace function.The tjTraceTarget shall be either IMSI or + IMEI(SV) if the Trace Session is activated to any of the following ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - The tjTraceTarget shall be IMSI if the Trace Session is activated to a + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + + The tjTraceTarget shall be IMSI if the Trace Session is activated to a ManagedEntity playing a role of ServinGWFunction. - In case of signaling based Trace/MDT, the tjTraceTarget attribute shall be - able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute shall be - able to carry a list of (cell or E-UtranCell or NRCellDU or TA/LA/RA). + In case of signaling based Trace/MDT, the tjTraceTarget attribute shall + be able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute + shall be able to carry a list of (cell or E-UtranCell or NRCellDU or + TA/LA/RA). - In case of management based Immediate MDT, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry a list of + In case of management based Immediate MDT, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU). - In case of management based Logged MDT, the tjTraceTarget attribute - shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated on - the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope attribute - shall carry a list of (Utrancell or E-UtranCell or NRCellDU or TA/LA/RA). + In case of management based Logged MDT, the tjTraceTarget attribute + shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated + on the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope + attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU or + TA/LA/RA). - In case of RLF reporting, or RCEF reporting, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry one or - list of eNBs/gNBs"; + In case of RLF reporting, or RCEF reporting, the tjTraceTarget + attribute shall be null value, the tjMDTAreaScope attribute shall carry + one or list of eNBs/gNBs"; reference "3GPP TS 32.422"; } @@ -528,8 +542,8 @@ module _3gpp-common-trace { when './tjJobType = "TRACE" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type string ; mandatory true; - description "Specifies the triggering event parameter of the trace session. - The attribute is applicable only for Trace. In case this attribute is + description "Specifies the triggering event parameter of the trace session. + The attribute is applicable only for Trace. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.1 of 3GPP TS 32.422"; } @@ -550,19 +564,19 @@ module _3gpp-common-trace { key "idx"; min-elements 1; leaf idx { type uint32 ; } - - description "It specifies the area for which UE is requested to perform - measurement logging for neighbour cells which have list of frequencies. - If it is not configured, the UE shall perform measurement logging for + + description "It specifies the area for which UE is requested to perform + measurement logging for neighbour cells which have list of frequencies. + If it is not configured, the UE shall perform measurement logging for all the neighbour cells. Applicable only to NR Logged MDT."; reference "3GPP TS 32.422 clause 5.10.26."; - + leaf frequency { type string; } - + leaf cell { type string; } @@ -570,13 +584,13 @@ module _3gpp-common-trace { leaf-list tjMDTAreaScope { type string; - description "specifies MDT area scope when activates an MDT job. + description "specifies MDT area scope when activates an MDT job. - For RLF and RCEF reporting it specifies the eNB or list of eNBs where the + For RLF and RCEF reporting it specifies the eNB or list of eNBs where the RLF or RCEF reports should be collected. - List of cells/TA/LA/RA for signaling based MDT or management based Logged + List of cells/TA/LA/RA for signaling based MDT or management based Logged MDT. List of cells for management based Immediate MDT. @@ -586,48 +600,51 @@ module _3gpp-common-trace { One or list of eNBs for RLF and RCEFreporting"; reference "Clause 5.10.2 of 3GPP TS 32.422"; } - + leaf tjMDTCollectionPeriodRrmLte { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; } units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M2, M3 in LTE. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a + description "Specifies the collection period for collecting RRM configured + measurement samples for M2, M3 in LTE. The attribute is applicable only + for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.20 of 3GPP TS 32.422"; } leaf tjMDTCollectionPeriodRrmUmts { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|1280|2048|2560|5120|" +"10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M3, M4, M5 in UMTS. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, it carries + description "Specifies the collection period for collecting RRM configured + measurement samples for M3, M4, M5 in UMTS. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries a null semantic"; reference "Clause 5.10.21 of 3GPP TS 32.422"; } leaf tjMDTCollectionPeriodRrmNR { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { 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 applicable only - for Immediate MDT. In case this attribute is not used, it carries a - null semantic."; + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is + applicable only for Immediate MDT. In case this attribute is not + used, it carries a null semantic."; reference "Clause 5.10.30 of 3GPP TS 32.422"; } - + leaf tjMDTEventListForTriggeredMeasurement { when './tjJobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -635,35 +652,35 @@ module _3gpp-common-trace { enum A2_EVENT ; } mandatory true; - description "Specifies event types for event triggered measurement in the - case of logged NR MDT. Each trace session may configure at most one - event. The UE shall perform logging of measurements only upon certain + description "Specifies event types for event triggered measurement in the + case of logged NR MDT. Each trace session may configure at most one + event. The UE shall perform logging of measurements only upon certain condition being fulfilled: - Out of coverage. - A2 event."; reference "Clause 5.10.28 of 3GPP TS 32.422"; } - + leaf tjMDTEventThreshold { type int64; - description "Specifies the threshold which should trigger the reporting - in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute - is applicable only for Immediate MDT and when reportingTrigger is - configured for A2 event in LTE or 1F event or 1l event in UMTS. In + description "Specifies the threshold which should trigger the reporting + in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute + is applicable only for Immediate MDT and when reportingTrigger is + configured for A2 event in LTE or 1F event or 1l event in UMTS. In case this attribute is not used, it carries a null semantic."; reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - + leaf tjMDTListOfMeasurements { when './tjJobType = "IMMEDIATE_MDT"'; type int64; mandatory true; - description "It specifies the UE measurements that shall be collected in - an Immediate MDT job. The attribute is applicable only for Immediate MDT. + description "It specifies the UE measurements that shall be collected in + an Immediate MDT job. The attribute is applicable only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "3GPP TS 32.422 clause 5.10.3"; } - + leaf tjMDTLoggingDuration { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { @@ -671,13 +688,13 @@ module _3gpp-common-trace { } units seconds; mandatory true; - description "Specifies how long the MDT configuration is valid at the - UE in case of Logged MDT. The attribute is applicable only for - Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it + description "Specifies how long the MDT configuration is valid at the + UE in case of Logged MDT. The attribute is applicable only for + Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it carries a null semantic."; reference "5.10.9 of 3GPP TS 32.422"; } - + leaf tjMDTLoggingInterval { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { @@ -686,87 +703,92 @@ module _3gpp-common-trace { } units milliseconds; mandatory true; - description "Specifies the periodicty for Logged MDT. The attribute is - applicable only for Logged MDT and Logged MBSFN MDT. In case this + description "Specifies the periodicty for Logged MDT. The attribute is + applicable only for Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it carries a null semantic"; reference "5.10.8 of 3GPP TS 32.422"; } - + leaf-list tjMDTMBSFNAreaList { when './tjJobType = "LOGGED_MBSFN_MDT"'; type string; min-elements 1; max-elements 8; - description "The MBSFN Area consists of a MBSFN Area ID and Carrier - Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. + description "The MBSFN Area consists of a MBSFN Area ID and Carrier + 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 "5.10.25 of 3GPP TS 32.422"; } leaf tjMDTMeasurementPeriodLTE { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|1280|2048|2560|5120|" +"10240|60000"; } units milliseconds; mandatory true; - description "It specifies the measurement period for the Data Volume and - Scheduled IP throughput measurements for MDT taken by the eNB. - The attribute is applicable only for Immediate MDT. In case this + description "It specifies the measurement period for the Data Volume and + Scheduled IP throughput measurements 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.23 of 3GPP TS 32.422"; } leaf tjMDTMeasurementPeriodUMTS { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + 'or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; } units milliseconds; mandatory true; - description "It specifies the measurement period for the Data Volume and - Throughput measurements for MDT taken by RNC. - The attribute is applicable only for Immediate MDT. In case this + description "It specifies the measurement period for the Data Volume and + Throughput measurements for MDT taken by RNC. + The attribute is applicable only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.22 of 3GPP TS 32.422"; } - + leaf tjMDTMeasurementQuantity { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint64 ; mandatory true; - description "It specifies the measurements that are collected in an MDT + description "It specifies the measurements that are collected in an MDT job for a UMTS MDT configured for event triggered reporting."; reference "Clause 5.10.15 of 3GPP TS 32.422"; } - + list tjMDTPLMList { when './tjJobType = "LOGGED_MDT_ONLY"'; key "mcc mnc"; uses types3gpp:PLMNId; min-elements 1; max-elements 16; - description "It indicates the PLMNs where measurement collection, status + 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"; } leaf tjMDTPositioningMethod { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum GNSS; enum E_CELL_ID; } mandatory true; - description "It specifies what positioning method should be used in the + description "It specifies what positioning method should be used in the MDT job."; reference "Clause 5.10.19 of 3GPP TS 32.422"; } - + leaf tjMDTReportAmount { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' and ./tjMDTReportingTrigger = "PERIODICAL"'; type union { type uint32 { range "1|4|8|16|32|64" ; @@ -776,14 +798,14 @@ module _3gpp-common-trace { } } mandatory true; - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.6 of 3GPP TS 32.422"; } - + leaf tjMDTReportingTrigger { when './tjJobType = "IMMEDIATE_MDT_ONLY"'; type enumeration { @@ -795,17 +817,18 @@ module _3gpp-common-trace { enum ALL_CONFIGURED_RRM_FOR_LTE; enum ALL_CONFIGURED_RRM_FOR_UMTS; } - description "It specifies whether periodic or event based measurements - should be collected. - The attribute is applicable only for Immediate MDT and when the - tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) - or M2 (only for UMTS). In case this attribute is not used, it carries + description "It specifies whether periodic or event based measurements + should be collected. + The attribute is applicable only for Immediate MDT and when the + tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) + or M2 (only for UMTS). In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.4 of 3GPP TS 32.422"; } - + leaf tjMDTReportInterval { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' and ./tjMDTReportingTrigger = "PERIODICAL"'; type uint32 { range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" +"5120|6000|8000|10240|12000|16000|20000|" @@ -814,14 +837,14 @@ module _3gpp-common-trace { } units milliseconds; mandatory true; - description "It specifies the interval between the periodical measurements - that shall be taken when the UE is in connected mode. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In case + description "It specifies the interval between the periodical measurements + that shall be taken when the UE is in connected mode. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case this attribute is not used, it carries a null semantic."; reference "5.10.5 of 3GPP TS 32.422"; - } - + } + leaf tjMDTReportType { when './tjJobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -832,7 +855,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 tjMDTSensorInformation { type bits { bit BAROMETRIC_PRESSURE; @@ -840,56 +863,137 @@ module _3gpp-common-trace { bit UE_ORIENTATION; } default ""; - description "It specifies which sensor information shall be included in - logged NR MDT and immediate NR MDT measurement if they are available. - The following sensor measurement can be included or excluded for the UE."; + description "It specifies which sensor information shall be included in + logged NR MDT and immediate NR MDT measurement if they are available. + The following sensor measurement can be included or excluded for + the UE."; reference "Clause 5.10.29 of 3GPP TS 32.422"; } - + leaf tjMDTTraceCollectionEntityID { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint8; mandatory true; - description "It specifies the TCE Id which is sent to the UE in Logged MDT."; + 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"; } } - + grouping TraceSubtree { - description "Contains classes that manage Tracing. - Should be used in all classes (or classes inheriting from) + description "Contains classes that manage Tracing. + Should be used in all classes (or classes inheriting from) - SubNnetwork - ManagedElement - ManagedFunction - - If a YANG module wants to augment these classes/list/groupings they must + + If a YANG module wants to augment these classes/list/groupings they must augment all user classes!"; - + list TraceJob { - description "Represents the Trace Control and Configuration parameters of a + description "Represents the Trace Control and Configuration parameters of a particular Trace Job (see TS 32.421 and TS 32.422 for details). - - 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 - tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his + It can be name-contained by SubNetwork, ManagedElement, ManagedFunction + or NetworkSliceSubnet. + + 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 + tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his own. - - 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 + + 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. - Creation and deletion of TraceJob instances by MnS consumers is optional; - when not supported, the TraceJob instances may be created and deleted by + The attribute tjJobType specifies the kind of data to collect. Dependent + on the selected type various parameters shall be available. The + attributes tjJobType, tjTraceReference, tjTraceRecordSessionReference, + tjTraceCollectionEntityAddress and tjTraceReportingFormat are mandatory + for all job types. If streaming reporting is selected for + tjTraceReportingFormat, tjStreamingTraceConsumerURI shall be present + additionally. The attribute tjPLMNTarget shall be present if trace + activation method is management based. + + For the different job types the attributes are differentiated as follows: + - In case of TRACE_ONLY additionally the following attributes shall be + available: tjListOfNeTypes, tjTraceDepth, tjTraceTarget and + tjTriggeringEvent. + + For this case the optional attribute tjListOfInterfaces allows to + specify the interfaces to be recorded. + + - In case of IMMEDIATE_MDT_ONLY additionally the following attributes + shall be available: + - tjTraceTarget + - tjMDTAnonymizationOfData, + - tjMDTListOfMeasurements, + - tjMDTCollectionPeriodRrmUmts (conditional for M3, M4 and M5 in UMTS), + - tjMDTMeasurementPeriodUMTS (conditional for M6 and M7 in UMTS), + - tjMDTCollectionPeriodRrmLte (conditional for M2 and M3 in LTE), + - tjMDTMeasurementPeriodLTE (conditional for M4 and M5 in LTE), + - tjMDTCollectionPeriodM6Lte (conditional for M6 in LTE), + - tjMDTCollectionPeriodM7Lte (conditional for M7 in LTE), + - tjMDTCollectionPeriodRrmNR (conditional for M4 and M5 in NR), + - tjMDTCollectionPeriodM6NR (conditional for M6 in NR), + - tjMDTCollectionPeriodM7NR (conditional for M7 in NR), + - tjMDTReportInterval (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTReportAmount (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTReportingTrigger (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTEventThreshold (conditional for A2 event reporting or A2 event + triggered periodic reporting), + - tjMDTMeasurementQuantity (conditional for 1F event reporting). + + For this case the optional attribute tjMDTAreaScope allows to specify + the area in terms of cells or Tracking Area/Routing Area/Location area + where the MDT data collection shall take place and the optional + attributes tjMDTPositioningMethod, tjMDTSensorInformation allow to + specify the positioning methods to use or the sensor information to + include. + + - In case of IMMEDIATE_MDT_AND_TRACE both additional attributes of + TRACE_ONLY and IMMEDIATE_MDT_ONLY shall apply. + + - In case of LOGGED_MDT_ONLY additionally the following attributes + shall be available: tjTraceTarget, tjMDTAnonymizationOfData, + tjMDTTraceCollectionEntityID, tjMDTLoggingInterval, + tjMDTLoggingDuration, tjMDTReportType, + tjMDTEventListForTriggeredMeasurements. + + For this case the optional attribute tjMDTAreaScope allows to specify + the area in terms of cells or Tracking Area/Routing Area/Location area + where the MDT data collection shall take place, the optional attribute + tjMDTPLMNList allows to specify the PLMNs where measurement collection, + status indication and log reporting is allowed, the optional attribute + tjMDTAreaConfigurationForNeighCell allows to specify the area for + which UE is requested to perform measurements logging for neighbour + cells which have list of frequencies and the optional attribute + tjMDTSensorInformation allows to specify the sensor information to + include. + + - In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY additionally the + attribute tjTraceTarget shall be available, the optional attribute + tjMDTAreaScope allows to specify the eNB or list of eNBs or gNB or + list of gNBs where the reports should be collected. + + - In case of LOGGED_MBSFN_MDT additionally the following attributes + shall be available: tjMDTAnonymizationOfData, tjMDTLoggingInterval, + tjMDTLoggingDuration, tjMDTMBSFNAreaList. + + 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; - uses top3gpp:Top_Grp ; + + key id; + uses top3gpp:Top_Grp ; container attributes { uses TraceJobGrp ; - } + } } } } \ No newline at end of file -- GitLab