diff --git a/OpenAPI/5gcNrm.yaml b/OpenAPI/5gcNrm.yaml index fd61fca9d49f22ec6ead16a160b115f712e4ef0b..042b94c04d3172da0439dc193641f1c5123e0e74 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: @@ -1101,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' @@ -1637,6 +1616,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 +1654,7 @@ components: configurable5QIs: type: array items: - $ref: '#/components/schemas/FiveQICharacteristics' + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' Dynamic5QISet-Single: allOf: @@ -1663,7 +1668,7 @@ components: dynamic5QIs: type: array items: - $ref: '#/components/schemas/FiveQICharacteristics' + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' GtpUPathQoSMonitoringControl-Single: allOf: diff --git a/OpenAPI/genericNrm.yaml b/OpenAPI/genericNrm.yaml index 9355f53e958d42219e74b5782f326871684f5b6a..0911920a2dbaa9c106d44bc144ac9dd8d09b6f25 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: diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml index 6e12a4d8b30872e2d823690ca657ce8379395e3b..046c85abe2103a9124aff433ad7ff8f2b370814a 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 @@ -538,6 +550,8 @@ components: $ref: '#/components/schemas/SliceProfileList' epTransportRefList: $ref: 'genericNrm.yaml#/components/schemas/DnList' + priorityLabel: + type: integer EP_Transport-Single: allOf: @@ -549,8 +563,8 @@ components: properties: ipAddress: $ref: '#/components/schemas/IpAddress' - logicInterfaceId: - type: string + logicInterfaceInfo: + $ref: '#/components/schemas/LogicInterfaceInfo' nextHopInfo: type: string qosProfile: diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 9c07b5cf8192336cca53e2d6022cca5136f822b7..7101b213ce2ab4223a9fc8457f3d47ff96ba58f2 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-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index fdb701ed41f2dba7e9b1164e983fbe02d02fb29b..7ab28015d908fd93e349c5f6dec611cc54c74cb2 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; diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index c6b4d33cba5cfe459de19150e7d1781583d4ddec..fc1b0d0f76e58eb1b082566ceaae47d11301881f 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 30627565c969a6e04907f409c88d4c0c40ae4286..96893e6c393426eef89f311c6b2c8e53c1fa8487 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-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang new file mode 100644 index 0000000000000000000000000000000000000000..2783fd385e9f65a1596552eb59cc4b0b55b3a7c6 --- /dev/null +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -0,0 +1,59 @@ +module _3gpp-common-mnsregistry { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-mnsregistry"; + prefix "mnsregist3gpp"; + + 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 Generic Network Resource Model (NRM)."; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + + revision 2021-08-29 { reference "Initial revision, S5-214388"; } + + grouping MNSRegistryGrp { + description "Represents the MNSRegistry IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf mnsLabel { + description "Human-readable name of management service."; + mandatory true; + type string; + } + + leaf mnsType { + description "Type of management service."; + type enumeration { + enum PROVISIONING; + enum FAULT_SUPERVISION; + enum PERFORMANCE_ASSURANCE; + } + } + + leaf mnsVersion { + description "Version of management service."; + type string; + } + + leaf mnsAddress { + description "Addressing information for Management Service operations."; + mandatory true; + type string; + } + } + + augment "/subnet3gpp:SubNetwork" { + list MNSRegistry { + description "Represents the MNSRegistry IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MNSRegistryGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 36776b38a8509575d98b43a564640e956d608eb4..53739e61ca3705cca1c3e57219deb1deb03766a2 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 13b3f026d0e0f6ae0deb632b692f7e1563373300..84ae422ee8f8880151f93424b059a5ba44ba1a53 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 diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang index 7235d704b2064f227e4f168912d495b7f54e565e..f438d0b2263dc088d84a1307150db004f29b9b9b 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 918c0581fdaba52fe6de4a359dd5d6b271ff0716..2a704d3aa3ba65aa3aee253797a9b4e3f4b6b021 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 a69c94e792122b2cdcb6821b96e8826233f603a8..6df736c4d0f227717bf97fc07617c4098b8fb8aa 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 c657f1587b453f779496346ff77b4501bb292d6d..2b7de13491ac0bf552836ab7f9cc9dd4d6ab11af 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 a150af4b7540e0bc174d422a7cad6eb821b1fa15..806b0d6597c2c8dbee90923be44f8e0e9316444c 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 7ef35373ce57c44183a1981a82725cc097404a76..314372c389a588cb25d712592141966cfb923005 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 diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 3480c753c137d9663254d59413850f33698d3492..cfe977059492f51fbb080086288c153f9ed2d111 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 PRB_UL; + enum PRB_DL; + enum RRC; + enum DRB; + } } list rRMPolicyMemberList{ diff --git a/yang-models/_3gpp-ns-nrm-common.yang b/yang-models/_3gpp-ns-nrm-common.yang index c3e1079bf7245e9b56afc441f89d31b79eb464b4..3b03adda2ad07f10430c91340350348b1979c293 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-0566 ; } 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-networkslice.yang b/yang-models/_3gpp-ns-nrm-networkslice.yang index d7b0d504421de207eee83f8b130ce7e7a7328cb1..22ad9c7c568ea99c4abaecaf7a63ddc9df653d22 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 0053403626cb84c6d76a892b731448bacd0229ef..98daa9b54b7a5e241238e20e2be3a9e666be4119 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"; @@ -142,7 +147,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 that is directly referenced by a NetworkSlice"; key sliceProfileId; uses SliceProfileGrp; } diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 0ec5311adfe6d9e90af9a2c7a28c912227f84edb..cd5247d46050dfc50dcefa1c30a4127e29d6566e 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-0566 ; } 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 {