diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 8eb695cbd69bdae70d8d711404f477f85ec689d6..226f9ec62b46d964677ec255f5a7673a67d823f3 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-214052/CR-0517; } 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 39b4f5fc442cbdd56b5620333b4fbb9b66890e67..42a72066a2f2541137729d4ca37e0c102e617175 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-214052/CR-0517; } 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 918c0581fdaba52fe6de4a359dd5d6b271ff0716..5ee7472e206f21e170743641a07333f5ca8ccb6c 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-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } - grouping CPCIConfigurationFunctionGrp { - description "Represents the CPCICONFIGURATIONFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - - list cSonPciList { - key NRPci; - description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; - leaf NRPci {type int32;} - container attributes { - uses CSonPciListGrp; - } - } - + description "Represents the CPCIConfigurationFunction IOC."; leaf cPciConfigurationControl { - description "This attribute determines whether the Centralized SON PCI configuration function is enabled or disabled."; + description "This attribute determines whether the Centralized SON + PCI configuration function is enabled or disabled."; type boolean; + mandatory true; } + leaf-list cSonPciList { + type int32 { range "0..1007"; } + min-elements 1; + description "Holds a list of physical cell identities that can be + assigned to the pci attribute by gNB. The assignment algorithm is not + specified. + See TS 38.211 clause 7.4.2.1 for legal values of pci. + This attribute shall be supported if and only if the C-SON PCI + configuration is supported."; + reference "See TS 38.211 clause 7.4.2.1"; + } } - grouping CSonPciListGrp { - description "Represents the C-SON PCI list for the PCI configuration function."; - - leaf NRPci { - description "This attribute determines the NR PCI."; - type int32 { range "0..1007"; } - units "1"; + grouping CPCIConfigurationFunctionSubtree { + list CPCIConfigurationFunction { + description "This IOC contains attributes to support the Cross + Domain-Centralized SON function of PCI configuration + + In the case where multiple CPCIConfiguration MOIs exist at different + levels of the containment tree, the CPCIConfiguration MOI at the lower + level overrides the CPCIConfiguration MOIs at higher level(s) of the + same containment tree."; + reference "clause 7.2.1 in TS 28.313"; + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses CPCIConfigurationFunctionGrp ; + } } } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU { if-feature nrcelldu3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses CPCIConfigurationFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses CPCIConfigurationFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:CPCIConfigurationFunction; - uses CPCIConfigurationFunctionGrp; - } + uses CPCIConfigurationFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index a69c94e792122b2cdcb6821b96e8826233f603a8..8aa9110a9886424faf42fcbf909b27828c714865 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-214052/CR-0517; } revision 2020-05-08 { reference S5-203316; } - - grouping DESManagementFunctionGrp { - description "Represents the DESManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - - leaf desSwitch { - description "This attribute determines whether the Distributed SON energy saving function is enabled or disabled."; - type boolean; - } - - list intraRatEsActivationOriginalCellLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as an original cell.This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationOriginalCellLoadParametersGrp; - } - } - - - list intraRatEsActivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsActivationCandidateCellsLoadParametersGrp; - } - } - - list intraRatEsDeactivationCandidateCellsLoadParameters { - key loadThreshold; - description "This attributes is relevant, if the cell acts as a candidate cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; - } - } - - list esNotAllowedTimePeriod { - key startTimeandendTime; - description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; - leaf startTimeandendTime {type string;} - container attributes { - uses EsNotAllowedTimePeriodGrp; - } - } - - list interRatEsActivationOriginalCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationOriginalCellParametersGrp; - } - } - - list interRatEsActivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsActivationCandidateCellParametersGrp; - } - } - - list interRatEsDeactivationCandidateCellParameters { - key loadThreshold; - description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; - leaf loadThreshold {type int32;} - container attributes { - uses InterRatEsDeactivationCandidateCellParametersGrp; - } - } - - leaf energySavingState { - description "Specifies the status regarding the energy saving in the cell."; - type enumeration { - enum isNotEnergySaving; - enum isEnergySaving; - } - } - - leaf isProbingCapable { - description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; - type enumeration{ - enum yes; - enum no; - } - } - - } - - grouping IntraRatEsActivationOriginalCellLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; + grouping loadTimeThresholdGrp { + description "Represents the the traffic load threshold and the time + duration."; leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + description "This attribute is used by distributed ES algorithms to allow + a cell to enter the energySaving state."; + type type5g3gpp:EnergySavingLoadThresholdT; } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + description "The time duration indicates how long the traffic load + (either for UL or DL) in the cell needs to have been above the + threshold to wake up one or more original cells which have been + provided backup coverage by the candidate cell."; + type type5g3gpp:EnergySavingTimeDurationT; } } - grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - + grouping DESManagementFunctionGrp { + description "Represents the DESManagementFunction IOC."; - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; + leaf desSwitch { + description "This attribute determines whether the Distributed SON + energy saving function is enabled or disabled."; + type boolean; + } + + list intraRatEsActivationOriginalCellLoadParameters { + description "This attributes is relevant, if the cell acts as an original + cell. This attribute indicates the traffic load threshold and the time + duration, which are used by distributed ES algorithms to allow a cell + to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list intraRatEsActivationCandidateCellsLoadParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed ES algorithms level to + allow an 'original' cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list intraRatEsDeactivationCandidateCellsLoadParameters { + description "This attributes is relevant, if the cell acts as a candidate + cell.This attribute indicates the traffic load threshold and the time + duration which is used by distributed ES algorithms to allow a cell to + leave the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list esNotAllowedTimePeriod { + description "This is a list of time periods during which + inter-RAT energy saving is not allowed"; + key idx; + + leaf idx { + type uint32; + } + uses EsNotAllowedTimePeriodGrp; + } + + list interRatEsActivationOriginalCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsActivationCandidateCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration, which are used by distributed inter-RAT ES algorithms to + allow an original cell to enter the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; + } + + list interRatEsDeactivationCandidateCellParameters { + description "This attribute indicates the traffic load threshold and the + time duration which is used by distributed inter-RAT ES algorithms to + allow an original cell to leave the energySaving state."; + key loadThreshold; + min-elements 1; + max-elements 1; + uses loadTimeThresholdGrp; } - } - - grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; + leaf energySavingState { + description "Specifies the status regarding the energy saving in the + cell."; + type enumeration { + enum isNotEnergySaving; + enum isEnergySaving; + } } - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } + leaf isProbingCapable { + description "This attribute indicates whether this cell is capable of + performing the ES probing procedure."; + type enumeration{ + enum yes; + enum no; + } + } } grouping EsNotAllowedTimePeriodGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf startTimeandendTime { - description "This field indicate valid UTC time."; - type string; - } - - - leaf periodOfDay { - description "This field indicate the period of day."; - type string; - } - - leaf daysOfWeekList { - description "This field indicate the list of weekday."; - type string; - } - - leaf listoftimeperiods { - description "This field indicate the list of time periods."; - type string; - } - - } - - grouping InterRatEsActivationOriginalCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description " The time duration indicates how long the load needs to have been below the threshold."; - type int32 { range "0..900"; } - units "1"; - } - } - - grouping InterRatEsActivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; - type int32 { range "0..900"; } - units "1"; + leaf startTime { + description "Start of not allowed time period in UTC time zone. + If set, the endTime must also be set. If not set, this is + interpreted as around the clock."; + must ../endTime; + type type5g3gpp:UTC24TimeOfDayT; + } + leaf endTime { + description "If endTime has a lower value than startTime, it will + be interpreted as referring to the following day."; + type type5g3gpp:UTC24TimeOfDayT; + must ../startTime; + } + leaf-list daysOfWeek { + description "Specifies that the not allowed periods are only + applicable to the specified days in UTC timezone. Every day if + not set."; + type type5g3gpp:DayOfWeekT; } } - grouping InterRatEsDeactivationCandidateCellParametersGrp { - description "Represents the the traffic load threshold and the time duration."; - - leaf loadThreshold { - description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; - type int32 { range "0..10000"; } - units "1"; - } - - - leaf timeDuration { - description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; - type int32 { range "0..900"; } - units "1"; + grouping DESManagementFunctionSubtree { + list DESManagementFunction { + description "This IOC represents the management capabilities of + Distributed SON Energy Saving (ES) functions. This is provided for + Energy Saving purposes. + + In the case where multiple DESManagement MOIs exist at different + levels of the containment tree, the DESManagement MOI at the lower + level overrides the DESManagement MOIs at higher level(s) of the same + containment tree."; + reference "clause 6.2.3.0 in TS 28.310"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DESManagementFunctionGrp; + } } } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { if-feature nrcellcu3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { if-feature gnbcucp3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/me3gpp:ManagedElement" { + uses DESManagementFunctionSubtree; + } + augment /me3gpp:ManagedElement { if-feature me3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - augment "/subnet3gpp:SubNetwork" { + uses DESManagementFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { if-feature subnet3gpp:DESManagementFunction; - uses DESManagementFunctionGrp; - } - + uses DESManagementFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index c657f1587b453f779496346ff77b4501bb292d6d..5530850e83c561c3345b2f1f9ae41a6d0e6cd62a 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-214052/CR-0517; } 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 bc46a30babeed0ba996c61fba50270ca8ab41091..be1fefe3809b937f6c3770a8cc5ad73c226342f9 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-214052/CR-0517; } 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 e3bdc517f1d057b28b4270e85f9477a8c938d109..5ae5dbfe3a82068de90f91371c1d4de65a4db464 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-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; } - - 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