diff --git a/OpenAPI/5gcNrm.yaml b/OpenAPI/5gcNrm.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/PerDataFileReportMnS.yaml b/OpenAPI/PerDataFileReportMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/PerMeasJobCtlMnS.yaml b/OpenAPI/PerMeasJobCtlMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/PerThresMonMnS.yaml b/OpenAPI/PerThresMonMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/PerfDataStreamingMnS.yaml b/OpenAPI/PerfDataStreamingMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/comDefs.yaml b/OpenAPI/comDefs.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/coslaNrm.yaml b/OpenAPI/coslaNrm.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/faultMnS.yaml b/OpenAPI/faultMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/genericNrm.yaml b/OpenAPI/genericNrm.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/heartbeatNtf.yaml b/OpenAPI/heartbeatNtf.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/nrNrm.yaml b/OpenAPI/nrNrm.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/provMnS.yaml b/OpenAPI/provMnS.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/sliceNrm.yaml b/OpenAPI/sliceNrm.yaml old mode 100644 new mode 100755 diff --git a/OpenAPI/streamingDataMnS.yaml b/OpenAPI/streamingDataMnS.yaml old mode 100644 new mode 100755 diff --git a/yang-models/README.md b/yang-models/README.md index 4959d98c5e8a75201e76225854544c97d1ba8cc2..ca997ac327191ac1ba2538d99a7fa5381fe74a2f 100755 --- a/yang-models/README.md +++ b/yang-models/README.md @@ -1,8 +1,8 @@ Folder for all 3GPP SA5 YANG modules and submodules (YAMs) -A subfolder for used external YANG modules is included. +A subfolder for used external YANG modules is included. All commited YANG modules MUST pass the "pyang --strict -p external-yams _3gpp-*.yang" - validation command without errors. + validation command without errors. - \ No newline at end of file + diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index fc1b0d0f76e58eb1b082566ceaae47d11301881f..1399a086f6524651ae881b78af17a5c673927bf4 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -22,6 +22,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; + revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } revision 2020-02-24 { diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang old mode 100644 new mode 100755 index 2783fd385e9f65a1596552eb59cc4b0b55b3a7c6..52163902b4c15a9b7c80f20680daecc0c6cdaaca --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -12,13 +12,12 @@ module _3gpp-common-mnsregistry { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2021-10-18 { reference "S5-215263"; } revision 2021-08-29 { reference "Initial revision, S5-214388"; } - - grouping MNSRegistryGrp { - description "Represents the MNSRegistry IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - + + grouping MNSInfoGrp { + description "Represents the MNSInfo IOC."; + reference "3GPP TS 28.622"; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; @@ -28,9 +27,10 @@ module _3gpp-common-mnsregistry { leaf mnsType { description "Type of management service."; type enumeration { - enum PROVISIONING; - enum FAULT_SUPERVISION; - enum PERFORMANCE_ASSURANCE; + enum ProvMnS; + enum FaultSupervisionMnS; + enum StreamingDataReportingMnS; + enum FileDataReportingMnS; } } @@ -44,16 +44,37 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } + } + + grouping MNSInfo { + description "Represents the MNSInfo IOC."; + reference "3GPP TS 28.622"; + uses top3gpp:Top_Grp; + container attributes { + uses MNSInfoGrp; } - - augment "/subnet3gpp:SubNetwork" { - list MNSRegistry { - description "Represents the MNSRegistry IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses MNSRegistryGrp; - } + } + + grouping MNSRegistryGrp { + description "Represents the MNSRegistry IOC."; + reference "3GPP TS 28.622"; + uses top3gpp:Top_Grp; + } + + grouping MNSRegistry { + list mnsRegistry { + description "Represents the MNSRegistry IOC."; + reference "3GPP TS 28.622"; + uses top3gpp:Top_Grp; + key "mnsType mnsVersion mnsAddress"; + container attributes { + uses MNSInfoGrp; } - } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses MNSRegistryGrp; + } + } \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 84ae422ee8f8880151f93424b059a5ba44ba1a53..b559ab193a632b3e44aa2b648be18fb8ff22326d 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -22,6 +22,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)"; + revision 2021-10-18 { reference "CR-0139"; } revision 2021-07-22 { reference "CR-0137"; } revision 2021-01-25 { reference "CR-0122"; } revision 2020-11-16 { reference "CR-0117"; } @@ -616,6 +617,33 @@ module _3gpp-common-trace { reference "Clause 5.10.20 of 3GPP TS 32.422"; } + leaf tjMDTCollectionPeriodM6Lte { + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|2048|5120|10240"; + } + units milliseconds; + description "Specifies the collection period for the Packet Delay + measurement (M6) for MDT taken by the eNB. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, + it carries a null semantic."; + reference "Clause 5.10.32 of TS 32.422 "; + } + + leaf tjMDTCollectionPeriodM7Lte { + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint16 { + range 1..60 ; + } + description "It specifies the collection period for the Data Volume (M6) + and Throughput measurements (M7) for UMTS 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 TS 32.422 ."; + } + leaf tjMDTCollectionPeriodRrmUmts { when './tjJobType = "IMMEDIATE_MDT_ONLY"' + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; @@ -631,20 +659,59 @@ module _3gpp-common-trace { reference "Clause 5.10.21 of 3GPP TS 32.422"; } - leaf tjMDTCollectionPeriodRrmNR { - 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."; - reference "Clause 5.10.30 of 3GPP TS 32.422"; + leaf tjMDTCollectionPeriodRrmNR { + 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."; + reference "Clause 5.10.30 of 3GPP TS 32.422"; + } + leaf tjMDTCollectionPeriodM6NR { + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum 120ms; + enum 240ms; + enum 480ms; + enum 640ms; + enum 1024ms; + enum 2048ms; + enum 5120ms; + enum 10240ms; + enum 20480ms; + enum 40960ms; + enum 1min; + enum 6min; + enum 12min; + enum 30min; + } + description "It specifies the collection period for the Packet Delay + measurement (M6) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT. In case this attribute is not used, + it carries a null semantic."; + reference "clause 5.10.34 of TS 32.422"; + } + + leaf tjMDTCollectionPeriodM7NR { + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1..60"; + } + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT. In case this attribute is not used, + it carries a null semantic."; + reference "clause 5.10.35 of TS 32.422"; + } + leaf tjMDTEventListForTriggeredMeasurement { when './tjJobType = "LOGGED_MDT_ONLY"'; type enumeration { @@ -709,6 +776,46 @@ module _3gpp-common-trace { reference "5.10.8 of 3GPP TS 32.422"; } + leaf tjMDTLoggingEventThreshold { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "0..127"; + } + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT and when tjMDTReportType + is configured for event triggered reporting and when + tjMDTEventListForTriggeredMeasurement is configured for L1 event. + In case this attribute is not used, it carries a null semantic."; + reference "clause 5.10.36 of TS 32.422"; + } + + leaf tjMDTLoggedHysteresis { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "0..30"; + } + description "It specifies the hysteresis used within the entry and leave + condition of the L1 event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when tjMDTReportType + is configured for event triggered reporting and when + tjMDTEventListForTriggeredMeasurement is configured for L1 event. + In case this attribute is not used, it carries a null semantic."; + reference "clause 5.10.37 of TS 32.422"; + } + + leaf tjMDTLoggedTimeToTrigger { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type int32 ; + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when tjMDTReportType + is configured for event triggered reporting and when + tjMDTEventListForTriggeredMeasurement is configured for L1 event. + In case this attribute is not used, it carries a null semantic."; + reference "clauses 5.10.38 of TS 32.422"; + } + leaf-list tjMDTMBSFNAreaList { when './tjJobType = "LOGGED_MBSFN_MDT"'; type string; @@ -762,6 +869,19 @@ module _3gpp-common-trace { reference "Clause 5.10.15 of 3GPP TS 32.422"; } + leaf tjMDTM4ThresholdUmts { + when './tjJobType = "IMMEDIATE_MDT_ONLY"' + + ' or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint16 { + range 0..31 ; + } + description "It specifies the threshold which should trigger + the reporting in case of event-triggered periodic reporting for M4 + (UE power headroom measurement) in UMTS. In case this attribute is + not used, it carries a null semantic."; + reference "3GPP TS 32.422 clause 5.10.A"; + } + list tjMDTPLMList { when './tjJobType = "LOGGED_MDT_ONLY"'; key "mcc mnc"; @@ -918,36 +1038,36 @@ module _3gpp-common-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 + - 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 + - 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 + - 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 + - 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 + - tjMDTReportingTrigger (conditional for M1 in LTE or NR and M1/M2 in UMTS), - - tjMDTEventThreshold (conditional for A2 event reporting or A2 event + - tjMDTEventThreshold (conditional for A2 event reporting or A2 event triggered periodic reporting), - - tjMDTMeasurementQuantity (conditional for 1F event 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 @@ -956,10 +1076,10 @@ module _3gpp-common-trace { specify the positioning methods to use or the sensor information to include. - - In case of IMMEDIATE_MDT_AND_TRACE both additional attributes of + - 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 + - In case of LOGGED_MDT_ONLY additionally the following attributes shall be available: tjTraceTarget, tjMDTAnonymizationOfData, tjMDTTraceCollectionEntityID, tjMDTLoggingInterval, tjMDTLoggingDuration, tjMDTReportType, @@ -976,12 +1096,12 @@ module _3gpp-common-trace { tjMDTSensorInformation allows to specify the sensor information to include. - - In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY additionally the + - 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 + - In case of LOGGED_MBSFN_MDT additionally the following attributes shall be available: tjMDTAnonymizationOfData, tjMDTLoggingInterval, tjMDTLoggingDuration, tjMDTMBSFNAreaList. diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index f71e5420b47c4b1bdd932b1c1a69327db6bced79..2a82e1b05c5ee2f1e3d5446d97cdde816a6d2e3c 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -11,7 +11,13 @@ module _3gpp-common-yang-types { description "The model defines a YANG mapping of the top level information classes used for management of 5G networks and network slicing."; - reference "3GPP TS 28.541"; + reference "3GPP TS 28.623"; + + revision 2021-11-01 { reference "CR-0141"; } + revision 2021-09-30 { + description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; + reference "CR-0138"; + } revision 2020-11-06 { description "Removed incorrect S-NSSAI definitions."; @@ -37,6 +43,47 @@ module _3gpp-common-yang-types { reference "Initial version."; } + typedef EnabledDisabled { + type enumeration { + enum DISABLED ; + enum ENABLED ; + } + } + + typedef TenthOfDegrees { + type uint16 { + range 0..3600; + } + units "0.1 degrees"; + description "A single integral value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + } + + typedef Latitude { + type decimal64 { + fraction-digits 4; + range "-90.0000..+90.0000"; + } + description "Latitude values"; + } + + typedef Longitude { + type decimal64 { + fraction-digits 4; + range "-180.0000..+180.0000"; + } + description "Longitude values"; + } + + typedef OnOff { + type enumeration { + enum ON; + enum OFF; + } + } + + // grouping ManagedNFProfile will be removed as it is + // being moved to _3gpp-5gc-nrm-nfprofile grouping ManagedNFProfile { description "Defines profile for managed NF"; reference "3GPP TS 23.501"; diff --git a/yang-models/_3gpp-nr-nrm-dlbofunction.yang b/yang-models/_3gpp-nr-nrm-dlbofunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..e3146a24b49666cabbde0709a81ed1947b9a983a --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-dlbofunction.yang @@ -0,0 +1,92 @@ +module _3gpp-nr-nrm-dlbofunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dlbofunction"; + prefix "dlbof3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + 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; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DLBOFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-10-22 { reference "CR-0577"; } + + feature DLBOUnderGNBCUCPFunction { + description "The DLBOFunction shall be available under + GNBCUCPFunction"; + } + + feature DLBOUnderManagedElement { + description "The DLBOFunction shall be available under + ManagedElement"; + } + + feature DLBOUnderSubNetwork { + description "The DLBOFunction shall be available under + SubNetwork"; + } + grouping DLBOFunctionGrp { + description "Represents the DLBOFunction IOC."; + + leaf dlboControl { + description "This attribute determines whether the LBO function is + enabled or disabled."; + type boolean; + } + + 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"; + } + + 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"; + } + + } + + grouping DLBOFunctionSubtree { + list DLBOFunction { + description "This IOC contains attributes to support the D-SON function + of LBO. + + In the case where multiple DLBO MOIs exist at different levels of the + containment tree, the DLBO MOI at the lower level overrides the DLBO + MOIs at higher level(s) of the same containment tree."; + reference "clause 7.1.2 in TS 28.313"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DLBOFunctionGrp; + } + } + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/"+ + "nrcellcu3gpp:NRCellCU" { + if-feature DLBOUnderGNBCUCPFunction; + uses DLBOFunctionSubtree; + } + augment /me3gpp:ManagedElement { + if-feature DLBOUnderManagedElement; + uses DLBOFunctionSubtree; + } + augment /subnet3gpp:SubNetwork { + if-feature DLBOUnderSubNetwork; + uses DLBOFunctionSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 04122e97f252431b21f1873cf1910dab35a7f974..4c4cee4d639b0c079c1c5540374c16ebdd481f8a 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -15,6 +15,8 @@ module _3gpp-nr-nrm-gnbcucpfunction { 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-11-06 { reference "CR-0611" ; } + revision 2021-11-05 { reference "CR-0609"; } revision 2020-10-02 { reference CR-0384 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-03 { reference "CR-0321"; } @@ -114,6 +116,17 @@ module _3gpp-nr-nrm-gnbcucpfunction { type types3gpp:DistinguishedName; description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; } + + leaf dCHOControl { + type boolean; + description "This attribute determines whether the CHO function is enabled or disabled."; + } + + leaf dDAPSHOControl { + type boolean; + description "This attribute determines whether the DAPS handover function + is enabled or disabled."; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index f69c622992b79bac61b9ca6db598df04aa235e67..c52250c6dae466682ce850b82a1e195f1c1682c9 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -7,30 +7,131 @@ module _3gpp-nr-nrm-gnbdufunction { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-10-28 { reference CR-0607 ; } revision 2021-04-30 { reference CR-0490 ; } revision 2020-10-02 { reference CR-0384 ; } revision 2020-03-12 { reference "SP-200233 S5-201547" ; } revision 2020-02-14 { reference S5-20XXXX ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-21 { - description "Initial revision."; - } + revision 2019-08-21 {reference "Initial revision."; } feature DRACHOptimizationFunction { - description "Classs representing D-SON function of RACH optimization -feature"; + description "Class representing D-SON function of RACH optimization + feature"; + } + + grouping RimRSReportInfoGrp { + description "This data type defines necessary reporting information + derived from the detected RIM-RS, including + 1) The detected set ID; + 2) Propagation delay in number of OFDM symbols + 3) Functionality of the RS (RS-1 or RS-2, Enough or Not enough + mitigation for RS-1). + + RS-1 is equivalent to RIM-RS type 1 (see 38.211, subclause 7.4.1.6). + RS-2 is equivalent to RIM-RS type 2 (see 38.211, subclause 7.4.1.6). + Enough mitigation for RS-1 means 'Enough' / 'Not enough' indication + functionality is enabled for RIM RS-1 and RIM-RS type 1 is used to + indicate 'enough mitigation' functionality. + Not enough mitigation for RS-1 means 'Enough' / 'Not enough' indication + functionality is enabled for RIM RS-1 and RIM-RS type 1 is used to + indicate 'Not enough mitigation' functionality."; + + leaf detectedSetID { + type uint32 ; + description "Set ID of the detected RIM-RS + allowedValues: 0,1...max{totalnrofSetIdofRS1, totalnrofSetIdofRS2}"; + } + + leaf propagationDelay { + type uint32 ; + must '. <= ../../maxPropagationDelay' { + error-message "allowedValues: 0, 1.. maxPropagationDelay"; + } + description "This attribute indicates the propagation delay of the + detected RIM-RS, in number of OFDM symbol."; + } + + leaf functionalityOfRIMRS { + type enumeration { + enum RS1; + enum RS2; + enum RS1_FOR_ENOUGH_MITIGATION; + enum RS1_FOR_NOT_ENOUGH_MITIGATION; + } + mandatory true; + description "Indicates the functionality of the detected RIM-RS. + If the indication of enableEnoughNotEnoughIndication is 'enabled', + valid values are {RS2, RS1forEnoughMitigation, + RS1forNotEnoughMitigation}; + If the indication of enableEnoughNotEnoughIndication is 'disabled', + valid values are {RS1, RS2}. + + RS1forEnoughMitigation means RIM-RS type 1 is used to indicate + 'enough mitigation' functionality. + RS1forNotEnoughMitigation means RIM-RS type 1 is used to indicate + 'Not enough mitigation' functionality."; + } + } + + grouping RimRSReportConfGrp { + description "Defines RIM-RS reporting configuration"; + + leaf reportIndicator { + type types3gpp:EnabledDisabled; + default DISABLED; + description "Used to enable or disable the RS report on a gNB. + If the indication is 'enable', the gNB starts to periodically report + necessary information derived from the detected RIM-RS to OAM. + If the indication is 'disable', the gNB stops reporting."; + } + + leaf reportInterval { + type uint32; + mandatory true; + units ms; + description "Used to define reporting interval of a gNB in ms."; + } + + leaf nrofRIMRSReportInfo { + type uint32; + mandatory true; + description "Used to define the maximum number of RIMRSReportInfo in + a single report."; + } + + leaf maxPropagationDelay { + type uint32 { + range "0..327679"; + } + mandatory true; + description "Used to define the maximum reported OFDM symbol number for + the propagation delay of the detected RIM-RS in each RIMRSReportInfo. + + allowedValues: 0, 1..20**2*maxNrofSymbols-1, where maxNrofSymbols=14."; + } + + list RimRSReportInfoList { + key detectedSetID; + description "Represents a list (the length of the list is + nrofRIMRSReportInfo) of necessary information derived from the + detected RIM-RS."; + uses RimRSReportInfoGrp; + } } grouping GNBDUFunctionGrp { description "Represents the GNBDUFunction IOC."; reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; + uses mf3gpp:ManagedFunctionGrp; uses nrrrmpolicy3gpp:RRMPolicy_Grp; leaf gNBId { @@ -54,26 +155,21 @@ feature"; description "Uniquely identifies the DU at least within a gNB."; reference "3GPP TS 38.473"; } - + leaf gNBDUName { type string { length "1..150"; } description "Identifies the Distributed Unit of an NR node"; reference "3GPP TS 38.473"; - } - - leaf aggressorSetID { - type uint32 { range "0..4194304"; } - config false; - description "Indicates the associated aggressor gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; } - leaf victimSetID { - type uint32 { range "0..4194304"; } + + list rimRSReportConf { + key reportInterval; config false; - description "Indicates the associated victim gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; + min-elements 1; + max-elements 1; + description "Used to configure gNBs to report the all necessary + information derived from the detected RIM-RS to OAM."; + uses RimRSReportConfGrp; } } diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 7869934b1c1b49112a5c0dd9fdb4e9c1a5c985d9..0cb6dce0c84718a82dd025e4f6102ae711bb9779 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -10,6 +10,7 @@ module _3gpp-nr-nrm-nrcelldu { import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import ietf-yang-types { prefix yang; } organization "3GPP SA5"; @@ -18,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2021-10-28 { reference CR-0607 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-25 { reference CR-0386 ; } revision 2020-11-05 { reference CR-0412 ; } @@ -37,6 +39,45 @@ module _3gpp-nr-nrm-nrcelldu { PCI configuration feature"; } + grouping NPNIdentityGrp { + description "Represents the NPN supported by the <> using this + <> as one of its attributes in case of the cell is a + NPN-only cell."; + + list plmnid { + key "mcc mnc"; + min-elements 1; + description "PLMNId"; + uses types3gpp:PLMNId; + } + + leaf cAGIdList { + type string; + mandatory true; + description "It identifies a CAG list containing up to 12 CAG-identifiers + per PLMN Identity, see TS 38.331. + + CAG is used for the PNI-NPNs to prevent UE(s), which are not allowed + to access the NPN via the associated cell(s), from automatically + selecting and accessing the associated CAG cell(s). + + CAG ID is used to combine with PLMN ID to identify a PNI-NPN. + + Exist if the cell is a NPN-only cell see TS 38.331"; + } + + leaf nIDList { + type string; + mandatory true; + description "It identifies a list of NIDs containing up to 12 NIDs per + PLMN Identity, see TS 38.331. + + NID is used to combine with PLMN ID to identify an SNPN. + + Exist if the cell is a NPN-only cell see TS 38.331"; + } + } + grouping NRCellDUGrp { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; @@ -90,6 +131,18 @@ module _3gpp-nr-nrm-nrcelldu { uses types5g3gpp:PLMNInfo; } + list nPNIdentityList { + key idx ; + min-elements 1; + ordered-by user; + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for + corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; + reference "3GPP TS 38.331"; + leaf idx { type uint32 ; } + uses NPNIdentityGrp; + } + leaf nRPCI { description "The Physical Cell Identity (PCI) of the NR cell."; reference "3GPP TS 36.211"; @@ -132,19 +185,122 @@ module _3gpp-nr-nrm-nrcelldu { units MHz; } - leaf bSChannelBwUL { - description "Base station channel bandwidth for uplink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } + leaf rimRSMonitoringStartTime { + type yang:date-and-time ; + mandatory true; + description "Configures the UTC time when the gNB attempts to start + RIM-RS monitoring."; + } + + leaf rimRSMonitoringStopTime { + type yang:date-and-time ; + mandatory true; + description "Configures the UTC time when the gNB stops RIM-RS + monitoring."; + } + + leaf rimRSMonitoringWindowDuration { + type uint32 { + range 1..16384 ; + } + mandatory true; + description "Configures a duration of the monitoring window in which + gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS + transmission periodicity in units of uplink-downlink switching period ( + see 38.211 subclause 7.4.1.6). - leaf bSChannelBwSUL { - description "Base station channel bandwidth for supplementary uplink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } + This field is configured together with rimRSMonitoringInterval, + rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval + and rimRSMonitoringOccasionStartingOffset. + The duration of the monitoring window is expected to be larger than + or equal to M*P_t, where M is the interval between adjacent monitoring + occasions within the monitoring window + (configured by rimRSMonitoringInterval). + The absolute duration of the monitoring window is not expected to be + larger than the periodicity of the monitoring window (configured by + rimRSMonitoringWindowPeriodicity). + + See 3GPP TS 28.541 attribute descrition rimRSMonitoringWindowDuration + for the exact math formulas. + + Only the earliest N_T consecutive detection durations in each RIM-RS + transmission periodicity (P_t) in the monitoring window are taken as + valid time for monitoring potential interference, and they are + consecutively monitored in the monitoring window, while the residual + part of each RIM-RS transmission periodicity is not used for + discovering potential interference, where, a consecutive detection + duration spans P1*R1 (if only P1 is configured) or ((P1+P2))/2*R1 ( + if both P1 and P2 are configured), where, + R1 is the number of consecutive uplink-downlinkswitching periods + for RS-1 (configured by nrofConsecutiveRIMRS1), + P1 is the first uplink-downlinkswitching period (configured by + dlULSwitchingPeriod1), + P2 is the second uplink-downlink switching period (configured by + dlULSwitchingPeriod2), and + N_T= + ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) + if enableEnoughNotEnoughIndication is 'disable' + + (2N_setID # RIM,1)/(N_f # RIM N_s # RIM,1) + if enableEnoughNotEnoughIndication is 'enable' + + N_setID # 'RIM,1' is the total number of set IDs for RIM RS-1 + (configured by totalnrofSetIdofRS1), + N_f # RIM is the number of candidate frequency resources in the whole + network (configured by nrofGlobalRIMRSFrequencyCandidates), and + N_s # 'RIM,1' is the number of candidate sequences assigned for + RIM RS-1 (configured by nrofRIMRSSequenceCandidatesofRS1)."; + } + + leaf rimRSMonitoringWindowStartingOffset { + type uint8 { + range 0..23 ; + } + mandatory true; + units hours; + description "Configures the start offset of the first monitoring window + within one day, in unit of hours."; + } + + leaf rimRSMonitoringWindowPeriodicity { + type uint8 { + range 1|2|3|4|6|8|12|24 ; + } + units hours; + mandatory true; + description "Configures the periodicity of the monitoring window, in + unit of hours"; + } + + leaf rimRSMonitoringOccasionInterval { + type uint32 { + range 1..max ; + } + mandatory true; + description "Configures the interval between adjacent monitoring + occasions (M) within the monitoring window, in unit of consecutive + detection duration. + M is expected to be prime to N_T, where N_T is given in above + attribute rimRSMonitoringWindowDuration. + allowedValues: 1,2..N_T-1"; + } + + leaf rimRSMonitoringOccasionStartingOffset { + type uint32 ; + mandatory true; + description "Configures the start offset of the first monitoring occasions + within the monitoring window (S_M), in unit of consecutive detection + duration. + gNB starts monitoring potential interference from the S_M-th consecutive + detection duration in the first complete RIM-RS transmission + periodicity (P_t) within the monitoring window. + + allowedValues: 0,1,2..M-1 + + where M is the the interval between adjacent monitoring occasions + within the monitoring window + (configured by rimRSMonitoringOccasionInterval)"; + } leaf ssbFrequency { description "Indicates cell defining SSB frequency domain position. @@ -193,6 +349,20 @@ module _3gpp-nr-nrm-nrcelldu { units "subframes (ms)"; } + leaf bSChannelBwUL { + description "Base station channel bandwidth for uplink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf bSChannelBwSUL { + description "Base station channel bandwidth for supplementary uplink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + leaf-list nRSectorCarrierRef { description "Reference to corresponding NRSectorCarrier instance."; min-elements 1; @@ -208,13 +378,54 @@ module _3gpp-nr-nrm-nrcelldu { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; } + + leaf victimSetRef { + type types3gpp:DistinguishedName; + mandatory true; + description "DN of a victim Set (RimRSSet) + Implemented if RIM feature is supported"; + } + + leaf aggressorSetRef { + type types3gpp:DistinguishedName; + mandatory true; + description "DN of an aggressor Set (RimRSSet)"; + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { list NRCellDU { - description "Represents the information of a cell known by DU."; - reference "3GPP TS 28.541"; + description "This IOC represents the part of NR cell information that + describes s the specific resources instances. + + An NR cell transmits SS/PBCH block and always requires downlink + transmission at a certain carrier frequency with a certain channel + bandwidth. Transmission may be performed from multiple sector-carriers + using different transmission points, and these may be configured with + different carrier frequencies and channel bandwidths, as long as they + are aligned to the cell's downlink resource grids as defined in + subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL + attributes define the resource grids which each sector-carrier needs to + be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions + of BS channel bandwidth and NR-ARFCN, respectively. + + An NR cell requires an uplink in order to provide initial access. In + case of TDD, the values of arfcnUL and bSChannelBwUL have to always be + set to the same values as for the corresponding DL attributes. For both + FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids + to which each sector-carrier needs to align to. + + An NR cell can in addition be configured with a supplementary uplink, + which has its own arfcnSUL and bSChannelBwSUL, which define resource + grids for supplementary uplink sector-carriers. + + Each of downlink, uplink and supplementary uplink (if configured) need + an initial bandwidth part (BWP), which defines resources to be used by + UEs during and immediately after initial access. Additional BWPs can be + either configured or calculated by gNB internally and be applied to UEs + dynamically by gNB based on e.g. UE capability and bandwidth need of + each UE."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang new file mode 100755 index 0000000000000000000000000000000000000000..6f8ac2d067abbb325485e2251cdae5bda1616ed5 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang @@ -0,0 +1,73 @@ +module _3gpp-nr-nrm-nroperatorcelldu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nroperatorcelldu"; + prefix "nropcelld3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-operatordu { prefix operdu3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the OperatorDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-10-01 { reference "Initial revision"; } + + grouping NROperatorCellDUGrp { + description "Represents the NROperatorCellDU IOC."; + reference "3GPP TS 28.541"; + uses operdu3gpp:OperatorDUGrp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with the + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + reference "NCI in 3GPP TS 38.300"; + type int32 { range "0..16383"; } + } + + list pLMNInfoList { + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for + the NR cell."; + key "mcc mnc sd sst"; + min-elements 1; + ordered-by user; + uses types5g3gpp:PLMNInfo; + } + + leaf nRTAC { + description "The common 5GS Tracking Area Code for the PLMNs."; + reference "3GPP TS 23.003, 3GPP TS 38.473"; + type types3gpp:Tac; + } + + leaf-list nRCellDURef { + description "Reference to corresponding NRCellDU instance."; + type types3gpp:DistinguishedName; + } + + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/operdu3gpp:OperatorDU" + { + + list NROperatorCellDU { + description "Contains attributes to support 5G MOCN network sharing."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NROperatorCellDUGrp; + } + uses gnbdu3gpp:GNBDUFunctionGrp; + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-operatordu.yang b/yang-models/_3gpp-nr-nrm-operatordu.yang new file mode 100755 index 0000000000000000000000000000000000000000..f0536c43bf67cd0055e45e43bcbe02879f1c56e6 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-operatordu.yang @@ -0,0 +1,44 @@ +module _3gpp-nr-nrm-operatordu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-operatordu"; + prefix "operdu3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction {prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the OperatorDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2021-10-01 { reference "Initial revision"; } + + grouping OperatorDUGrp { + description "Represents the OperatorDU IOC."; + reference "3GPP TS 28.541"; + uses gnbdu3gpp:GNBDUFunctionGrp { + refine gNBId { + mandatory true; + } + refine gNBIdLength { + mandatory true; + } + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list OperatorDU { + description "Contains attributes to support the 5G MOCN network sharing."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses OperatorDUGrp; + } + uses gnbdu3gpp:GNBDUFunctionGrp; + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-rimrsset.yang b/yang-models/_3gpp-nr-nrm-rimrsset.yang new file mode 100755 index 0000000000000000000000000000000000000000..9f285a6239336d7cff36c033f19b9cd56fa6bef1 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-rimrsset.yang @@ -0,0 +1,497 @@ +module _3gpp-nr-nrm-rimrsset { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-rimrsset"; + prefix "rrsset3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + 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"; + description "Defines the YANG mapping of the RimRSSet 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-10-28 { reference CR-0607 ; } + + grouping FrequencyDomainParaGrp { + description "Configuration parameters of frequency domain resource to + support RIM RS. "; + + leaf rimRSSubcarrierSpacing { + type uint8 { + range 0|1 ; + } + mandatory true; + description + "It is the subcarrier spacing configuration (u) for the RIM-RS. + Subcarrier spacing delta-f=2^u*15 kHz. (see 38.211 subclause 5.3.3)."; + } + + leaf rIMRSBandwidth { + type uint8 { + range 1..96 ; + } + mandatory true; + description "It is the bandwidth of the RIM-RS in resource blocks + (see 38.211 subclause 5.3.3). + For carrier bandwidth larger than 20MHz, this attribute should be + 96 if subcarrier spacing is15kHz + 48 or 96 if subcarrier spacing is 30kHz + For carrier bandwidth smaller than or equal to 20MHz, this attribute + should be + Minimum of {96 , bandwidth of downlink carrier in number of PRBs} if + subcarrier spacing is15kHz + Minimum of {48, bandwidth of downlink carrier in number of PRBs } if + subcarrier spacing is 30kHz"; + } + + leaf nrofGlobalRIMRSFrequencyCandidates { + type uint8 { + range 1|2|4 ; + } + mandatory true; + description "The number of candidate frequency resources in the whole + network (N_f^RIM ) (see 38.211 subclause 7.4.1.6)."; + } + + leaf-list rimRSCommonCarrierReferencePoint { + type int32 ; + } + + leaf rimRSStartingFrequencyOffsetIdList { + type uint32 { + range 0..550; + } + must 'count(.) = ../nrofGlobalRIMRSFrequencyCandidates' { + error-message + "The multiplicity must be equal to nrofGlobalRIMRSFrequencyCandidates"; + } + description "List of configured frequency offsets in units of resource + blocks, where each element is the frequency offset relative to a + configured reference point for RIM-RS. The size of the list is + nrofGlobalRIMRSFrequencyCandidates and the resulting frequency resource + blocks of RIM-RS corresponding to different configured frequency offset + have no overlapping bandwidth. (see 38.211 subclause 7.4.1.6). + + allowedValues: 0..maxNrofPhysicalResourceBlocks-1 where + maxNrofPhysicalResourceBlocks = 550"; + } + } + + grouping SequenceDomainParaGrp { + description "Configuration parameters of sequence domain resource to + support RIM RS. "; + + leaf nrofRIMRSSequenceCandidatesofRS1 { + type uint8 { + range 1..8 ; + } + mandatory true; + description "The number of candidate sequences assigned for RIM RS-1 + (N_s^RIM,1) (see 38.211 [subclause 7.4.1.6). It should be even when + enableEnoughNotEnoughIndication for RS-1 is ON"; + } + + leaf-list rimRSScrambleIdListofRS1 { + type uint32 { + range 0..1023 ; + } + must 'count(.) = ../nrofRIMRSSequenceCandidatesofRS1' { + error-message + "The multiplicity must be equal to nrofRIMRSSequenceCandidatesofRS1"; + } + description "List of configured scrambling identities for RIM RS-1 ( + see 38.211 [subclause 7.4.1.6). The size of the list is + nrofRIMRSSequenceCandidatesofRS1."; + } + + leaf nrofRIMRSSequenceCandidatesofRS2 { + type uint8 { + range 1..8 ; + } + mandatory true; + description "The number of candidate sequences assigned for RIM RS-2 + (N_s^RIM,2) (see 38.211 subclause 7.4.1.6)."; + } + + leaf rimRSScrambleIdListofRS2 { + type uint32 { + range 0..1023 ; + } + must 'count(.) = ../nrofRIMRSSequenceCandidatesofRS2' { + error-message + "The multiplicity must be equal to nrofRIMRSSequenceCandidatesofRS2"; + } + description "List of configured scrambling identities for RIM RS-2 ( + see 38.211 subclause 7.4.1.6). + The size of the list is nrofRIMRSSequenceCandidatesofRS2."; + } + + leaf enableEnoughNotEnoughIndication { + type types3gpp:EnabledDisabled; + default DISABLED; + description "It is indication of whether 'Enough'/'Not enough' indication + functionality is enabled for RIM RS-1 (see 38.211 subclause 7.4.1.6). + + If the indication is 'ENABLED', the first half of + nrofRIMRSSequenceCandidatesofRS1 sequences indicates 'Not enough + mitigation', and the second half indicates 'Enough mitigation', where, + 'Enough mitigation' indicates that IoT going back to certain level at + victim side and/or no further interference mitigation actions are + needed at aggressor side + 'Not enough mitigation' indicates that IoT exceeding certain level at + victim side and/or further interference mitigation actions are needed + at aggressor side + + enableEnoughNotEnoughIndication is equivalent to EnoughIndication + (see 38.211 subclause 7.4.1.6)"; + } + + leaf RIMRSScrambleTimerMultiplier { + type uint32 { + range 0..2147483647; + } + mandatory true; + description "It is parameter multiplier factor gamma for initialization + seed of the pseudo-random sequence c~(i) + (see 38.211 subclause 7.4.1.6.2). + allowedValues: 0,1...2^31-1"; + } + + leaf RIMRSScrambleTimerOffset { + type uint32 { + range 0..2147483647; + } + mandatory true; + description "It is parameter offset delta for initialization seed of + the pseudo-random sequence c~(i) (see 38.211 subclause 7.4.1.6.2). + allowedValues: 0,1...2^31-1"; + } + } + + grouping TimeDomainParaGrp { + description "Configuration parameters of time domain resource to + support RIM RS. "; + + leaf dlULSwitchingPeriod1 { + type enumeration { + enum MS0P5; + enum MS0P625; + enum MS1; + enum MS1P25; + enum MS2; + enum MS2P5; + enum MS3; + enum MS4; + enum MS5; + enum MS10; + enum MS20; + } + mandatory true; + description "This attribute is used to configure the first uplink-downlink + switching period (P1) for RIM RS transmission in the network, where one + RIM RS is configured in one uplink-downlink switching period. + (see 38.211 subclause 7.4.1.6). + + When only one TDD-UL-DL-Pattern is configured, only + dl-UL-SwitchingPeriod1 is configured, where P1 equals to the + transmission periodicity of the TDD-UL-DL-Pattern. + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources is configured only in one of the TDD patterns, only + dl-UL-SwitchingPeriod1 is configured, where P1 equals to the addition + of the concatenated transmission periodicity of the two + TDD-UL-DL-Patterns. + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, both + dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, + where P1 equals to the transmission periodicity of the first + TDD-UL-DL-Pattern. + + P1 is equivalent to T_(per,1)^RIM (see 38.211, subclause 7.4.1.6). + + allowedValues: + MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS4, MS5, MS10, MS20, + if a single uplink-downlink period is configured for RIM-RS purposes; + MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, MS10, MS20, + if two uplink-downlink periods are configured for RIM-RS purposes."; + } + + leaf symbolOffsetOfReferencePoint1 { + type uint32 { + range 2..327679 ; + } + mandatory true; + description "This attribute is used to configure the reference point in + the first uplink-downlink switching period, which is the symbols offset + of the reference point after the starting boundary of the first + uplink-downlink switching period. It's Configured together with + dl-UL-SwitchingPeriod1 (see 38.211 subclause 7.4.1.6). + + When only one TDD-UL-DL-Pattern is configured, the reference point + configured for the first uplink-downlink switching period is the DL + transmission boundary of the TDD-UL-DL-Pattern. + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources is configured only in one of the TDD patterns, the reference + point configured for the first uplink-downlink switching period is the + DL transmission boundary of the TDD-UL-DL-Pattern where the RIM-RS + resource is configured. + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, the reference points + configured for first uplink-downlink switching period is the DL + transmission boundary of the first TDD-UL-DL-Pattern. + + allowedValues: 2, 3..20*2*maxNrofSymbols-1, where maxNrofSymbols=14"; + } + + leaf dlULSwitchingPeriod2 { + type enumeration { + enum MS0P5; + enum MS0P625; + enum MS1; + enum MS1P25; + enum MS2; + enum MS2P5; + enum MS3; + enum MS4; + enum MS5; + enum MS10; + } + mandatory true; + description "Used to configure the second uplink-downlink switching + period (P2) for RIM RS transmission in the network, where one RIM RS is + configured in one uplink-downlink switching period + (see 38.211 subclause 7.4.1.6). + + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, both + dl-UL-SwitchingPeriod1 and dl-UL-SwitchingPeriod2 are configured, + where P2 equals to the transmission periodicity of the second + TDD-UL-DL-Pattern, and where (P1 + P2) divides 20 ms. + + allowedValues: MS0P5, MS0P625, MS1, MS1P25, MS2, MS2P5, MS3, MS4, MS5, + MS10 + + P2 is equivalent to T_(per,2)^RIM (see 38.211 subclause 7.4.1.6)"; + } + + leaf symbolOffsetOfReferencePoint2 { + type uint32 { + range 2..327679 ; + } + mandatory true; + description "This attribute is used to configure the reference point in + the second uplink-downlink switching period, which is the symbol offset + of the reference point after starting boundary of the second + uplink-downlink switching period. Configured together with + dl-UL-SwitchingPeriod2 (see 38.211 subclause 7.4.1.6). + When two concatenated TDD-UL-DL-Patterns are configured, and RIM-RS + resources are configured in both TDD patterns, the reference points + configured for second uplink-downlink switching period is the + DL transmission boundary of the second TDD-UL-DL-Pattern. + + allowedValues: 2, 3..20*2*maxNrofSymbols-1, where maxNrofSymbols=14"; + } + + leaf totalnrofSetIdofRS1 { + type uint32 { + range 0..4194303 ; + } + mandatory true; + description "It is the total number of set IDs for RIM RS-1 + (N_setID ^RIM,1) (see 38.211 subclause 7.4.1.6). + + allowedValues: 0,1...2^22-1"; + } + + leaf totalnrofSetIdofRS2 { + type uint32 { + range 0..4194304 ; + } + mandatory true; + description "It is the total number of set IDs for RIM RS-2 + (N_setID^RIM,2) (see 38.211 subclause 7.4.1.6). + + allowedValues: 0,1...2^22"; + } + + leaf nrofConsecutiveRIMRS1 { + type uint8 { + range 1|2|4|8 ; + } + mandatory true; + description "It is the number of consecutive uplink-downlink switching + periods for RS-1 (R1) for repetition/near-far indication:. + (see 38.211 subclause 7.4.1.6). + + allowedValues: 1,2,4,8"; + } + + leaf nrofConsecutiveRIMRS2 { + type uint8 { + range 1|2|4|8 ; + } + mandatory true; + description "It is the number of consecutive uplink-downlink switching + periods for RS-2 (R2) for repetition/near-far indication. + (see 38.211 subclause 7.4.1.6). + + allowedValues: 1,2,4,8"; + } + + leaf-list consecutiveRIMRS1List { + type uint32 { + range 2..327679 ; + } + description "It is used to configure the OFDM symbol position(s) of RIM + RS-1 within the uplink-downlink switching period. It is a list of symbol + offset of RIM RS-1 (N_symb,ref^(RIM,1)) before the reference point. + The size of the list is nrofConsecutiveRIMRS1 + (see 38.211 subclause 7.4.1.6). + The resulting RIM RS-1 symbols and its reference point shall belong to + the same 10ms frame. + + allowedValues: 2,3..20*2**maxNrofSymbols-1, where maxNrofSymbols=14"; + } + + leaf-list consecutiveRIMRS2List { + type uint32 { + range 2..327679 ; + } + description "It is used to configure the OFDM symbol position(s) of + RIM RS-2 within the uplink-downlink switching period. It is a list of + symbol offset of RIM RS-2 (N_symb,ref^(RIM,2)) before the reference + point. The size of the list is nrofConsecutiveRIMRS2 + (see 38.211 subclause 7.4.1.6). + The resulting RIM RS-2 symbols and its reference point shall belong to + the same 10ms frame. + + allowedValues: 2,3..20*2**maxNrofSymbols-1, where maxNrofSymbols=14"; + } + + leaf enablenearfarIndicationRS1 { + type types3gpp:EnabledDisabled; + default DISABLED; + description "It is indication of whether near-far functionality is enabled + for RIM RS1. + + If the indication is 'ENABLED', + the first half of nrofConsecutiveRIMRS1 (R1) consecutive uplink-downlink + switching period is for 'Near' indication with R1/2 repetitions, + the second half of R1 consecutive uplink-downlink switching period is + for 'Far' indication with R1/2 repetitions."; + } + + leaf enablenearfarIndicationRS2 { + type types3gpp:EnabledDisabled; + default DISABLED; + description "It is indication of whether near-far functionality is enabled + for RIM RS2. + + If the indication is 'enable', + the first half of nrofConsecutiveRIMRS2 (R2) consecutive uplink-downlink + switching period is for 'Near' indication with R2/2 repetitions, + the second half of R2 consecutive uplink-downlink switching period is + for 'Far' indication with R2/2 repetitions."; + } + } + + grouping RimRSGlobalGrp { + description "Represents the RimRSGlobal IOC."; + + list frequencyDomainPara { + key rimRSSubcarrierSpacing; + min-elements 1; + max-elements 1; + description "Configuration parameters of frequency domain resource to + support RIM RS. "; + uses FrequencyDomainParaGrp; + } + + list sequenceDomainPara { + key nrofRIMRSSequenceCandidatesofRS1; + min-elements 1; + max-elements 1; + description "Configuration parameters of sequence domain resource to + support RIM RS. "; + uses SequenceDomainParaGrp; + } + + list timeDomainPara { + key dlULSwitchingPeriod1; + min-elements 1; + max-elements 1; + description "Configuration parameters of time domain resource to + support RIM RS. "; + uses TimeDomainParaGrp; + } + } + + grouping RimRSSetGrp { + description "Represents the RimRSSet IOC."; + + leaf setId { + type uint32 { + range 0..4194303 ; + } + mandatory true; + description "This specifies the set ID of a victim Set (RIM-RS1 Set) or + aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). + + allowedValues: The bit length of the set ID is maximum 22bit."; + } + + leaf setType { + type enumeration { + enum RS1; + enum RS2; + } + mandatory true; + description "The attribute specifies type of a RIM-RS Set . + RIM RS1 is generated and transmitted by victim to indicate its suffering + remote interference, and RIM RS2 is generated and transmitted by + aggressor to measure if Remote Interference still exist + + If the attribute value is 'RS1', the RIM-RS Set is victim set. + If the attribute value is 'RS2', the RIM-RS Set is aggressor set."; + } + + leaf-list nRCellDURef { + type types3gpp:DistinguishedName; + config false; + description "This attribute contains the DN of a NR Cell (NRCellDU)"; + } + } + + augment "/subnet3gpp:SubNetwork" { + list RimRSGlobal { + description "Represents global/common Remote Interference Management (RIM) + Reference Signal (RS) resource allocated for the whole network. + Resource for RIM-RS transmission is defined by Sequence domain resource, + Time domain resource and Frequency resource. The configure parameters + of the RIM RS resource are applied to all Sets of RIM RS Resource + across gNBs/cells in the network."; + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses RimRSGlobalGrp; + } + + list RimRSSet { + description "Represents aggressor or victim Set organized by OAM. + The RIM RS Resource is assigned to each Set, which is identified by + triple indices set of +