From 91a63e960a2144f15c82fecae59f55deeda8a5c0 Mon Sep 17 00:00:00 2001 From: Jan Lindblad Date: Wed, 4 Aug 2021 16:12:18 +0200 Subject: [PATCH 01/18] Backport of changes in Rel17 (28.541_Rel17_CR_JanLindblad_Fix_YANG_Mapping_problems, b3a0b6d) --- yang-models/_3gpp-5g-common-yang-types.yang | 50 ++- .../_3gpp-nr-nrm-cesmanagementfunction.yang | 414 +++++++++--------- ...3gpp-nr-nrm-cpciconfigurationfunction.yang | 79 ++-- .../_3gpp-nr-nrm-desmanagementfunction.yang | 377 +++++++--------- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 93 ++-- ...3gpp-nr-nrm-dpciconfigurationfunction.yang | 71 +-- ...3gpp-nr-nrm-drachoptimizationfunction.yang | 147 +++---- 7 files changed, 629 insertions(+), 602 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 8eb695cbd..6e235f772 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -1,8 +1,9 @@ module _3gpp-5g-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; - prefix "types5g3gpp"; - + prefix "type5g3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; @@ -11,6 +12,7 @@ module _3gpp-5g-common-yang-types { network slicing."; reference "3GPP TS 28.541"; + revision 2021-08-04 { reference S5-214aaa; } revision 2020-11-05 { reference CR-0411 ; } revision 2019-10-20 { reference "Initial version."; } @@ -71,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."; } } @@ -101,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-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang index 39b4f5fc4..43ed8a9a6 100755 --- a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -1,257 +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-04 { reference S5-214aaa; } 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 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 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 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-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 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; + } } } - - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses CESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses CESManagementFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:CESManagementFunction; - uses CESManagementFunctionGrp; - } + uses CESManagementFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang index 918c0581f..9fd077656 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-04 { reference S5-214aaa; } revision 2020-05-08 { reference S5-203316; } - grouping CPCIConfigurationFunctionGrp { - description "Represents the CPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - - list cSonPciList { - key NRPci; - description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; - leaf NRPci {type int32;} - container attributes { - uses CSonPciListGrp; - } - } - + description "Represents the CPCIConfigurationFunction IOC."; leaf cPciConfigurationControl { - description "This attribute determines whether the Centralized SON PCI configuration function is enabled or disabled."; + description "This attribute determines whether the Centralized SON + PCI configuration function is enabled or disabled."; type boolean; + mandatory true; } + leaf-list cSonPciList { + type int32 { range "0..1007"; } + min-elements 1; + description "Holds a list of physical cell identities that can be + assigned to the pci attribute by gNB. The assignment algorithm is not + specified. + See TS 38.211 clause 7.4.2.1 for legal values of pci. + This attribute shall be supported if and only if the C-SON PCI + configuration is supported."; + reference "See TS 38.211 clause 7.4.2.1"; + } } - grouping CSonPciListGrp { - description "Represents the C-SON PCI list for the PCI configuration function."; - - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; + grouping CPCIConfigurationFunctionSubtree { + list CPCIConfigurationFunction { + description "This IOC contains attributes to support the Cross + Domain-Centralized SON function of PCI configuration + + In the case where multiple CPCIConfiguration MOIs exist at different + levels of the containment tree, the CPCIConfiguration MOI at the lower + level overrides the CPCIConfiguration MOIs at higher level(s) of the + same containment tree."; + reference "clause 7.2.1 in TS 28.313"; + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses CPCIConfigurationFunctionGrp ; + } } } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU { if-feature nrcelldu3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses CPCIConfigurationFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses CPCIConfigurationFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } + uses CPCIConfigurationFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index a69c94e79..b26ae3083 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-04 { reference S5-214aaa; } revision 2020-05-08 { reference S5-203316; } - - grouping DESManagementFunctionGrp { - description "Represents the DESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf desSwitch { - description "This attribute determines whether the Distributed SON energy saving function is enabled or disabled."; - type boolean; - } - - list intraRatEsActivationOriginalCellLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as an original cell.This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationOriginalCellLoadParametersGrp; - } - } - - - list intraRatEsActivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationCandidateCellsLoadParametersGrp; - } - } - - list intraRatEsDeactivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as a candidate cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; - } - } - - list esNotAllowedTimePeriod { - key startTimeandendTime; - description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; - leaf startTimeandendTime {type string;} - container attributes { - uses EsNotAllowedTimePeriodGrp; - } - } - - list interRatEsActivationOriginalCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationOriginalCellParametersGrp; - } - } - - list interRatEsActivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationCandidateCellParametersGrp; - } - } - - list interRatEsDeactivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsDeactivationCandidateCellParametersGrp; - } - } - - leaf energySavingState { - description "Specifies the status regarding the energy saving in the cell."; - type enumeration { - enum isNotEnergySaving; - enum isEnergySaving; - } - } - - leaf isProbingCapable { - description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; - type enumeration{ - enum yes; - enum no; - } - } - - } - - grouping IntraRatEsActivationOriginalCellLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; + grouping loadTimeThresholdGrp { + description "Represents the the traffic load threshold and the time + duration."; leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + description "This attribute is used by distributed ES algorithms to allow + a cell to enter the energySaving state."; + type type5g3gpp:EnergySavingLoadThresholdT; } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + description "The time duration indicates how long the traffic load + (either for UL or DL) in the cell needs to have been above the + threshold to wake up one or more original cells which have been + provided backup coverage by the candidate cell."; + type type5g3gpp:EnergySavingTimeDurationT; } } - grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - + grouping DESManagementFunctionGrp { + description "Represents the DESManagementFunction IOC."; - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + leaf desSwitch { + description "This attribute determines whether the Distributed SON + energy saving function is enabled or disabled."; + type boolean; + } + + list intraRatEsActivationOriginalCellLoadParameters { + description "This attributes is relevant, if the cell acts as an original + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed ES algorithms to allow a cell + to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list intraRatEsActivationCandidateCellsLoadParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed ES algorithms level to + allow an 'original' cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list intraRatEsDeactivationCandidateCellsLoadParameters { + description "This attributes is relevant, if the cell acts as a candidate + cell.This attribute indicates the traffic load threshold and the time + duration which is used by distributed ES algorithms to allow a cell to + leave the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list esNotAllowedTimePeriod { + description "This is a list of time periods during which + inter-RAT energy saving is not allowed"; + key idx; + + leaf idx { + type uint32; + } + uses EsNotAllowedTimePeriodGrp; + } + + list interRatEsActivationOriginalCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsActivationCandidateCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsDeactivationCandidateCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration which is used by distributed inter-RAT ES algorithms to + allow an original cell to leave the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - } - - grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + leaf energySavingState { + description "Specifies the status regarding the energy saving in the + cell."; + type enumeration { + enum isNotEnergySaving; + enum isEnergySaving; + } } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } + leaf isProbingCapable { + description "This attribute indicates whether this cell is capable of + performing the ES probing procedure."; + type enumeration{ + enum yes; + enum no; + } + } } grouping EsNotAllowedTimePeriodGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf startTimeandendTime { - description "This field indicate valid UTC time."; - type string; - } - - - leaf periodOfDay { - description "This field indicate the period of day."; - type string; - } - - leaf daysOfWeekList { - description "This field indicate the list of weekday."; - type string; - } - - leaf listoftimeperiods { - description "This field indicate the list of time periods."; - type string; - } - - } - - grouping InterRatEsActivationOriginalCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsActivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; - type int32 { range "0..900"; } - units "1"; + leaf startTime { + description "Start of not allowed time period in UTC time zone. + If set, the endTime must also be set. If not set, this is + interpreted as around the clock."; + must ../endTime; + type type5g3gpp:UTC24TimeOfDayT; + } + leaf endTime { + description "If endTime has a lower value than startTime, it will + be interpreted as referring to the following day."; + type type5g3gpp:UTC24TimeOfDayT; + must ../startTime; + } + leaf-list daysOfWeek { + description "Specifies that the not allowed periods are only + applicable to the specified days in UTC timezone. Every day if + not set."; + type type5g3gpp:DayOfWeekT; } } - grouping InterRatEsDeactivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; - type int32 { range "0..900"; } - units "1"; + grouping DESManagementFunctionSubtree { + list DESManagementFunction { + description "This IOC represents the management capabilities of + Distributed SON Energy Saving (ES) functions. This is provided for + Energy Saving purposes. + + In the case where multiple DESManagement MOIs exist at different + levels of the containment tree, the DESManagement MOI at the lower + level overrides the DESManagement MOIs at higher level(s) of the same + containment tree."; + reference "clause 6.2.3.0 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DESManagementFunctionGrp; + } } } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { if-feature gnbcucp3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses DESManagementFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - + uses DESManagementFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index c657f1587..1e995b05e 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-04 { reference S5-214aaa; } 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 bc46a30ba..ed88189ee 100755 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -1,68 +1,75 @@ 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-04 { reference S5-214aaa; } revision 2020-11-25 { reference CR-0385 ; } 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 e3bdc517f..a0d9d3ce1 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,111 +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 2020-10-02 { reference CR-0383; } - revision 2020-10-02 { reference CR-0381 ; } + revision 2021-06-30 { reference S5-214aaa; } + revision 2021-01-25 { reference CR-0454 ; } + revision 2020-10-02 { reference "CR-0384, CR-0382" ; } revision 2020-05-08 { reference S5-203316; } - - grouping DRACHOptimizationFunctionGrp { - description "Represents the DRACHOptimizationFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - list ueAccProbilityDist { - key targetProbability; - description "This is a list of target Access Probability (APn) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccProbilityDistGrp; - } - } - - list ueAccDelayProbilityDist { - key targetProbability; - description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; - leaf targetProbability {type TargetProbability;} - container attributes { - uses UeAccDelayProbilityDistGrp; - } - } - - leaf drachOptimizationControl { - description "This attribute determines whether the RACH Optimization function is enabled or disabled."; - type boolean; - } - } - typedef TargetProbability { - type enumeration { + typedef TargetProbabilityT { + type enumeration { enum 25; enum 50; enum 75; enum 90; } } - - typedef Numberofpreamblessent { - type int32 { range "1..200"; } - units "1"; + typedef NumberofpreamblessentT { + type uint32 { + range "1..200"; + } } - - typedef Accessdelay { - type int32 { range "10..560"; } - units "1"; + typedef AccessdelayT { + type uint32 { + range "10..560"; + } } - - - grouping UeAccProbilityDistGrp { - description "Represents the target Access Probability (APn) for the RACH optimization function."; + grouping NumPreableAccessDelayGrp { + description "Represents the target Access Probability (APn) for the RACH + optimization function."; leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbabilityT; } - - leaf numberofpreamblessent { - description "This attribute determines the number of preambles sent."; - mandatory true; - type Numberofpreamblessent; + description "This attribute determines the number of preambles sent."; + mandatory true; + type NumberofpreamblessentT; } } - grouping UeAccDelayProbilityDistGrp { - description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; + grouping DRACHOptimizationFunctionGrp { + description "Represents the DRACHOptimizationFunction IOC."; - leaf targetProbability { - description "This attribute determines the target Probability."; - mandatory true; - type TargetProbability; + list ueAccProbilityDist { + description "This is a list of target Access Probability (APn) for the + RACH optimization function."; + key "targetProbability numberofpreamblessent"; + uses NumPreableAccessDelayGrp; } + list ueAccDelayProbilityDist { + description "This is a list of target Access Delay probability (ADP) + for the RACH optimization function."; + key "targetProbability numberofpreamblessent"; + uses NumPreableAccessDelayGrp; + } + leaf drachOptimizationControl { + description "This attribute determines whether the RACH Optimization + function is enabled or disabled."; + type boolean; + } + } - - leaf accessdelay { - description "This attribute determines the access delay."; - mandatory true; - type Accessdelay; + grouping DRACHOptimizationFunctionSubtree { + list DRACHOptimizationFunction { + description "This IOC represents the management capabilities of + Centralized SON Energy Saving (ES) functions. This is provided for + Energy Saving purposes. + + In the case where multiple CESManagement MOIs exist at different + levels of the containment tree, the CESManagement MOI at the lower + level overrides the CESManagement MOIs at higher level(s) of the + same containment tree."; + reference "clause 6.2.2 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DRACHOptimizationFunctionGrp; + } } } - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/"+ + "nrcelldu3gpp:NRCellDU" { if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { if-feature gnbdu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/me3gpp:ManagedElement" { if-feature me3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } augment "/subnet3gpp:SubNetwork" { if-feature nrcelldu3gpp:DRACHOptimizationFunction; - uses DRACHOptimizationFunctionGrp; - } + uses DRACHOptimizationFunctionSubtree; + } } \ No newline at end of file -- GitLab From 56303dce88f8772cdbdb4b23b95a3c289a8348b0 Mon Sep 17 00:00:00 2001 From: Jan Lindblad Date: Thu, 5 Aug 2021 11:49:01 +0200 Subject: [PATCH 02/18] Updated revision date (2021-08-04) and CR reference (0517) for all modified modules. --- yang-models/_3gpp-5g-common-yang-types.yang | 2 +- yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-desmanagementfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 2 +- yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang | 2 +- yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 6e235f772..226f9ec62 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -12,7 +12,7 @@ module _3gpp-5g-common-yang-types { network slicing."; reference "3GPP TS 28.541"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-11-05 { reference CR-0411 ; } revision 2019-10-20 { reference "Initial version."; } diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang index 43ed8a9a6..42a72066a 100755 --- a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -17,7 +17,7 @@ module _3gpp-nr-nrm-cesmanagementfunction { (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } grouping loadTimeThresholdGrp { diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang index 9fd077656..5ee7472e2 100755 --- a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang @@ -15,7 +15,7 @@ module _3gpp-nr-nrm-cpciconfigurationfunction { Class(IOC) that is part of the NR Network Resource Model."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } grouping CPCIConfigurationFunctionGrp { diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index b26ae3083..8aa9110a9 100755 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -17,7 +17,7 @@ module _3gpp-nr-nrm-desmanagementfunction { Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } grouping loadTimeThresholdGrp { diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index 1e995b05e..5530850e8 100755 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -16,7 +16,7 @@ module _3gpp-nr-nrm-dmrofunction { Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } grouping DMROFunctionGrp { diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang index ed88189ee..be1fefe38 100755 --- a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -17,7 +17,7 @@ module _3gpp-nr-nrm-dpciconfigurationfunction { Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-08-04 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2020-11-25 { reference CR-0385 ; } revision 2020-05-08 { reference S5-203316; } diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index a0d9d3ce1..5ae5dbfe3 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -16,7 +16,7 @@ module _3gpp-nr-nrm-drachoptimizationfunction { Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2021-06-30 { reference S5-214aaa; } + revision 2021-08-04 { reference S5-214052/CR-0517; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-10-02 { reference "CR-0384, CR-0382" ; } revision 2020-05-08 { reference S5-203316; } -- GitLab From 9347d8f9c88130ee78c98f5b0c3a507a2a578d8f Mon Sep 17 00:00:00 2001 From: yaoyiz Date: Thu, 2 Sep 2021 04:58:09 +0200 Subject: [PATCH 03/18] Add new file --- PerfMeasJobCtrlMnS.yaml | 277 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 PerfMeasJobCtrlMnS.yaml diff --git a/PerfMeasJobCtrlMnS.yaml b/PerfMeasJobCtrlMnS.yaml new file mode 100644 index 000000000..50fea5a73 --- /dev/null +++ b/PerfMeasJobCtrlMnS.yaml @@ -0,0 +1,277 @@ +openapi: 3.0.1 +info: + title: TS 28.550 Performance Measurement Job Control Service + version: 16.8.0 + description: >- + OAS 3.0.1 specification of the Performance Measurement Job Control Service + @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.550 V16.8.0; Performance assurance + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ +servers: + - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /measJobs: + post: + summary: Create a measurement job + description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-RequestType' + responses: + '201': + description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + '202': + description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + get: + summary: Read resources of measurement jobs + description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' + parameters: + - name: jobIdList + in: query + description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + type: array + items: + type: string + responses: + '200': + description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + '/measJobs/{jobId}': + get: + summary: Read resource of a single measurement job + description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be read. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '200': + description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + delete: + summary: Delete a single measurement job + description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be deleted. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '204': + description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' +components: + schemas: + dateTime-Type: + type: string + format: date-Time + uri-Type: + type: string + measJobCreation-RequestType: + type: object + properties: + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + measJobCreation-ResponseType: + type: object + properties: + unsupportedList: + type: array + items: + $ref: '#/components/schemas/unsupportedMeas-Type' + measJobsRetrieval-ResponseType: + type: object + properties: + jobInfoList: + type: array + items: + $ref: '#/components/schemas/measJobInfo-ResourceType' + error-ResponseType: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + measJobInfo-ResourceType: + type: object + properties: + href: + $ref: '#/components/schemas/uri-Type' + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + schedule-Type: + type: object + properties: + scheduleOption: + $ref: '#/components/schemas/scheduleOption-Type' + dailySchedule: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + weeklySchedule: + type: array + items: + $ref: '#/components/schemas/scheduleOfDay-Type' + timeInterval-Type: + type: object + properties: + intervalStart: + type: string + format: Time + intervalEnd: + type: string + format: Time + scheduleOfDay-Type: + type: object + properties: + dayOfWeek: + $ref: '#/components/schemas/dayOfWeek-Type' + intervalsOfDay: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + unsupportedMeas-Type: + type: object + properties: + iOCInstance: + $ref: '#/components/schemas/uri-Type' + measurementTypeName: + type: string + reason: + type: string + reportingMethod-Type: + type: string + enum: + - file + - streaming + priority-Type: + type: string + enum: + - low + - medium + - high + scheduleOption-Type: + type: string + enum: + - daily + - weekly + dayOfWeek-Type: + type: string + enum: + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday -- GitLab From 62707e5083c97ee06bb3a5b8fc81495916ece174 Mon Sep 17 00:00:00 2001 From: pingj Date: Thu, 2 Sep 2021 05:30:06 +0200 Subject: [PATCH 04/18] Revert "Merge branch '28.550_Rel16_CR0068_Correction_of_OpenAPI' into 'Integration_Rel16_SA5_138_YAML'" This reverts merge request !162 --- PerfMeasJobCtrlMnS.yaml | 277 ---------------------------------------- 1 file changed, 277 deletions(-) delete mode 100644 PerfMeasJobCtrlMnS.yaml diff --git a/PerfMeasJobCtrlMnS.yaml b/PerfMeasJobCtrlMnS.yaml deleted file mode 100644 index 50fea5a73..000000000 --- a/PerfMeasJobCtrlMnS.yaml +++ /dev/null @@ -1,277 +0,0 @@ -openapi: 3.0.1 -info: - title: TS 28.550 Performance Measurement Job Control Service - version: 16.8.0 - description: >- - OAS 3.0.1 specification of the Performance Measurement Job Control Service - @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. -externalDocs: - description: 3GPP TS 28.550 V16.8.0; Performance assurance - url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ -servers: - - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' - variables: - MnSRoot: - description: See clause 4.4.2 of TS 32.158 - default: http://example.com/3GPPManagement - MnSVersion: - description: Version number of the OpenAPI definition - default: XXX -paths: - /measJobs: - post: - summary: Create a measurement job - description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-RequestType' - responses: - '201': - description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-ResponseType' - '202': - description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - get: - summary: Read resources of measurement jobs - description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' - parameters: - - name: jobIdList - in: query - description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. - required: true - schema: - type: array - items: - type: string - responses: - '200': - description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' - content: - application/json: - schema: - $ref: '#/components/schemas/measJobsRetrieval-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - '/measJobs/{jobId}': - get: - summary: Read resource of a single measurement job - description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' - parameters: - - name: jobId - in: path - description: Identifies the measurement job to be read. - required: true - schema: - $ref: '#/components/schemas/uri-Type' - responses: - '200': - description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' - content: - application/json: - schema: - $ref: '#/components/schemas/measJobsRetrieval-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - delete: - summary: Delete a single measurement job - description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. - parameters: - - name: jobId - in: path - description: Identifies the measurement job to be deleted. - required: true - schema: - $ref: '#/components/schemas/uri-Type' - responses: - '204': - description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' -components: - schemas: - dateTime-Type: - type: string - format: date-Time - uri-Type: - type: string - measJobCreation-RequestType: - type: object - properties: - iOCName: - type: string - iOCInstanceList: - type: array - items: - $ref: '#/components/schemas/uri-Type' - measurementCategoryList: - type: array - items: - type: string - reportingMethod: - $ref: '#/components/schemas/reportingMethod-Type' - granularityPeriod: - type: integer - reportingPeriod: - type: integer - startTime: - $ref: '#/components/schemas/dateTime-Type' - stopTime: - $ref: '#/components/schemas/dateTime-Type' - schedule: - $ref: '#/components/schemas/schedule-Type' - streamTarget: - type: string - priority: - $ref: '#/components/schemas/priority-Type' - reliability: - type: string - measJobCreation-ResponseType: - type: object - properties: - unsupportedList: - type: array - items: - $ref: '#/components/schemas/unsupportedMeas-Type' - measJobsRetrieval-ResponseType: - type: object - properties: - jobInfoList: - type: array - items: - $ref: '#/components/schemas/measJobInfo-ResourceType' - error-ResponseType: - type: object - properties: - error: - type: object - properties: - errorInfo: - type: string - measJobInfo-ResourceType: - type: object - properties: - href: - $ref: '#/components/schemas/uri-Type' - iOCName: - type: string - iOCInstanceList: - type: array - items: - $ref: '#/components/schemas/uri-Type' - measurementCategoryList: - type: array - items: - type: string - reportingMethod: - $ref: '#/components/schemas/reportingMethod-Type' - granularityPeriod: - type: integer - reportingPeriod: - type: integer - startTime: - $ref: '#/components/schemas/dateTime-Type' - stopTime: - $ref: '#/components/schemas/dateTime-Type' - schedule: - $ref: '#/components/schemas/schedule-Type' - streamTarget: - type: string - priority: - $ref: '#/components/schemas/priority-Type' - reliability: - type: string - schedule-Type: - type: object - properties: - scheduleOption: - $ref: '#/components/schemas/scheduleOption-Type' - dailySchedule: - type: array - items: - $ref: '#/components/schemas/timeInterval-Type' - weeklySchedule: - type: array - items: - $ref: '#/components/schemas/scheduleOfDay-Type' - timeInterval-Type: - type: object - properties: - intervalStart: - type: string - format: Time - intervalEnd: - type: string - format: Time - scheduleOfDay-Type: - type: object - properties: - dayOfWeek: - $ref: '#/components/schemas/dayOfWeek-Type' - intervalsOfDay: - type: array - items: - $ref: '#/components/schemas/timeInterval-Type' - unsupportedMeas-Type: - type: object - properties: - iOCInstance: - $ref: '#/components/schemas/uri-Type' - measurementTypeName: - type: string - reason: - type: string - reportingMethod-Type: - type: string - enum: - - file - - streaming - priority-Type: - type: string - enum: - - low - - medium - - high - scheduleOption-Type: - type: string - enum: - - daily - - weekly - dayOfWeek-Type: - type: string - enum: - - Monday - - Tuesday - - Wednesday - - Thursday - - Friday - - Saturday - - Sunday -- GitLab From 9b1bcdb45fa198dcadd38e55f576db781e8f4dea Mon Sep 17 00:00:00 2001 From: pingj Date: Thu, 2 Sep 2021 03:24:43 +0000 Subject: [PATCH 05/18] Merge branch '28.550_Rel16_CR0068_Correction_of_OpenAPI' into 'Integration_Rel16_SA5_138_YAML' Add missing PerfMeasJobCtrlMnS.yaml file See merge request sa5/MnS!162 (cherry picked from commit 2b7fa8b49e0f9c07865bc24603b75b4a11b3ca57) f4ed06c1 Add new file --- PerfMeasJobCtrlMnS.yaml | 277 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 PerfMeasJobCtrlMnS.yaml diff --git a/PerfMeasJobCtrlMnS.yaml b/PerfMeasJobCtrlMnS.yaml new file mode 100644 index 000000000..50fea5a73 --- /dev/null +++ b/PerfMeasJobCtrlMnS.yaml @@ -0,0 +1,277 @@ +openapi: 3.0.1 +info: + title: TS 28.550 Performance Measurement Job Control Service + version: 16.8.0 + description: >- + OAS 3.0.1 specification of the Performance Measurement Job Control Service + @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.550 V16.8.0; Performance assurance + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ +servers: + - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /measJobs: + post: + summary: Create a measurement job + description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-RequestType' + responses: + '201': + description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + '202': + description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + get: + summary: Read resources of measurement jobs + description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' + parameters: + - name: jobIdList + in: query + description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + type: array + items: + type: string + responses: + '200': + description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + '/measJobs/{jobId}': + get: + summary: Read resource of a single measurement job + description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be read. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '200': + description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + delete: + summary: Delete a single measurement job + description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be deleted. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '204': + description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' +components: + schemas: + dateTime-Type: + type: string + format: date-Time + uri-Type: + type: string + measJobCreation-RequestType: + type: object + properties: + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + measJobCreation-ResponseType: + type: object + properties: + unsupportedList: + type: array + items: + $ref: '#/components/schemas/unsupportedMeas-Type' + measJobsRetrieval-ResponseType: + type: object + properties: + jobInfoList: + type: array + items: + $ref: '#/components/schemas/measJobInfo-ResourceType' + error-ResponseType: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + measJobInfo-ResourceType: + type: object + properties: + href: + $ref: '#/components/schemas/uri-Type' + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + schedule-Type: + type: object + properties: + scheduleOption: + $ref: '#/components/schemas/scheduleOption-Type' + dailySchedule: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + weeklySchedule: + type: array + items: + $ref: '#/components/schemas/scheduleOfDay-Type' + timeInterval-Type: + type: object + properties: + intervalStart: + type: string + format: Time + intervalEnd: + type: string + format: Time + scheduleOfDay-Type: + type: object + properties: + dayOfWeek: + $ref: '#/components/schemas/dayOfWeek-Type' + intervalsOfDay: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + unsupportedMeas-Type: + type: object + properties: + iOCInstance: + $ref: '#/components/schemas/uri-Type' + measurementTypeName: + type: string + reason: + type: string + reportingMethod-Type: + type: string + enum: + - file + - streaming + priority-Type: + type: string + enum: + - low + - medium + - high + scheduleOption-Type: + type: string + enum: + - daily + - weekly + dayOfWeek-Type: + type: string + enum: + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday -- GitLab From d3ce4183e0e744e24e3b82ad51fe7986d6e650b0 Mon Sep 17 00:00:00 2001 From: yaoyiz Date: Thu, 2 Sep 2021 06:16:43 +0200 Subject: [PATCH 06/18] Add new file --- OpenAPI/PerfMeasJobCtrlMnS.yaml | 277 ++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 OpenAPI/PerfMeasJobCtrlMnS.yaml diff --git a/OpenAPI/PerfMeasJobCtrlMnS.yaml b/OpenAPI/PerfMeasJobCtrlMnS.yaml new file mode 100644 index 000000000..50fea5a73 --- /dev/null +++ b/OpenAPI/PerfMeasJobCtrlMnS.yaml @@ -0,0 +1,277 @@ +openapi: 3.0.1 +info: + title: TS 28.550 Performance Measurement Job Control Service + version: 16.8.0 + description: >- + OAS 3.0.1 specification of the Performance Measurement Job Control Service + @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.550 V16.8.0; Performance assurance + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ +servers: + - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /measJobs: + post: + summary: Create a measurement job + description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-RequestType' + responses: + '201': + description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + '202': + description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + get: + summary: Read resources of measurement jobs + description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' + parameters: + - name: jobIdList + in: query + description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + type: array + items: + type: string + responses: + '200': + description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + '/measJobs/{jobId}': + get: + summary: Read resource of a single measurement job + description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be read. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '200': + description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + delete: + summary: Delete a single measurement job + description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be deleted. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '204': + description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' +components: + schemas: + dateTime-Type: + type: string + format: date-Time + uri-Type: + type: string + measJobCreation-RequestType: + type: object + properties: + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + measJobCreation-ResponseType: + type: object + properties: + unsupportedList: + type: array + items: + $ref: '#/components/schemas/unsupportedMeas-Type' + measJobsRetrieval-ResponseType: + type: object + properties: + jobInfoList: + type: array + items: + $ref: '#/components/schemas/measJobInfo-ResourceType' + error-ResponseType: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + measJobInfo-ResourceType: + type: object + properties: + href: + $ref: '#/components/schemas/uri-Type' + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + schedule-Type: + type: object + properties: + scheduleOption: + $ref: '#/components/schemas/scheduleOption-Type' + dailySchedule: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + weeklySchedule: + type: array + items: + $ref: '#/components/schemas/scheduleOfDay-Type' + timeInterval-Type: + type: object + properties: + intervalStart: + type: string + format: Time + intervalEnd: + type: string + format: Time + scheduleOfDay-Type: + type: object + properties: + dayOfWeek: + $ref: '#/components/schemas/dayOfWeek-Type' + intervalsOfDay: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + unsupportedMeas-Type: + type: object + properties: + iOCInstance: + $ref: '#/components/schemas/uri-Type' + measurementTypeName: + type: string + reason: + type: string + reportingMethod-Type: + type: string + enum: + - file + - streaming + priority-Type: + type: string + enum: + - low + - medium + - high + scheduleOption-Type: + type: string + enum: + - daily + - weekly + dayOfWeek-Type: + type: string + enum: + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday -- GitLab From 6166b887cd6966a9358c543983ace5f40e9e58e1 Mon Sep 17 00:00:00 2001 From: pingj Date: Thu, 2 Sep 2021 07:11:29 +0200 Subject: [PATCH 07/18] Delete PerfMeasJobCtrlMnS.yaml --- PerfMeasJobCtrlMnS.yaml | 277 ---------------------------------------- 1 file changed, 277 deletions(-) delete mode 100644 PerfMeasJobCtrlMnS.yaml diff --git a/PerfMeasJobCtrlMnS.yaml b/PerfMeasJobCtrlMnS.yaml deleted file mode 100644 index 50fea5a73..000000000 --- a/PerfMeasJobCtrlMnS.yaml +++ /dev/null @@ -1,277 +0,0 @@ -openapi: 3.0.1 -info: - title: TS 28.550 Performance Measurement Job Control Service - version: 16.8.0 - description: >- - OAS 3.0.1 specification of the Performance Measurement Job Control Service - @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. -externalDocs: - description: 3GPP TS 28.550 V16.8.0; Performance assurance - url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ -servers: - - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' - variables: - MnSRoot: - description: See clause 4.4.2 of TS 32.158 - default: http://example.com/3GPPManagement - MnSVersion: - description: Version number of the OpenAPI definition - default: XXX -paths: - /measJobs: - post: - summary: Create a measurement job - description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-RequestType' - responses: - '201': - description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-ResponseType' - '202': - description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. - content: - application/json: - schema: - $ref: '#/components/schemas/measJobCreation-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - get: - summary: Read resources of measurement jobs - description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' - parameters: - - name: jobIdList - in: query - description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. - required: true - schema: - type: array - items: - type: string - responses: - '200': - description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' - content: - application/json: - schema: - $ref: '#/components/schemas/measJobsRetrieval-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - '/measJobs/{jobId}': - get: - summary: Read resource of a single measurement job - description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' - parameters: - - name: jobId - in: path - description: Identifies the measurement job to be read. - required: true - schema: - $ref: '#/components/schemas/uri-Type' - responses: - '200': - description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' - content: - application/json: - schema: - $ref: '#/components/schemas/measJobsRetrieval-ResponseType' - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' - delete: - summary: Delete a single measurement job - description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. - parameters: - - name: jobId - in: path - description: Identifies the measurement job to be deleted. - required: true - schema: - $ref: '#/components/schemas/uri-Type' - responses: - '204': - description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. - default: - description: Error case. - content: - application/json: - schema: - $ref: '#/components/schemas/error-ResponseType' -components: - schemas: - dateTime-Type: - type: string - format: date-Time - uri-Type: - type: string - measJobCreation-RequestType: - type: object - properties: - iOCName: - type: string - iOCInstanceList: - type: array - items: - $ref: '#/components/schemas/uri-Type' - measurementCategoryList: - type: array - items: - type: string - reportingMethod: - $ref: '#/components/schemas/reportingMethod-Type' - granularityPeriod: - type: integer - reportingPeriod: - type: integer - startTime: - $ref: '#/components/schemas/dateTime-Type' - stopTime: - $ref: '#/components/schemas/dateTime-Type' - schedule: - $ref: '#/components/schemas/schedule-Type' - streamTarget: - type: string - priority: - $ref: '#/components/schemas/priority-Type' - reliability: - type: string - measJobCreation-ResponseType: - type: object - properties: - unsupportedList: - type: array - items: - $ref: '#/components/schemas/unsupportedMeas-Type' - measJobsRetrieval-ResponseType: - type: object - properties: - jobInfoList: - type: array - items: - $ref: '#/components/schemas/measJobInfo-ResourceType' - error-ResponseType: - type: object - properties: - error: - type: object - properties: - errorInfo: - type: string - measJobInfo-ResourceType: - type: object - properties: - href: - $ref: '#/components/schemas/uri-Type' - iOCName: - type: string - iOCInstanceList: - type: array - items: - $ref: '#/components/schemas/uri-Type' - measurementCategoryList: - type: array - items: - type: string - reportingMethod: - $ref: '#/components/schemas/reportingMethod-Type' - granularityPeriod: - type: integer - reportingPeriod: - type: integer - startTime: - $ref: '#/components/schemas/dateTime-Type' - stopTime: - $ref: '#/components/schemas/dateTime-Type' - schedule: - $ref: '#/components/schemas/schedule-Type' - streamTarget: - type: string - priority: - $ref: '#/components/schemas/priority-Type' - reliability: - type: string - schedule-Type: - type: object - properties: - scheduleOption: - $ref: '#/components/schemas/scheduleOption-Type' - dailySchedule: - type: array - items: - $ref: '#/components/schemas/timeInterval-Type' - weeklySchedule: - type: array - items: - $ref: '#/components/schemas/scheduleOfDay-Type' - timeInterval-Type: - type: object - properties: - intervalStart: - type: string - format: Time - intervalEnd: - type: string - format: Time - scheduleOfDay-Type: - type: object - properties: - dayOfWeek: - $ref: '#/components/schemas/dayOfWeek-Type' - intervalsOfDay: - type: array - items: - $ref: '#/components/schemas/timeInterval-Type' - unsupportedMeas-Type: - type: object - properties: - iOCInstance: - $ref: '#/components/schemas/uri-Type' - measurementTypeName: - type: string - reason: - type: string - reportingMethod-Type: - type: string - enum: - - file - - streaming - priority-Type: - type: string - enum: - - low - - medium - - high - scheduleOption-Type: - type: string - enum: - - daily - - weekly - dayOfWeek-Type: - type: string - enum: - - Monday - - Tuesday - - Wednesday - - Thursday - - Friday - - Saturday - - Sunday -- GitLab From c0669634126bc8082236156c2b5a8544187ae642 Mon Sep 17 00:00:00 2001 From: sunse Date: Mon, 16 Aug 2021 13:32:48 +0200 Subject: [PATCH 08/18] Update nrNrm.yaml --- OpenAPI/nrNrm.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/OpenAPI/nrNrm.yaml b/OpenAPI/nrNrm.yaml index ada95116b..c564b1a12 100644 --- a/OpenAPI/nrNrm.yaml +++ b/OpenAPI/nrNrm.yaml @@ -887,6 +887,20 @@ components: type: array items: $ref: 'comDefs.yaml#/components/schemas/Dn' + rimRSMonitoringStartTime: + type: string + rimRSMonitoringStopTime: + type: string + rimRSMonitoringWindowDuration: + type: integer + rimRSMonitoringWindowStartingOffset: + type: integer + rimRSMonitoringWindowPeriodicity: + type: integer + rimRSMonitoringOccasionInterval: + type: integer + rimRSMonitoringOccasionStartingOffset: + type: integer nRFrequencyRef: $ref: 'comDefs.yaml#/components/schemas/Dn' victimSetRef: @@ -1391,20 +1405,6 @@ components: $ref: '#/components/schemas/RSSetId' setType: $ref: '#/components/schemas/RSSetType' - rimRSMonitoringStartTime: - type: string - rimRSMonitoringStopTime: - type: string - rimRSMonitoringWindowDuration: - type: integer - rimRSMonitoringWindowStartingOffset: - type: integer - rimRSMonitoringWindowPeriodicity: - type: integer - rimRSMonitoringOccasionInterval: - type: integer - rimRSMonitoringOccasionStartingOffset: - type: integer nRCellDURefs: $ref: 'comDefs.yaml#/components/schemas/DnList' -- GitLab From 56c9ed2fc1f59d2b321a6d824c0372270ddc5833 Mon Sep 17 00:00:00 2001 From: sunse Date: Mon, 16 Aug 2021 13:36:33 +0200 Subject: [PATCH 09/18] Update 5gcNrm.yaml --- OpenAPI/5gcNrm.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenAPI/5gcNrm.yaml b/OpenAPI/5gcNrm.yaml index 543c2be3d..33f707a69 100644 --- a/OpenAPI/5gcNrm.yaml +++ b/OpenAPI/5gcNrm.yaml @@ -1051,8 +1051,6 @@ components: $ref: '#/components/schemas/ManagedNFProfile' capabilityList: $ref: '#/components/schemas/CapabilityList' - isINEF: - type: boolean isCAPIFSup: type: boolean - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' -- GitLab From 795ea0580db8994c16190b2cabb8ee490f76bd11 Mon Sep 17 00:00:00 2001 From: sunse Date: Mon, 16 Aug 2021 13:38:12 +0200 Subject: [PATCH 10/18] Update _3gpp-5gc-nrm-neffunction.yang --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 4 ---- 1 file changed, 4 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 830371f6a..c3a56501c 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -43,10 +43,6 @@ module _3gpp-5gc-nrm-neffunction { reference "3GPP TS 23.003"; type string; } - - leaf isINEF { - type boolean; - } leaf isCAPIFSup { type boolean; -- GitLab From 254c1edb0b72ab6ba10d0c2423ba83bced16b62f Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 25 Aug 2021 08:01:24 +0200 Subject: [PATCH 11/18] Update _3gpp-common-managed-element.yang --- yang-models/_3gpp-common-managed-element.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 33acde382..9bd832786 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -179,7 +179,6 @@ module _3gpp-common-managed-element { leaf priorityLabel { type uint32; - mandatory true; } } -- GitLab From 847552a15fdadff00765e100de54a1c56c90ce9f Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 25 Aug 2021 08:13:54 +0200 Subject: [PATCH 12/18] Update _3gpp-common-managed-function.yang --- yang-models/_3gpp-common-managed-function.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index a46d86482..bf4dc52d4 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -281,7 +281,6 @@ module _3gpp-common-managed-function { } leaf priorityLabel { - mandatory true; type uint32; } uses meas3gpp:SupportedPerfMetricGroupGrp; -- GitLab From dd60ec0e136d30e0a1590c2d16e2412469fa6a21 Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 25 Aug 2021 08:15:38 +0200 Subject: [PATCH 13/18] Update _3gpp-common-fm.yang --- yang-models/_3gpp-common-fm.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index c6b4d33cb..fc1b0d0f7 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -115,7 +115,7 @@ module _3gpp-common-fm { } leaf notificationId { - type string; + type int32; config false ; mandatory true; } -- GitLab From 4c3e7af8d8b7e260691fb1608274029ce44fd30d Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 1 Sep 2021 15:09:38 +0200 Subject: [PATCH 14/18] Update _3gpp-common-managed-element.yang --- yang-models/_3gpp-common-managed-element.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 9bd832786..33acde382 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -179,6 +179,7 @@ module _3gpp-common-managed-element { leaf priorityLabel { type uint32; + mandatory true; } } -- GitLab From 2ec0fb742c5219b7794ca5afac436c1d9c651134 Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 1 Sep 2021 15:10:47 +0200 Subject: [PATCH 15/18] Update _3gpp-common-managed-function.yang --- yang-models/_3gpp-common-managed-function.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index bf4dc52d4..ea7a8aa36 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -282,6 +282,7 @@ module _3gpp-common-managed-function { leaf priorityLabel { type uint32; + mandatory true; } uses meas3gpp:SupportedPerfMetricGroupGrp; } -- GitLab From b42cca542bd673888e140145ff745e599e84f523 Mon Sep 17 00:00:00 2001 From: pollakowskio Date: Wed, 1 Sep 2021 15:14:05 +0200 Subject: [PATCH 16/18] Update _3gpp-common-managed-function.yang --- yang-models/_3gpp-common-managed-function.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index ea7a8aa36..a46d86482 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -281,8 +281,8 @@ module _3gpp-common-managed-function { } leaf priorityLabel { - type uint32; mandatory true; + type uint32; } uses meas3gpp:SupportedPerfMetricGroupGrp; } -- GitLab From ab1de0af15ce5a9b1aadfaef036c13cb35873727 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 22 Jul 2021 11:12:47 +0200 Subject: [PATCH 17/18] CR-0104 S5-213476 PerMetricJob desc updates --- yang-models/_3gpp-common-measurements.yang | 516 +++++++++++---------- 1 file changed, 269 insertions(+), 247 deletions(-) diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 30627565c..14dfdba55 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-xxxx"; } 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 -- GitLab From e52314cafdd54a80775a5d6f8ce691d4e25c6435 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 30 Aug 2021 11:43:48 +0200 Subject: [PATCH 18/18] qwerty --- yang-models/_3gpp-common-measurements.yang | 2 +- yang-models/_3gpp-common-trace.yang | 486 +++++++++++++-------- 2 files changed, 296 insertions(+), 192 deletions(-) diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 14dfdba55..96893e6c3 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -53,7 +53,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; - revision 2021-07-22 { reference "CR-xxxx"; } + 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"; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 13b3f026d..84ae422ee 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -1,31 +1,32 @@ module _3gpp-common-trace { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-trace"; prefix "trace3gpp"; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types {prefix types3gpp; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Trace handling"; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions - + 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; - revision 2021-01-25 { reference "CR-0122"; } + revision 2021-07-22 { reference "CR-0137"; } + revision 2021-01-25 { reference "CR-0122"; } revision 2020-11-16 { reference "CR-0117"; } - revision 2020-08-06 { reference "CR-0102"; } - + revision 2020-08-06 { reference "CR-0102"; } + grouping TraceJobGrp { leaf tjJobType { type enumeration { @@ -38,14 +39,14 @@ module _3gpp-common-trace { enum LOGGED_MBSFN_MDT; } default TRACE_ONLY; - description "Specifies the MDT mode and it specifies also whether the - TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined - Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and - RLF reporting."; - reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the + description "Specifies the MDT mode and it specifies also whether the + TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined + Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and + RLF reporting."; + reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the allowed values."; } - + list tjListOfInterfaces { key idx; must 'count(MSCServerInterfaces)+count(MGWInterfaces)+count(RNCInterfaces)' @@ -59,16 +60,17 @@ module _3gpp-common-trace { +'+count(NEFInterfaces)+count(NRFInterfaces)+count(NSSFInterfaces)' +'+count(PCFInterfaces)+count(SMFInterfaces)+count(SMSFInterfaces)' +'+count(UDMInterfaces)+count(UPFInterfaces)+count(ng-eNBInterfaces)' - +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)+count(gNB-DUInterfaces)'; - - description "Specifies the interfaces that need to be traced in the given - ManagedEntityFunction.The attribute is applicable only for Trace. In + +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)' + +'+count(gNB-DUInterfaces)'; + + description "Specifies the interfaces that need to be traced in the given + ManagedEntityFunction.The attribute is applicable only for Trace. In case this attribute is not used, it carries a null semantic."; - reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the + reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the allowed values."; - - leaf idx { type uint32 ; } - + + leaf idx { type uint32 ; } + leaf-list MSCServerInterfaces { type enumeration { enum A ; @@ -375,35 +377,35 @@ module _3gpp-common-trace { enum GNB_CU_UP; enum GNB_DU; } - description "Specifies in which type of ManagedFunction the trace should - be activated. The attribute is applicable only for Trace with - Signalling Based Trace activation. In case this attribute is not used, + description "Specifies in which type of ManagedFunction the trace should + be activated. The attribute is applicable only for Trace with + Signalling Based Trace activation. In case this attribute is not used, it carries a null semantic"; - reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the + reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the allowed values"; } - + leaf tjPLMNTarget { type string; mandatory true; - description "Specifies which PLMN that the subscriber of the session to - be recorded uses as selected PLMN. PLMN Target might differ from the + description "Specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN. PLMN Target might differ from the PLMN specified in the Trace Reference"; reference "Clause 5.9b of 3GPP TS 32.422"; } - + leaf tjStreamingTraceConsumerURI { when './tjTraceReportingFormat = "STREAMING"'; type inet:uri; mandatory true; - description "URI of the Streaming Trace data reporting MnS consumer - (a.k.a. streaming target). - This attribute shall be present if file based trace data reporting is - supported and tjTraceReportingFormat set to 'file based' or when + description "URI of the Streaming Trace data reporting MnS consumer + (a.k.a. streaming target). + This attribute shall be present if file based trace data reporting is + supported and tjTraceReportingFormat set to 'file based' or when tjJobType is set to Logged MDT or Logged MBSFN MDT."; reference "Clause 5.9 of 3GPP TS 32.422"; } - + leaf tjTraceCollectionEntityAddress { when './tjTraceReportingFormat = "FILE_BASED" or ' +'./tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; @@ -412,41 +414,51 @@ module _3gpp-common-trace { type inet:ip-address; } mandatory true; - description "Specifies the address of the Trace Collection Entity when - the attribute tjTraceReportingFormat is configured for the file-based + description "Specifies the address of the Trace Collection Entity when + the attribute tjTraceReportingFormat is configured for the file-based reporting. The attribute is applicable for both Trace and MDT."; reference "Clause 5.9 of 3GPP TS 32.422"; } - + leaf tjTraceDepth { - when './tjJobType = "TRACE_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "TRACE_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum MINIMUM; enum MEDIUM; enum MAXIMUM; enum VENDORMINIMUM; enum VENDORMEDIUM; - enum VENDORMAXIMUM; + enum VENDORMAXIMUM; } default MAXIMUM; - description "Specifies how detailed information should be recorded in the - Network Element. The Trace Depth is a paremeter for Trace Session level, - i.e., the Trace Depth is the same for all of the NEs to be traced in + description "Specifies how detailed information should be recorded in the + Network Element. The Trace Depth is a paremeter for Trace Session level, + i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. - The attribute is applicable only for Trace, otherwise it carries a null + The attribute is applicable only for Trace, otherwise it carries a null semantic."; reference "Clause 5.3 of 3GPP TS 32.422"; } - + leaf tjTraceReference { type uint64; mandatory true; - description "A globally unique identifier, which uniquely identifies the - Trace Session that is created by the TraceJob. - In case of shared network, it is the MCC and MNC of the Participating + description "A globally unique identifier, which uniquely identifies the + Trace Session that is created by the TraceJob. + In case of shared network, it is the MCC and MNC of the Participating Operator that request the trace session that shall be provided. The attribute is applicable for both Trace and MDT."; } + + leaf tjTraceRecordSessionReference { + type string; + mandatory true; + description "An identifier, which identifies the Trace Recording Session. + The attribute is applicable for both Trace and MDT. + See the clause 5.7 of 3GPP TS 32.422 for additional details on the + allowed values."; + } leaf tjTraceReportingFormat { type enumeration { @@ -454,7 +466,7 @@ module _3gpp-common-trace { enum STREAMING; } default FILE_BASED; - description "Specifies the trace reporting format - streaming trace + description "Specifies the trace reporting format - streaming trace reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } @@ -481,46 +493,48 @@ module _3gpp-common-trace { leaf targetIdValue { type string; } - - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute + + description "Specifies the target object of the Trace and MDT. The + attribute is applicable for both Trace and MDT. This attribute includes the ID type of the target as an enumeration and the ID value. - - The tjTraceTarget shall be public ID in case of a Management Based - Activation is done to an ScscfFunction. The tjTraceTarget shall be - cell only in case of the UTRAN cell traffic trace function. - The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell - traffic trace function.The tjTraceTarget shall be either IMSI or - IMEI(SV) if the Trace Session is activated to any of the following + The tjTraceTarget shall be public ID in case of a Management Based + Activation is done to an ScscfFunction. The tjTraceTarget shall be + cell only in case of the UTRAN cell traffic trace function. + + The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell + traffic trace function.The tjTraceTarget shall be either IMSI or + IMEI(SV) if the Trace Session is activated to any of the following ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - The tjTraceTarget shall be IMSI if the Trace Session is activated to a + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + + The tjTraceTarget shall be IMSI if the Trace Session is activated to a ManagedEntity playing a role of ServinGWFunction. - In case of signaling based Trace/MDT, the tjTraceTarget attribute shall be - able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute shall be - able to carry a list of (cell or E-UtranCell or NRCellDU or TA/LA/RA). + In case of signaling based Trace/MDT, the tjTraceTarget attribute shall + be able to carry (IMSI or IMEI(SV)or SUPI), the tjMDTAreaScope attribute + shall be able to carry a list of (cell or E-UtranCell or NRCellDU or + TA/LA/RA). - In case of management based Immediate MDT, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry a list of + In case of management based Immediate MDT, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU). - In case of management based Logged MDT, the tjTraceTarget attribute - shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated on - the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope attribute - shall carry a list of (Utrancell or E-UtranCell or NRCellDU or TA/LA/RA). + In case of management based Logged MDT, the tjTraceTarget attribute + shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated + on the specified eNB or RNC or gNB in tjTraceTarget. The tjMDTAreaScope + attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU or + TA/LA/RA). - In case of RLF reporting, or RCEF reporting, the tjTraceTarget attribute - shall be null value, the tjMDTAreaScope attribute shall carry one or - list of eNBs/gNBs"; + In case of RLF reporting, or RCEF reporting, the tjTraceTarget + attribute shall be null value, the tjMDTAreaScope attribute shall carry + one or list of eNBs/gNBs"; reference "3GPP TS 32.422"; } @@ -528,8 +542,8 @@ module _3gpp-common-trace { when './tjJobType = "TRACE" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type string ; mandatory true; - description "Specifies the triggering event parameter of the trace session. - The attribute is applicable only for Trace. In case this attribute is + description "Specifies the triggering event parameter of the trace session. + The attribute is applicable only for Trace. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.1 of 3GPP TS 32.422"; } @@ -550,19 +564,19 @@ module _3gpp-common-trace { key "idx"; min-elements 1; leaf idx { type uint32 ; } - - description "It specifies the area for which UE is requested to perform - measurement logging for neighbour cells which have list of frequencies. - If it is not configured, the UE shall perform measurement logging for + + description "It specifies the area for which UE is requested to perform + measurement logging for neighbour cells which have list of frequencies. + If it is not configured, the UE shall perform measurement logging for all the neighbour cells. Applicable only to NR Logged MDT."; reference "3GPP TS 32.422 clause 5.10.26."; - + leaf frequency { type string; } - + leaf cell { type string; } @@ -570,13 +584,13 @@ module _3gpp-common-trace { leaf-list tjMDTAreaScope { type string; - description "specifies MDT area scope when activates an MDT job. + description "specifies MDT area scope when activates an MDT job. - For RLF and RCEF reporting it specifies the eNB or list of eNBs where the + For RLF and RCEF reporting it specifies the eNB or list of eNBs where the RLF or RCEF reports should be collected. - List of cells/TA/LA/RA for signaling based MDT or management based Logged + List of cells/TA/LA/RA for signaling based MDT or management based Logged MDT. List of cells for management based Immediate MDT. @@ -586,48 +600,51 @@ module _3gpp-common-trace { One or list of eNBs for RLF and RCEFreporting"; reference "Clause 5.10.2 of 3GPP TS 32.422"; } - + leaf tjMDTCollectionPeriodRrmLte { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; } units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M2, M3 in LTE. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a + description "Specifies the collection period for collecting RRM configured + measurement samples for M2, M3 in LTE. The attribute is applicable only + for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.20 of 3GPP TS 32.422"; } leaf tjMDTCollectionPeriodRrmUmts { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|1280|2048|2560|5120|" +"10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M3, M4, M5 in UMTS. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, it carries + description "Specifies the collection period for collecting RRM configured + measurement samples for M3, M4, M5 in UMTS. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries a null semantic"; reference "Clause 5.10.21 of 3GPP TS 32.422"; } leaf tjMDTCollectionPeriodRrmNR { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|2048|5120|10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM configured - measurement samples for M4, M5 in NR. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a - null semantic."; + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is + applicable only for Immediate MDT. In case this attribute is not + used, it carries a null semantic."; reference "Clause 5.10.30 of 3GPP TS 32.422"; } - + leaf tjMDTEventListForTriggeredMeasurement { when './tjJobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -635,35 +652,35 @@ module _3gpp-common-trace { enum A2_EVENT ; } mandatory true; - description "Specifies event types for event triggered measurement in the - case of logged NR MDT. Each trace session may configure at most one - event. The UE shall perform logging of measurements only upon certain + description "Specifies event types for event triggered measurement in the + case of logged NR MDT. Each trace session may configure at most one + event. The UE shall perform logging of measurements only upon certain condition being fulfilled: - Out of coverage. - A2 event."; reference "Clause 5.10.28 of 3GPP TS 32.422"; } - + leaf tjMDTEventThreshold { type int64; - description "Specifies the threshold which should trigger the reporting - in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute - is applicable only for Immediate MDT and when reportingTrigger is - configured for A2 event in LTE or 1F event or 1l event in UMTS. In + description "Specifies the threshold which should trigger the reporting + in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute + is applicable only for Immediate MDT and when reportingTrigger is + configured for A2 event in LTE or 1F event or 1l event in UMTS. In case this attribute is not used, it carries a null semantic."; reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - + leaf tjMDTListOfMeasurements { when './tjJobType = "IMMEDIATE_MDT"'; type int64; mandatory true; - description "It specifies the UE measurements that shall be collected in - an Immediate MDT job. The attribute is applicable only for Immediate MDT. + description "It specifies the UE measurements that shall be collected in + an Immediate MDT job. The attribute is applicable only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "3GPP TS 32.422 clause 5.10.3"; } - + leaf tjMDTLoggingDuration { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { @@ -671,13 +688,13 @@ module _3gpp-common-trace { } units seconds; mandatory true; - description "Specifies how long the MDT configuration is valid at the - UE in case of Logged MDT. The attribute is applicable only for - Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it + description "Specifies how long the MDT configuration is valid at the + UE in case of Logged MDT. The attribute is applicable only for + Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it carries a null semantic."; reference "5.10.9 of 3GPP TS 32.422"; } - + leaf tjMDTLoggingInterval { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { @@ -686,87 +703,92 @@ module _3gpp-common-trace { } units milliseconds; mandatory true; - description "Specifies the periodicty for Logged MDT. The attribute is - applicable only for Logged MDT and Logged MBSFN MDT. In case this + description "Specifies the periodicty for Logged MDT. The attribute is + applicable only for Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it carries a null semantic"; reference "5.10.8 of 3GPP TS 32.422"; } - + leaf-list tjMDTMBSFNAreaList { when './tjJobType = "LOGGED_MBSFN_MDT"'; type string; min-elements 1; max-elements 8; - description "The MBSFN Area consists of a MBSFN Area ID and Carrier - Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. + description "The MBSFN Area consists of a MBSFN Area ID and Carrier + Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. This parameter is applicable only if the job type is Logged MBSFN MDT."; reference "5.10.25 of 3GPP TS 32.422"; } leaf tjMDTMeasurementPeriodLTE { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|1280|2048|2560|5120|" +"10240|60000"; } units milliseconds; mandatory true; - description "It specifies the measurement period for the Data Volume and - Scheduled IP throughput measurements for MDT taken by the eNB. - The attribute is applicable only for Immediate MDT. In case this + description "It specifies the measurement period for the Data Volume and + Scheduled IP throughput measurements for MDT taken by the eNB. + The attribute is applicable only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.23 of 3GPP TS 32.422"; } leaf tjMDTMeasurementPeriodUMTS { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + 'or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; } units milliseconds; mandatory true; - description "It specifies the measurement period for the Data Volume and - Throughput measurements for MDT taken by RNC. - The attribute is applicable only for Immediate MDT. In case this + description "It specifies the measurement period for the Data Volume and + Throughput measurements for MDT taken by RNC. + The attribute is applicable only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.22 of 3GPP TS 32.422"; } - + leaf tjMDTMeasurementQuantity { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint64 ; mandatory true; - description "It specifies the measurements that are collected in an MDT + description "It specifies the measurements that are collected in an MDT job for a UMTS MDT configured for event triggered reporting."; reference "Clause 5.10.15 of 3GPP TS 32.422"; } - + list tjMDTPLMList { when './tjJobType = "LOGGED_MDT_ONLY"'; key "mcc mnc"; uses types3gpp:PLMNId; min-elements 1; max-elements 16; - description "It indicates the PLMNs where measurement collection, status + description "It indicates the PLMNs where measurement collection, status indication and log reporting is allowed."; reference "Clause 5.10.24 of 3GPP TS 32.422"; } leaf tjMDTPositioningMethod { - when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum GNSS; enum E_CELL_ID; } mandatory true; - description "It specifies what positioning method should be used in the + description "It specifies what positioning method should be used in the MDT job."; reference "Clause 5.10.19 of 3GPP TS 32.422"; } - + leaf tjMDTReportAmount { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' and ./tjMDTReportingTrigger = "PERIODICAL"'; type union { type uint32 { range "1|4|8|16|32|64" ; @@ -776,14 +798,14 @@ module _3gpp-common-trace { } } mandatory true; - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.6 of 3GPP TS 32.422"; } - + leaf tjMDTReportingTrigger { when './tjJobType = "IMMEDIATE_MDT_ONLY"'; type enumeration { @@ -795,17 +817,18 @@ module _3gpp-common-trace { enum ALL_CONFIGURED_RRM_FOR_LTE; enum ALL_CONFIGURED_RRM_FOR_UMTS; } - description "It specifies whether periodic or event based measurements - should be collected. - The attribute is applicable only for Immediate MDT and when the - tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) - or M2 (only for UMTS). In case this attribute is not used, it carries + description "It specifies whether periodic or event based measurements + should be collected. + The attribute is applicable only for Immediate MDT and when the + tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) + or M2 (only for UMTS). In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.4 of 3GPP TS 32.422"; } - + leaf tjMDTReportInterval { - when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' and ./tjMDTReportingTrigger = "PERIODICAL"'; type uint32 { range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" +"5120|6000|8000|10240|12000|16000|20000|" @@ -814,14 +837,14 @@ module _3gpp-common-trace { } units milliseconds; mandatory true; - description "It specifies the interval between the periodical measurements - that shall be taken when the UE is in connected mode. - The attribute is applicable only for Immediate MDT and when - tjMDTReportingTrigger is configured for periodical measurements. In case + description "It specifies the interval between the periodical measurements + that shall be taken when the UE is in connected mode. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case this attribute is not used, it carries a null semantic."; reference "5.10.5 of 3GPP TS 32.422"; - } - + } + leaf tjMDTReportType { when './tjJobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -832,7 +855,7 @@ module _3gpp-common-trace { description "It specifies report type for logged NR MDT"; reference "Clause 5.10.27 of 3GPP TS 32.422"; } - + leaf tjMDTSensorInformation { type bits { bit BAROMETRIC_PRESSURE; @@ -840,56 +863,137 @@ module _3gpp-common-trace { bit UE_ORIENTATION; } default ""; - description "It specifies which sensor information shall be included in - logged NR MDT and immediate NR MDT measurement if they are available. - The following sensor measurement can be included or excluded for the UE."; + description "It specifies which sensor information shall be included in + logged NR MDT and immediate NR MDT measurement if they are available. + The following sensor measurement can be included or excluded for + the UE."; reference "Clause 5.10.29 of 3GPP TS 32.422"; } - + leaf tjMDTTraceCollectionEntityID { when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; type uint8; mandatory true; - description "It specifies the TCE Id which is sent to the UE in Logged MDT."; + description "It specifies the TCE Id which is sent to the UE in + Logged MDT."; reference "Clause 5.10.11 of 3GPP TS 32.422"; } } - + grouping TraceSubtree { - description "Contains classes that manage Tracing. - Should be used in all classes (or classes inheriting from) + description "Contains classes that manage Tracing. + Should be used in all classes (or classes inheriting from) - SubNnetwork - ManagedElement - ManagedFunction - - If a YANG module wants to augment these classes/list/groupings they must + + If a YANG module wants to augment these classes/list/groupings they must augment all user classes!"; - + list TraceJob { - description "Represents the Trace Control and Configuration parameters of a + description "Represents the Trace Control and Configuration parameters of a particular Trace Job (see TS 32.421 and TS 32.422 for details). - - To activate Trace Jobs, a MnS consumer has to create TraceJob object - instances on the MnS producer. A MnS consumer can activate a Trace Job - for another MnS consumer since it is not required the value of - tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his + It can be name-contained by SubNetwork, ManagedElement, ManagedFunction + or NetworkSliceSubnet. + + To activate Trace Jobs, a MnS consumer has to create TraceJob object + instances on the MnS producer. A MnS consumer can activate a Trace Job + for another MnS consumer since it is not required the value of + tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his own. - - When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - - For details of management Trace Job activation/deactivation see clause + + When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer + shall delete the corresponding TraceJob instance. + + For details of management Trace Job activation/deactivation see clause 4.1.1.1.2 of TS 32.422. - Creation and deletion of TraceJob instances by MnS consumers is optional; - when not supported, the TraceJob instances may be created and deleted by + The attribute tjJobType specifies the kind of data to collect. Dependent + on the selected type various parameters shall be available. The + attributes tjJobType, tjTraceReference, tjTraceRecordSessionReference, + tjTraceCollectionEntityAddress and tjTraceReportingFormat are mandatory + for all job types. If streaming reporting is selected for + tjTraceReportingFormat, tjStreamingTraceConsumerURI shall be present + additionally. The attribute tjPLMNTarget shall be present if trace + activation method is management based. + + For the different job types the attributes are differentiated as follows: + - In case of TRACE_ONLY additionally the following attributes shall be + available: tjListOfNeTypes, tjTraceDepth, tjTraceTarget and + tjTriggeringEvent. + + For this case the optional attribute tjListOfInterfaces allows to + specify the interfaces to be recorded. + + - In case of IMMEDIATE_MDT_ONLY additionally the following attributes + shall be available: + - tjTraceTarget + - tjMDTAnonymizationOfData, + - tjMDTListOfMeasurements, + - tjMDTCollectionPeriodRrmUmts (conditional for M3, M4 and M5 in UMTS), + - tjMDTMeasurementPeriodUMTS (conditional for M6 and M7 in UMTS), + - tjMDTCollectionPeriodRrmLte (conditional for M2 and M3 in LTE), + - tjMDTMeasurementPeriodLTE (conditional for M4 and M5 in LTE), + - tjMDTCollectionPeriodM6Lte (conditional for M6 in LTE), + - tjMDTCollectionPeriodM7Lte (conditional for M7 in LTE), + - tjMDTCollectionPeriodRrmNR (conditional for M4 and M5 in NR), + - tjMDTCollectionPeriodM6NR (conditional for M6 in NR), + - tjMDTCollectionPeriodM7NR (conditional for M7 in NR), + - tjMDTReportInterval (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTReportAmount (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTReportingTrigger (conditional for M1 in LTE or NR and M1/M2 in + UMTS), + - tjMDTEventThreshold (conditional for A2 event reporting or A2 event + triggered periodic reporting), + - tjMDTMeasurementQuantity (conditional for 1F event reporting). + + For this case the optional attribute tjMDTAreaScope allows to specify + the area in terms of cells or Tracking Area/Routing Area/Location area + where the MDT data collection shall take place and the optional + attributes tjMDTPositioningMethod, tjMDTSensorInformation allow to + specify the positioning methods to use or the sensor information to + include. + + - In case of IMMEDIATE_MDT_AND_TRACE both additional attributes of + TRACE_ONLY and IMMEDIATE_MDT_ONLY shall apply. + + - In case of LOGGED_MDT_ONLY additionally the following attributes + shall be available: tjTraceTarget, tjMDTAnonymizationOfData, + tjMDTTraceCollectionEntityID, tjMDTLoggingInterval, + tjMDTLoggingDuration, tjMDTReportType, + tjMDTEventListForTriggeredMeasurements. + + For this case the optional attribute tjMDTAreaScope allows to specify + the area in terms of cells or Tracking Area/Routing Area/Location area + where the MDT data collection shall take place, the optional attribute + tjMDTPLMNList allows to specify the PLMNs where measurement collection, + status indication and log reporting is allowed, the optional attribute + tjMDTAreaConfigurationForNeighCell allows to specify the area for + which UE is requested to perform measurements logging for neighbour + cells which have list of frequencies and the optional attribute + tjMDTSensorInformation allows to specify the sensor information to + include. + + - In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY additionally the + attribute tjTraceTarget shall be available, the optional attribute + tjMDTAreaScope allows to specify the eNB or list of eNBs or gNB or + list of gNBs where the reports should be collected. + + - In case of LOGGED_MBSFN_MDT additionally the following attributes + shall be available: tjMDTAnonymizationOfData, tjMDTLoggingInterval, + tjMDTLoggingDuration, tjMDTMBSFNAreaList. + + Creation and deletion of TraceJob instances by MnS consumers is optional; + when not supported, the TraceJob instances may be created and deleted by the system or be pre-installed."; - - key id; - uses top3gpp:Top_Grp ; + + key id; + uses top3gpp:Top_Grp ; container attributes { uses TraceJobGrp ; - } + } } } } \ No newline at end of file -- GitLab