Add WG4 yangs published 2023-03 (v11)
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-uplane-conf@2022-12-05.yang
diff --git a/data-model/yang/published/o-ran/ru-fh/o-ran-uplane-conf@2022-12-05.yang b/data-model/yang/published/o-ran/ru-fh/o-ran-uplane-conf@2022-12-05.yang
new file mode 100644 (file)
index 0000000..8562447
--- /dev/null
@@ -0,0 +1,4058 @@
+module o-ran-uplane-conf {
+  yang-version 1.1;
+  namespace "urn:o-ran:uplane-conf:1.0";
+  prefix "o-ran-uplane-conf";
+
+  import o-ran-processing-element {
+    prefix "o-ran-pe";
+  }
+
+  import ietf-interfaces {
+    prefix "if";
+  }
+
+  import o-ran-module-cap {
+    prefix "mcap";
+  }
+
+  import o-ran-compression-factors {
+    prefix "cf";
+  }
+
+  import o-ran-wg4-features {
+    prefix "feat";
+  }
+
+  import ietf-hardware {
+    prefix "hw";
+  }
+
+  import o-ran-hardware {
+    prefix "or-hw";
+  }
+
+  import o-ran-usermgmt {
+    prefix "or-user";
+  }
+
+  organization "O-RAN Alliance";
+
+  contact
+    "www.o-ran.org";
+
+  description
+    "This module defines the module capabilities for
+    the O-RAN Radio Unit U-Plane configuration.
+
+    Copyright 2021 the O-RAN Alliance.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the above disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the above disclaimer in the documentation
+    and/or other materials provided with the distribution.
+    * Neither the Members of the O-RAN Alliance nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.";
+
+  revision "2022-12-05" {
+    description
+      "version 11.0.0
+
+      1) PRB range limit for SE 12 and HP section
+      2) Introduction of PRB ranges
+      3) uplane-only-dl-mode-enable
+      4) Deprecation of power-related capabilities and addition of min-gain
+      5) se 23 max mplane limits
+      6) support Section Type 4 and associated commands";
+
+    reference "ORAN-WG4.M.0-v11.00";
+  }
+
+  revision "2022-08-15" {
+    description
+      "version 10.0.0
+
+      1) clarified description statements for representative-t/rx-eaxc-id
+      2) clarified description statements for max-num-t/rx-eaxc-ids-per-group
+      4) clarified description statements for component carrier
+      5) style guide corrections
+      6) introduction of O-RU connector functionality
+      7) fixing constraints
+      8) introducing new feature for ACK NACK feedback
+      9) added SHARED-ORU-MULTI-OPERATOR anf SHARED-ORU-MULTI-ODU features";
+
+    reference "ORAN-WG4.M.0-v10.00";
+  }
+
+  revision "2022-04-18" {
+    description
+      "version 9.0.0
+
+      1) Descriptions fixed for max-beam-updates-per-slot / max-beam-updates-per-slot
+      2) Added references to CUS-Plane spec for parameters 'frame-structure' and
+        'supported-frame-structures'
+      3) clarified max-beams-per-symbol, max-beams-per-slot, max-beam-updates-per-slot,
+        max-beam-updates-per-symbol parameters
+      4) Clarification of cp-length and cp-length-other
+      5) deprecation of rw-type and rw-duplex-scheme";
+
+      reference "ORAN-WG4.M.0-v09.00";
+  }
+
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) Various descriptions corrected and/or clarified
+      2) Configuration for Beamforming weights were added together with changes and updates to compressions
+      3) Added new leaf node 'beam-update-contention-control-limits-required' to 'endpoint-types'
+         to indicate endpoint capability to support beam update contention control processing limits.
+      4) Added instance of 'beam-update-contention-control-limits' to 'endpoint-types'.
+      5) Added new leaf node boolean flag 'beam-update-contention-control-enabled' for O-DU to indicate
+         support of feature BEAM-UPDATE-CONTENTION-CONTROL feature.
+      6) deprecate 'channel-information-iq-bitwidth' , and define a new parameter
+         'channel-information-bitwidth' under the container 'compression'
+      7) add capability and configuration for channel information PRB granularity.
+      8) Add support for multiple transport-session-type per O-RU.
+      9) add capability and configuration for channel information compression.
+      10) deprecate 'channel-information-iq-bitwidth' , and define a new parameter
+         'channel-information-bitwidth' under the container 'compression'";
+
+      reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-07-26" {
+    description
+      "version 7.0.0
+
+      1) Added new grouping 'per-cplane-message-limits' containing params to limit
+         per C-Plane packet processing when CPLANE-MESSAGE-PROCESSING-LIMITS feature is
+         supported by O-RU and used by O-DU.
+      2) Added new leaf node 'cplane-message-processing-limits-required' to 'endpoint-types'
+         to indicate endpoint capability to support C-Plane message processing limits.
+      3) Added instances of 'per-cplane-message-limits' to 'endpoint-types' and
+         'endpoint-capacity-sharing-groups'.
+      4) Added new leaf node to low-level-tx/rx-endpoint 'cplane-message-processing-limits-enabled'
+         for O-DU to configure support for C-Plane limits
+      5) Added t-da-offset and t-au-offset for external antenna support
+      6) Added Channel IQ bitwidth for ST6
+      7) Added ordered-by user to leaf-list member-tx-eaxc-id and leaf-list member-rx-eaxc-id
+      8) Added new PRACH formats
+      9) Ensuring beam-ids can only be 15 bits
+      10) Clarify mixed numerology restrictions";
+
+    reference "ORAN-WG4.M.0-v07.00";
+  }
+
+
+  revision "2021-03-22" {
+    description
+      "version 6.0.0
+
+      1) typographical corrections in descriptions.
+      2) Updates to transmission window control.
+      3) Introduces to existing grouping 'endpoint-section-capacity' two new leaf nodes 'max-uplane-section-header-per-symbol' and
+          'max-uplane-section-header-per-slot' to limit U-Plane data section header addition/parsing.
+      4) deprecated parameter 'max-remasks-per-section-id' since it is duplicate of leaf node 'max-control-sections-per-data-section'.
+      5) introduces new leaf nodes 'max-beams-updates-per-slot' and ''max-beams-updates-per-symbol'
+           to grouping 'endpoint-beam-capacity'
+      6) added new SRS features:
+        STATIC-TRANSMISSION-WINDOW-CONTROL
+        DYNAMIC-TRANSMISSION-WINDOW-CONTROL
+        UNIFORMLY-DISTRIBUTED-TRANSMISSION
+        ORDERED-TRANSMISSION
+        INDEPENDENT-TRANSMISSION-WINDOW-CONTROL";
+
+    reference "ORAN-WG4.M.0-v06.00";
+  }
+
+  revision "2020-12-10" {
+    description
+      "version 5.0.0
+
+      1) introduces new coupling method coupling-via-frequency-and-time-with-priorities-optimized
+      2) introduces new max-highest-priority-sections-per-slot parameter";
+
+    reference "ORAN-WG4.M.0-v05.00";
+  }
+
+  revision "2020-08-10" {
+    description
+      "version 4.0.0
+
+      1) parameters allowing for static PRACH configuration introduced
+      2) parameters allowing for static SRS configuration introduced
+      3) parameters allowing for configuration of TDD pattern introduced
+      4) Backward compatible change to introduce new parameter 'coupling-method' related
+         to Section Description Priority to serve for CUS-Plane CR";
+
+    reference "ORAN-WG4.M.0-v04.00";
+  }
+
+  revision "2020-04-17" {
+    description
+      "version 3.0.0
+
+      1) Adding optional little endian support
+      2) Adding a new capability parameter to indicate that the O-RU
+      supports regularizationFactor in section type 5
+      3) Added support for Dynamic Spectrum Sharing feature
+      4) Clarify the supported number of reMasks in RU side
+      5) Section extension for grouping multiple ports
+      6) adding PRACH formats to endpoint capabilities";
+
+    reference "ORAN-WG4.M.0-v03.00";
+  }
+
+  revision "2019-07-03" {
+    description
+      "version 1.1.0
+
+      1) added new leaf multiple-numerology-supported to enable O-RU to report
+         whether it supports multiple numerologies.
+
+      2) fixing broken constraints (configuration cannot be dependent on
+        operational state). This is a backwards incompatible revision.
+
+       As these constraints only apply when the LAA feature is used, and also
+       when considering the limited number of implementation that need to be
+       taken into consideration for backwards compatibility, it has been
+       agreed to NOT increment the namespace integer.
+
+      3) added frequency related capabilities for tx-arrays and rx-array
+
+      4) removed redundant LAA import";
+
+    reference "ORAN-WG4.M.0-v01.00";
+  }
+
+  revision "2019-02-04" {
+    description
+      "version 1.0.0
+
+      1) imported model from xRAN
+      2) changed namespace and reference from xran to o-ran";
+
+    reference "ORAN-WG4.M.0-v01.00";
+  }
+
+  feature EAXC-GAIN-CORRECTION {
+    description
+      "Presence of feature indicates that O-RU supports eAxC specific gain correction.";
+  }
+
+  feature TX-REFERENCE-LEVEL {
+    description
+      "Presence of feature indicates that O-RU supports TX gain reference level control";
+  }
+
+  typedef prach-preamble-format {
+    type enumeration {
+      enum LTE-0 {
+        description
+          "LTE PRACH Preamble format 0";
+      }
+      enum LTE-1 {
+        description
+          "LTE PRACH Preamble format 1";
+      }
+      enum LTE-2 {
+        description
+          "LTE PRACH Preamble format 2";
+      }
+      enum LTE-3 {
+        description
+          "LTE PRACH Preamble format 3";
+      }
+      enum LTE-4 {
+        description
+          "LTE PRACH Preamble format 4";
+      }
+      enum LTE-NB0 {
+        description
+          "LTE Narrowband PRACH format 0";
+      }
+      enum LTE-NB1 {
+        description
+          "LTE Narrowband PRACH format 1";
+      }
+      enum NR-0 {
+        description
+          "5GNR PRACH Preamble format 0";
+      }
+      enum NR-1 {
+        description
+          "5GNR PRACH Preamble format 1";
+      }
+      enum NR-2 {
+        description
+          "5GNR PRACH Preamble format 2";
+      }
+      enum NR-3 {
+        description
+          "5GNR PRACH Preamble format 3";
+      }
+      enum NR-A1 {
+        description
+          "5GNR PRACH Preamble format A1";
+      }
+      enum NR-A2 {
+        description
+          "5GNR PRACH Preamble format A2";
+      }
+      enum NR-A3 {
+        description
+          "5GNR PRACH Preamble format A3";
+      }
+      enum NR-B1 {
+        description
+          "5GNR PRACH Preamble format B1";
+      }
+      enum NR-B2 {
+        description
+          "5GNR PRACH Preamble format B2";
+      }
+      enum NR-B3 {
+        description
+          "5GNR PRACH Preamble format B3";
+      }
+      enum NR-B4 {
+        description
+          "5GNR PRACH Preamble format B4";
+      }
+      enum NR-C0 {
+        description
+          "5GNR PRACH Preamble format C0";
+      }
+      enum NR-C2 {
+        description
+          "5GNR PRACH Preamble format C2";
+      }
+      enum LTE-NB0-a {
+        description
+          "LTE Narrowband PRACH format 0-a";
+      }
+      enum LTE-NB1-a {
+        description
+          "LTE Narrowband PRACH format 1-a";
+      }
+      enum LTE-NB2 {
+        description
+          "LTE Narrowband PRACH format 2";
+      }
+    }
+
+    description
+      "PRACH preamble format definition";
+  }
+
+  typedef polarisation_type {
+    type enumeration {
+      enum MINUS_45 {
+        description "MINUS_45";
+      }
+      enum ZERO {
+        description "ZERO";
+      }
+      enum PLUS_45 {
+        description "PLUS_45";
+      }
+      enum PLUS_90 {
+        description "PLUS_90";
+      }
+    }
+    description "Type definition for polarisations";
+  }
+
+  grouping transmission-buffering-capacity {
+    description
+      "UL U-plane buffering capacity available for scheduled transmission of UL U-plane messages";
+
+    list transmission-buffering-capacity {
+      description
+        "Buffering capacity for specific IQ format.
+         If the list does not contain an entry for particular IQ format than endpoint
+         or group of endpoints then buffering capacity for this IQ format is
+         max-buffered-prbs = 0 and max-buffered-symbols = 0.";
+
+      uses cf:compression-details;
+
+      leaf max-buffered-prbs {
+        type uint32;
+        description
+          "Max number of PRBs (for IQ format given in compression-details) that can be buffered by an endpoint
+           or buffered collectively by group of endpoints sharing capacity. This is divided between symbols buffered";
+      }
+
+      leaf max-buffered-symbols {
+        type uint32;
+        description
+          "Max number of symbols (for IQ format given in compression-details) that can be buffered by an endpoint
+          or buffered collectively by group of endpoints sharing capacity";
+      }
+    }
+  }
+
+  grouping general-config {
+    description "a group for general configuration";
+
+    container general-config {
+      description "a container for general configuration";
+
+      leaf regularization-factor-se-configured {
+        type boolean;
+        default false;
+        description
+          "Informs if regularization factor in section extension is configured(true) or not(false), this
+          leaf indicates whether the O-DU will send the regularization factor in section extension.
+
+          If the O-RU does not support regularization-factor-se-supported in o-ran-module-cap.yang,
+          this leaf is ignored.";
+      }
+
+      leaf little-endian-byte-order {
+        type boolean;
+        default false;
+
+        description
+          "If  little endian byte order for C/U plane data flows is supported by
+          the O-RU, indicates if the O-RU should use little endian byte order
+          for all UL and DL C/U plane data flows.
+
+          If little endian byte order is NOT supported, this node is ignored
+          (and the default bigendian byte order used)";
+      }
+
+      leaf uplane-only-dl-mode-enable {
+        if-feature feat:UPLANE-ONLY-DL-MODE;
+        type boolean;
+        default false;
+        description
+          "If set to true, enable IQ data transfer without C-Plane in DL for all
+          endpoints as specified in the CUS specification clause 8.2.2.";
+      }
+      
+      leaf st4-for-time-domain-beamforming-weights-enabled {
+        if-feature feat:ST4-SLOT-CONFIG-MSG-SUPPORT;
+        type boolean;
+        default false;
+        description
+          "If O-RU indicates support for Section Type 4 command 'TIME_DOMAIN_BEAM_CONFIG' , O-DU may
+          configure the O-RU to use Section Type 4 TIME_DOMAIN_BEAM_CONFIG command by setting this
+          flag to 'true'. In which case, O-DU shall use only Section Type 4 TIME_DOMAIN_BEAM_CONFIG
+          for specifying time-domain beam information. refer to clause 12.4.3.4.4 of CUS-Plane spec.";
+      }
+    }
+  }
+
+  grouping laa-carrier-config {
+    description "Carrier Configuration for support of LAA. ";
+    leaf ed-threshold-pdsch {
+      type int8;
+      units dBm;
+      description
+        "This value indicates Energy Detection(ED) threshold for LBT for PDSCH and for measurements in dBm.";
+    }
+
+    leaf ed-threshold-drs {
+      type int8;
+      units dBm;
+      description
+        "This value indicates Energy Detection(ED) threshold for LBT for DRS in dBm.";
+    }
+
+    leaf tx-antenna-ports {
+      type uint8;
+      description
+        "This value indicates Tx antenna ports for DRS (1, 2, 4)";
+    }
+
+    leaf transmission-power-for-drs {
+      type int8;
+      units decibels;
+      description
+        "This value indicates offset of Cell specific reference Signal(CRS) power to reference signal power (dB).
+        DRS signal consists of CRS, PSS, SSS, and optionally CSI-RS.";
+    }
+
+    leaf dmtc-period {
+      type enumeration {
+        enum FORTY {
+          description
+            "40 ms";
+        }
+        enum EIGHTY {
+          description
+            "80 ms";
+        }
+        enum ONE-HUNDRED-SIXTY {
+          description
+            "160 ms";
+        }
+      }
+      units milliseconds;
+      description
+        "This value indicates DRS measurement timing configuration (DMTC) period in ms";
+    }
+
+    leaf dmtc-offset {
+      type uint8;
+      units subframes;
+      description
+        "This value indicates dmtc offset in Subframes.";
+    }
+
+    leaf lbt-timer {
+      type uint16;
+      units milliseconds;
+      description
+        "This value indicates LBT Timer in milliseconds.";
+    }
+
+    list max-cw-usage-counter {
+      when "/mcap:module-capability/mcap:rw-sub-band-info/mcap:rw-self-configure = 'true'";
+      key "priority";
+      description "";
+      leaf priority {
+        type enumeration {
+          enum P1 {
+            description "priority 1";
+          }
+          enum P2 {
+            description "priority 2";
+          }
+          enum P3 {
+            description "priority 3";
+          }
+          enum P4 {
+            description "priority 4";
+          }
+        }
+        description "This value provides the priority class traffic for which the counter is calculated.";
+      }
+
+        leaf counter-value {
+          type uint8 {
+            range "1..8";
+          }
+          description "This value indicates the maximum value of counter
+          which shows how many max congestion window value is used for backoff
+          number of priority class traffic. This value is defined at 3GPP 36.213
+          section 15.1.3 as K.";
+        }
+      }
+  }
+
+  grouping coupling-methods {
+    description
+      "Grouping for configuration of desired C-Plane / U-Plane coupling methods (if supported)";
+    leaf coupling-to {
+      type leafref {
+        path "/mcap:module-capability/mcap:ru-capabilities/mcap:coupling-methods/mcap:coupling-via-frequency-and-time";
+        require-instance false;
+      }
+
+      description
+        "RW instance of RO parameter.";
+    }
+    leaf coupling-method {
+      when "../coupling-to = 'true'";
+      type enumeration{
+        enum NORMAL {
+          description "Coupling via sectionId value. This value can be used always.";
+        }
+        enum FREQUENCY_AND_TIME {
+          description "Coupling via frequency and time. Can be used when coupling-via-frequency-and-time = true
+                      or coupling-via-frequency-and-time-with-priorities = true in o-ran-module-cap.yang";
+        }
+        enum FREQUENCY_AND_TIME_WITH_PRIORITIES {
+          description "Coupling via frequency and time with priorities. Can be used when
+                      coupling-via-frequency-and-time-with-priorities = true in o-ran-module-cap.yang";
+        }
+        enum FREQUENCY_AND_TIME_WITH_PRIORITIES_OPTIMIZED {
+          description "Coupling via frequency and time with priorities optimized. Can be used when
+                      coupling-via-frequency-and-time-with-priorities-optimized = true in o-ran-module-cap.yang";
+        }
+      }
+      default NORMAL;
+      description
+        "Method of coupling between C-Plane and U-Plane messages; see methods of coupling
+        of C-Plane and U-Plane in CUS-Plane specification. If an O-RU doesn't support the
+        necessary capability as defined in o-ran-module-cap.yang, the O-RU shall respond
+        with rpc-error including an error-message describing the error condition";
+    }
+  }
+
+  grouping eaxc {
+    description
+      "One eAxC identifier (eAxC ID) comprises a band and sector
+      identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
+      spatial stream identifier (RU_Port_ID).
+
+      In this version of the specification, one eAxC contains only one spatial
+      stream (i.e. one beam per subcarrier) at a time.
+
+      Bit allocation is subdivided as follows:
+      *    O_DU_Port_ID: Used to differentiate processing units at O-DU
+      *    BandSector_ID: Aggregated cell identifier
+      *    CC_ID: distinguishes Component Carriers
+      *    RU_Port_ID: Used to differentiate spatial streams or beams on the O-RU
+
+      The bitwidth of each of the above fields is variable this model is supposed to check
+        if we are occupying bits continuously, but we do not have to occupy all 16 bits";
+
+
+    leaf o-du-port-bitmask {
+      type uint16;
+      mandatory true;
+      description
+        "mask for eaxc-id bits used to encode O-DU Port ID";
+    }
+
+    leaf band-sector-bitmask {
+      type uint16;
+      mandatory true;
+      description
+        "mask for eaxc-id bits used to encode the band sector ID";
+    }
+
+    leaf ccid-bitmask {
+      type uint16;
+      mandatory true;
+      description
+        "mask for eaxc-id bits used to encode the component carrier id";
+    }
+
+    leaf ru-port-bitmask {
+      type uint16;
+      mandatory true;
+      description
+        "mask for eaxc-id bits used to encode the O-RU Port ID";
+    }
+
+    leaf eaxc-id {
+      type uint16;
+      mandatory true;
+      description
+        "encoded value of eaxcid to be read by CU-Plane";
+    }
+  }
+
+  grouping parameters {
+    description
+      "Grouping of all parameters common between UL and DL";
+
+    leaf name {
+      type string;
+      mandatory true;
+      description "Unique name of array antenna";
+    }
+
+    leaf number-of-rows {
+      type uint16;
+      mandatory true;
+      description "Number of rows array elements are shaped into - M";
+    }
+
+    leaf number-of-columns {
+      type uint16;
+      mandatory true;
+      description "Number of columns array elements are shaped into - N";
+    }
+
+    leaf number-of-array-layers {
+      type uint8;
+      mandatory true;
+      description "Number of array layers array elements are shaped into - Q";
+    }
+
+    leaf horizontal-spacing {
+      type decimal64 {
+            fraction-digits 5;
+        }
+      units Meter;
+
+      description "Average distance between centres of nearby AE in horizontal direction (in array coordinates system)";
+    }
+
+    leaf vertical-spacing{
+      type decimal64 {
+            fraction-digits 5;
+        }
+      units Meter;
+
+      description "Average distance between centres of nearby AE in vertical direction (in array coordinates system)";
+    }
+
+    container normal-vector-direction {
+      description
+        "Counter-clockwise rotation around z and y axis.";
+
+      leaf azimuth-angle{
+        type decimal64 {
+          fraction-digits 4;
+          }
+        units Degrees;
+
+        description "Azimuth angle, counter-clockwise rotation around z-axis. Value 'zero' points to broad-side, value '90' points to y-axis";
+      }
+       leaf zenith-angle{
+         type decimal64 {
+          fraction-digits 4;
+          }
+        units Degrees;
+
+        description "Zenith angle, counter-clockwise rotation around y-axis. Value 'zero' points to zenith, value '90' points to horizon";
+       }
+    }
+
+    container leftmost-bottom-array-element-position {
+      description "Structure describing position of leftmost, bottom array element.";
+      leaf x {
+        type decimal64 {
+          fraction-digits 4;
+          }
+        units Meter;
+
+        description "X dimension of position of leftmost, bottom array element";
+      }
+
+      leaf y {
+        type decimal64 {
+          fraction-digits 4;
+          }
+        units Meter;
+
+        description "Y dimension of position of leftmost, bottom array element";
+      }
+
+      leaf z {
+        type decimal64 {
+          fraction-digits 4;
+          }
+        units Meter;
+
+        description "Z dimension of position of leftmost, bottom array element";
+      }
+    }
+    list polarisations {
+      key "p";
+      min-elements 1;
+      max-elements 2;
+
+      description
+        "List of supported polarisations.";
+
+      leaf p {
+      type uint8;
+      mandatory true;
+      description
+        "Polarisation index. See CUS-plane";
+      }
+
+      leaf polarisation {
+        type polarisation_type;
+        mandatory true;
+        description "Type of polarisation supported by array.";
+      }
+    }
+    leaf band-number {
+      type leafref {
+        path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
+      }
+      mandatory true;
+      description
+        "This parameter informing which frequency band particular antenna
+         array is serving for.
+         Intended use is to deal with multiband solutions.";
+    }
+
+    list related-o-ru-connectors {
+      key name;
+
+      leaf name {
+        type leafref {
+          path '/hw:hardware/hw:component/hw:name';
+        }
+        must "derived-from-or-self(deref(current())/../hw:class, 'or-hw:O-RU-ANTENNA-CONNECTOR')";
+        description
+          "Referenced name of O-RU connector used by the antenna array.";
+      }
+      leaf-list array-element-id {
+        type uint16;
+        description
+          "Identifiers of array element(s) related to specific O-RU connector. Allowed values and semantic - as per CUS-Plane spec, clause 'Identification and Ordering of Array Elements'";
+      }
+      description
+        "List of unique names that identify instances of O-RU's connectors the external [tr]x-array is reachable through.";
+    }
+  }
+
+  grouping array-choice {
+    choice antenna-type {
+      case tx {
+        leaf tx-array-name {
+          type leafref {
+            path "/o-ran-uplane-conf:user-plane-configuration/o-ran-uplane-conf:tx-arrays/o-ran-uplane-conf:name";
+          }
+
+          description
+            "Leafref to tx array if such is chosen";
+        }
+      }
+      case rx {
+        leaf rx-array-name {
+          type leafref {
+            path "/o-ran-uplane-conf:user-plane-configuration/o-ran-uplane-conf:rx-arrays/o-ran-uplane-conf:name";
+          }
+
+          description
+            "Leafref to rx array if such is chosen";
+        }
+      }
+      description
+        "Choice for antenna type";
+    }
+    description
+      "Elements which groups choice for antenna type";
+  }
+
+  grouping scs-config {
+    description
+      "It groups all parameters related to SCS configuration";
+
+    leaf frame-structure {
+      type uint8;
+
+      description
+        "This parameter provides value of frame structure. For semantics and allowed values see CUS-Plane Specification, clause 'frameStructure (frame structure)'";
+    }
+
+    leaf cp-type {
+      type enumeration {
+        enum NORMAL {
+          description
+            "Normal cyclic prefix";
+        }
+
+        enum EXTENDED {
+          description
+            "Extended cyclic prefix";
+        }
+      }
+
+      description
+        "Provides type of CP (cyclic prefix) if section type 3 is not used or type of CP cannot be determined from cpLength.";
+    }
+
+    leaf cp-length {
+      type uint16;
+      units Ts;
+      mandatory true;
+      description
+        "Provides length of CP used for the first symbol after subframe boundary or half-subframe boundary.
+        See CUS-plane
+
+        If a section type 3 is used in C-plane messages addressed to the endpoint, then O-RU takes length of CP from
+        C-Plane cpLength Information Element and the value of this leaf shall be ignored by the O-RU. See cpLength (cyclic prefix length)
+        in CUS-Plane for details.
+
+        If a static configuration (see static-prach-configurations) is applicable to the endpoint, then O-RU takes
+        length of CP from M-Plane cp-length leaf in static-prach-configurations and the value of this leaf shall be ignored by the O-RU.";
+    }
+
+    leaf cp-length-other {
+      type uint16;
+      units Ts;
+      mandatory true;
+      description
+        "Provides length of CP used for symbols other than provided by cp-length.
+
+        If a section type 3 is used in C-plane messages addressed to the endpoint, then O-RU takes length of CP from
+        C-Plane cpLength Information Element and the value of this leaf shall be ignored by the O-RU. See cpLength (cyclic prefix length)
+        in CUS-Plane for details.
+
+        If a static configuration (see static-prach-configurations) is applicable to the endpoint, then O-RU takes
+        length of CP from M-Plane cp-length leaf in static-prach-configurations and the value of this leaf shall be ignored by the O-RU.";
+    }
+
+    leaf offset-to-absolute-frequency-center {
+      type int32;
+      mandatory true;
+      description
+        "This provides value of freqOffset to be used if section type 3 is not used. See freqOffset in CUS-plane.
+         offset-to-absolute-frequency-center defines the relative spacing between the centre of RE#0 of RB#0 to the center-of-channel-bandwidth.
+         If offset-to-absolute-frequency-center for NR with SCS=15kHz is odd,
+         it implies that 7.5kHz shift as indicated by the 3GPP parameter frequencyShift7p5khz for UL is applied,
+         which means enable the NR UL transmission with a 7.5 kHz shift to the LTE raster, as defined in 3GPP TS 38.331.
+         When type (in tx/rx-array-carrier) is DSS, 'offset-to-absolute-frequency-center' indicates the 1st RE of 1st RB of NR.";
+    }
+
+    list number-of-prb-per-scs {
+      key scs;
+      description
+        "List of configured for each SCS that will be used.";
+
+      leaf scs {
+        type mcap:scs-config-type;
+        description
+          "Value corresponds to SCS values defined for frameStructure in C-plane.
+          Note: set of allowed values is restricted by SCS derived from values in supported-frame-structures.";
+      }
+
+      leaf number-of-prb {
+        type uint16;
+        mandatory true;
+        description
+          "Determines max number of PRBs that will be used in all sections per one symbol.
+          This is affecting allocation of resources to endpoint. Value shall not exceed constrains
+          defined by max-prb-per-symbol of endpoint type. In addition, sum (over all used endpoints
+          within a group of endpoints sharing resources) of number-of-prb rounded up to the
+          nearest value from prb-capacity-allocation-granularity shall not exceed max-prb-per-symbol of the group.";
+      }
+    }
+  }
+
+  grouping tx-common-array-carrier-elements {
+    description
+      "This grouping contains all common parameters for tx-array-carriers and rx-array-carriers";
+
+    leaf absolute-frequency-center {
+      type uint32;
+      status deprecated;
+      description
+        "deprecated in version 5.0.0 and replaced with offset-to-absolute-frequency-center
+        and common FREF translated from absolute-frequency-center (NREF) as defined in 38.104";
+    }
+
+    leaf center-of-channel-bandwidth {
+      type uint64;
+          units Hz;
+      mandatory true;
+      description
+        "Centre frequency of channel bandwidth in Hz. Common for all numerologies.
+         center-of-channel-bandwidth is the FREF translated from absolute-frequency-center (NREF) as per 3GPP TS 38.104.
+         Refer to Table 5: Centre Bandwidth Calculation in M-plane spec for calculation of this parameter
+         for even and odd number of PRBs in LTE, NR and DSS carrier configuration.";
+    }
+
+    leaf channel-bandwidth {
+      type uint64;
+      units Hz;
+      mandatory true;
+
+      description
+        "Width of carrier given in Hertz";
+    }
+
+    leaf active {
+      type enumeration {
+        enum INACTIVE {
+              description
+                "carrier does not provide signal - transmission is disabled";
+            }
+        enum SLEEP{
+              description
+                "carrier is fully configured and was active but is energy saving mode";
+            }
+        enum ACTIVE{
+              description
+                "carrier is fully configured and properly providing the signal";
+            }
+      }
+      default INACTIVE;
+
+      description
+        "Indicates if transmission is enabled for this array carriers. Note that NETCONF server uses state parameter
+        to indicate actual state of array carriers operation. When array carriers is in sleep status,
+        NETCONF server rejects all other operation request to tx-array-carriers object except either request to change from sleep
+        to active status or delete MO operation (see 4.8) to the object.";
+    }
+
+    leaf state {
+      type enumeration {
+        enum DISABLED {
+          description
+            "array carrier is not active - transmission of signal is disabled.";
+        }
+        enum BUSY {
+          description
+            "array carrier is processing an operation requested by change of active parameter.
+            When array carriers is BUSY the transmission of signal is not guaranteed.";
+        }
+        enum READY {
+          description
+            "array carrier had completed activation operation - is active and transmission of signal is ongoing.";
+        }
+      }
+      config false;
+      mandatory true;
+      description
+        "Indicates state of array carriers activation operation";
+    }
+
+    leaf type {
+      type enumeration {
+        enum NR {
+              description
+                "5G technology";
+        }
+        enum LTE {
+              description
+                "LTE technology";
+        }
+        enum DSS_LTE_NR {
+          if-feature mcap:DSS_LTE_NR;
+              description
+                "NR and LTE technologies in Dynamic Spectrum Sharing mode";
+        }
+      }
+      description
+        "Type of carrier. Indicates array-carrier technology.";
+    }
+
+    leaf duplex-scheme {
+      type enumeration {
+        enum TDD {
+              description
+                "TDD scheme";
+            }
+        enum FDD {
+              description
+                "FDD scheme";
+        }
+      }
+      config false;
+
+      description
+        "Type of duplex scheme O-RU supports.";
+    }
+    leaf rw-duplex-scheme {
+      type leafref {
+        path "/user-plane-configuration/tx-array-carriers[name=current()/../name]" + "/duplex-scheme";
+        require-instance false;
+      }
+      status deprecated;
+      description
+        "Config true type of duplex scheme.
+         Status is deprecated because 'lte-tdd-frame' container, where it was used, is also deprecated.
+         Additionally duplex-scheme is derived from the band-number.";
+    }
+    leaf rw-type {
+      type leafref {
+        path "/user-plane-configuration/tx-array-carriers[name=current()/../name]" + "/type";
+        require-instance false;
+      }
+      status deprecated;
+      description
+        "Config true type of carrier.
+         Status is deprecated because leafref is to a 'config true' schema-node";
+    }
+  }
+
+  grouping rx-common-array-carrier-elements {
+    description
+      "This grouping contains all common parameters for tx-array-carriers and rx-array-carriers";
+
+    leaf absolute-frequency-center {
+      type uint32;
+      status deprecated;
+      description
+        "deprecated in version 5.0.0 and replaced with offset-to-absolute-frequency-center
+        and common FREF translated from absolute-frequency-center (NREF) as defined in 38.104";
+    }
+
+    leaf center-of-channel-bandwidth {
+      type uint64;
+          units Hz;
+      mandatory true;
+      description
+        "Centre frequency of channel bandwidth in Hz. Common for all numerologies.
+         center-of-channel-bandwidth is the FREF translated from absolute-frequency-center (NREF) as per 3GPP TS 38.104.
+         Refer to Table 5: Centre Bandwidth Calculation in M-plane spec for calculation of this parameter
+         for even and odd number of PRBs in LTE, NR and DSS carrier configuration.";
+    }
+
+    leaf channel-bandwidth {
+      type uint64;
+      units Hz;
+      mandatory true;
+
+      description
+        "Width of carrier given in Hertz";
+    }
+
+    leaf active {
+      type enumeration {
+        enum INACTIVE {
+              description
+                "carrier does not provide signal - transmission is disabled";
+            }
+        enum SLEEP{
+              description
+                "carrier is fully configured and was active but is energy saving mode";
+            }
+        enum ACTIVE{
+              description
+                "carrier is fully configured and properly providing the signal";
+            }
+      }
+      default INACTIVE;
+
+      description
+        "Indicates if transmission is enabled for this array carriers. Note that NETCONF server uses state parameter
+        to indicate actual state of array carriers operation. When array carriers is in sleep status,
+        NETCONF server rejects all other operation request to tx-array-carriers object except either request to change from sleep
+        to active status or delete MO operation (see 4.8) to the object.";
+    }
+
+    leaf state {
+      type enumeration {
+        enum DISABLED {
+          description
+            "array carrier is not active - transmission of signal is disabled.";
+        }
+        enum BUSY {
+          description
+            "array carrier is processing an operation requested by change of active parameter.
+            When array carriers is BUSY the transmission of signal is not guaranteed.";
+        }
+        enum READY {
+          description
+            "array carrier had completed activation operation - is active and transmission of signal is ongoing.";
+        }
+      }
+      config false;
+      mandatory true;
+      description
+        "Indicates state of array carriers activation operation";
+    }
+
+    leaf type {
+      type enumeration {
+        enum NR {
+              description
+                "5G technology";
+        }
+        enum LTE {
+              description
+                "LTE technology";
+        }
+        enum DSS_LTE_NR {
+          if-feature mcap:DSS_LTE_NR;
+              description
+                "NR and LTE technologies in Dynamic Spectrum Sharing mode";
+        }
+      }
+      description
+        "Type of carrier. Indicates array-carrier technology.";
+    }
+
+    leaf duplex-scheme {
+      type enumeration {
+        enum TDD {
+              description
+                "TDD scheme";
+            }
+        enum FDD {
+              description
+                "FDD scheme";
+        }
+      }
+      config false;
+
+      description
+        "Type of duplex scheme O-RU supports.";
+    }
+  }
+
+  grouping endpoint-section-capacity {
+    leaf max-control-sections-per-data-section {
+      type uint8 {
+        range "1..12";
+      }
+      description
+        "Max number of C-plane sections (C-plane section is part of C-plane message that carries 'section fields')
+        referring to same U-plane section (U-plane section is part of U-plane message that carries
+        'section header fields' and 'PRB fields') that is supported by endpoint.
+        Note that additional limitations specific for each section type apply on top of this number.";
+    }
+    leaf max-sections-per-symbol {
+      type uint16;
+      description
+        "Max number of sections within one symbol that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity";
+    }
+    leaf max-sections-per-slot {
+      type uint16;
+      description
+        "Max number of sections within one slot that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity.";
+    }
+    leaf max-highest-priority-sections-per-slot {
+      type uint16;
+      must "current() < ../max-sections-per-slot" {
+        error-message "the sectionID for the highest priority needs to be less than the max sectionIds per slot";
+      }
+      description
+        "Max number of highest priority sections within one slot that can be processed by endpoint or processed  collectively by
+        group of endpoints sharing capacity. This leaf applies only when coupling-via-frequency-and-time-with-priorities-optimized
+        is true, in other instances this leaf is ignored by the O-RU. The sectionId for highest priority section descriptions shall
+        start from 0 to specified max value and is a subset of max-sections-per-slot and must be less than max-sections-per-slot.";
+    }
+
+    leaf max-remasks-per-section-id {
+      type uint8 {
+        range "1..12";
+      }
+      default 12;
+      status deprecated;
+      description
+        "maximum number of different reMask values that is applied to a PRB
+        within one section id. This value can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity.
+        This parameter is duplicated max-control-sections-per-data-section, hence being deprecated.";
+    }
+    leaf max-uplane-section-header-per-symbol {
+      type uint16;
+      description
+        "Maximum number of U-Plane data section header within one symbol that can be processed by an endpoint or processed collectively by group of
+        endpoints sharing capacity. Clarification for multiple U-Plane data section headers per C-Plane section description is specified in sectionId IE
+        description in CUS-Plane specification. For the cases where this optional parameter is not populated by O-RU or an older version O-DU does not
+        interpret this parameter, O-DU may optionally use max-sections-per-symbol as the default value to limit of U-Plane data  section messages which
+        can be processed by the O-RU. If none of the above limitations are supported, O-RU and O-DU may rely on offline negotiation.
+        As an example, this parameter can be used to limit O-RU processing while using Section extension type#6 and #12, which are used for non-contiguous
+        PRB allocation, and hence results in multiple U-Plane data section headers for a given C-Plane section description.";
+    }
+    leaf max-uplane-section-header-per-slot {
+      type uint16;
+      description
+        "Maximum number of U-Plane data section headers within one slot that can be processed by an endpoint or processed collectively by group of
+        endpoints sharing capacity. Clarification for multiple U-Plane data section headers per C-Plane section description is specified in sectionId IE
+        description in CUS-Plane specification. For the cases where this optional parameter is not populated by O-RU or an older version O-DU does not
+        interpret this parameter, O-DU may optionally use max-sections-per-slot as the default value to limit of U-Plane data  section messages which can
+        be processed by the O-RU. If none of the above limitations are supported, O-RU and O-DU may rely on offline negotiation.
+        As an example, this parameter can be used to limit O-RU processing while using Section extension type#6 and #12, which are used for non-contiguous
+        PRB allocation, and hence results in multiple U-Plane data section headers for a given C-Plane section description.";
+    }
+
+    description
+      "Parameters describing section capacity where section is understood as number of different sectionId values. Additionally, max limits for U-Plane data sections
+      refer to U-Plane data section headers";
+  }
+
+  grouping endpoint-section-extension-limits {
+    leaf max-mcscaleremask-per-prb {
+      type uint16;
+      description
+        "This parameter limits the number of sets of {mcScaleReMask, csf, mcScaleOffset} values per symPrbPattern the O-RU can support when SE 23 is used in a
+        data section description. Refer to clause 7.7.23.1 of the CUS-Plane specification.";
+    }
+    leaf max-prb-ranges-per-sec-ext-12 {
+      type uint16;
+      description
+        "Optional parameter reported by O-RU which applies to Section Extension 12 and specifies
+        the maximum number of frequency ranges R per section description supported by O-RU.
+        If this limit is exceeded by the O-DU, the O-RU is responsible for sending alarm notification
+        with 'fault-id = 31' to subscribers following the procedures defined in Clause 11 and
+        Table A.1-1 of O-RAN.WG4.MP.0.
+        As an example, the O-RU can include the following in the corresponding active-alarm list
+        entry and alarm-notification message:
+        <fault-text>Error C-Plane message</fault-text>
+        <probable-cause>Maximum number of frequency ranges in SE-12 per section description exceeded</probable-cause>
+        <proposed-repair-actions>Reduce frequency ranges per section description used in SE-12</proposed-repair-actions>";
+    }
+    leaf max-freq-hops-per-sec-ext-13 {
+      type uint16;
+      description
+        "Optional parameter reported by O-RU which applies to Section Extension 13 and specifies
+        the maximum number of frequency hops R per section description supported by O-RU.
+        If this limit is exceeded by the O-DU, the O-RU is responsible for sending alarm notification
+        with 'fault-id = 31' to subscribers following the procedures defined in Clause 11 and
+        Table A.1-1 of O-RAN.WG4.MP.0.
+        As an example, the O-RU can include the following in the corresponding active-alarm list
+        entry and alarm-notification message:
+        <fault-text>Error C-Plane message</fault-text>
+        <probable-cause>Maximum number of frequency hops in SE 13 per section description exceeded</probable-cause>
+        <proposed-repair-actions>Reduce frequency hops per section description used in SE-13</proposed-repair-actions>";
+    }
+
+    description
+      "Parameters describing C-Plane section extension limits/capacities.";
+  }
+
+  grouping endpoint-beam-capacity {
+    leaf max-beams-per-symbol {
+      type uint16 {
+        range "min .. 32767";
+      }
+      description
+        "Max number of beams within one symbol that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity
+
+        If the parameter is absent or if value 0 is reported for the parameter,
+        then the endpoint does not support beamforming operation.";
+    }
+    leaf max-beams-per-slot {
+      type uint16 {
+        range "min .. 32767";
+      }
+      description
+        "Max number of beams within one slot that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity
+
+        If the parameter is absent or if value 0 is reported for the parameter,
+        then the endpoint does not support beamforming operation.";
+    }
+    leaf max-beam-updates-per-slot {
+      type uint16 {
+        range "min .. 32767";
+      }
+      description
+        "Max number of beams within one slot that can be updated by endpoint
+        or processed collectively by group of endpoints sharing capacity
+
+        If the parameter is absent or if value 0 is reported for the parameter,
+        then the endpoint does not support beamforming operation.";
+    }
+    leaf max-beam-updates-per-symbol {
+      type uint16 {
+        range "min .. 32767";
+      }
+      description
+        "Max number of beams within one symbol that can be updated by endpoint
+        or processed collectively by group of endpoints sharing capacity
+
+        If the parameter is absent or if value 0 is reported for the parameter,
+        then the endpoint does not support beamforming operation.";
+    }
+
+    description
+      "Parameters describing beam capacity where number of beams is understood as number of different beamId values.
+       Parameters defined for beam updates shall be used to put a maximum limit on number of beam/beamIds which can be updated
+       every slot/symbol. Note: This parameter does not put any restriction on which beams/beamIds can be updated.
+
+       If the parameters defining beam capacity and beam updates are absent or if value 0 is reported for the parameters
+       defining beam capacity and beam updates, then the endpoint does not support beamforming operation.";
+  }
+
+  grouping endpoint-prb-capacity {
+    leaf max-prb-per-symbol {
+      type uint16;
+      description
+        "Max number of prbs within one symbol that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity";
+    }
+
+    leaf max-prb-ranges-per-symbol {
+      type uint32;
+      description
+        "Optional parameter reported by O-RU which indicates the maximum number of PRB ranges
+        that can be processed by single endpoint or processed collectively by group of endpoints
+        sharing capacity within one symbol. For details please see O-RAN WG4 CUS-Plane specification,
+        Clause 7.8.2.1.2 'Limits of number of PRB ranges'.
+
+        In case CU-Plane traffic generated by the O-DU exceeds the limit, an O-RU is responsible
+        for sending alarm notification with 'fault-id = 31' to subscribers following the procedures
+        defined in Clause 11 and Table A.1-1 of O-RAN.WG4.MP.0.
+
+        As an example, the O-RU can include the following in the corresponding active-alarm list
+        entry and alarm-notif message:
+        <fault-text>Error C-Plane message</fault-text>
+        <probable-cause>max-prb-ranges-per-symbol exceeded</probable-cause>
+        <proposed-repair-actions>Reduce value of  number of PRB ranges used per symbol</proposed-repair-actions>";
+    }
+
+    description
+      "Attributes presenting processing capacity related to PRB.";
+  }
+
+  grouping endpoint-numerology-capacity {
+    leaf max-numerologies-per-symbol {
+      type uint16;
+      description
+        "Max number of numerologies within one symbol that can be processed by endpoint
+        or processed collectively by group of endpoints sharing capacity";
+    }
+
+    description
+      "Attributes presenting processing capacity related to numerology.
+
+      This leaf contains valid data only when multiple-numerology-supported
+      is set to true.";
+  }
+
+  grouping per-cplane-message-limits  {
+    leaf max-beams-per-cplane-message {
+      type uint16;
+      description
+        "Maximum number of beams which can be recieved in one single C-Plane message. Number of beams,
+        may include only beamIds, only beam weights or mix of beamIds and beamweights being received by
+        an O-RU in a single C-Plane message.
+        To avoid application layer fragmentation of C-Plane message across the fronthaul, O-RU should
+        avoid setting this to a very low value.
+        As a usage scenario, an O-RU may choose to define only a few quantized values e.g. (128, 256).
+        If the value is set to 0 by O-RU, the O-DU need not restrict the number of beams it can send
+        in single C-Plane message (except limited by MTU size).";
+    }
+
+    leaf max-highest-priority-sec-per-cplane-message {
+      type uint16;
+      description
+        "Maximum number of highest priority sections which can be received in one single C-Plane message.
+        This leaf applies only when 'coupling-via-frequency-and-time-with-priorities' is true";
+    }
+
+    leaf max-beams-per-slot-with-cplane-limits {
+      type uint16;
+      description
+        "Maximum number of beams that are required to be processed by endpoint or processed collectively
+        by group of endpoints sharing capacity when O-DU enables C-Plane limits. This value should replace
+        'max-beams-per-slot' defined in 'endpoint-beam-capacity'";
+    }
+
+    leaf max-highest-priority-sections-per-slot-with-cplane-limits {
+      type uint16;
+      description
+        "Maximum number of highest priority sections that are required to be processed by endpoint or processed
+        collectively by group of endpoints sharing capacity when O-DU supports C-Plane limits. This value should
+        replace 'max-highest-priority-sections-per-slot' defined in 'endpoint-section-capacity'";
+    }
+
+    leaf max-num-se22-per-cplane-message {
+      type uint16;
+      description
+        "This value limits the max number of section extension 22 (ACK/NACK request) included in a C-Plane message as supported
+        by the endpoint or collectively by group of endpoints sharing capacity when O-DU enables C-Plane limits
+        and when section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback) are supported by the endpoint or endpoint sharing group.";
+    }
+
+    leaf max-prb-ranges-per-hp-section-sec-ext-12 {
+      type uint16;
+      description
+        "Optional parameter reported by O-RU which applies to Section Extension 12 and specifies the
+        maximum number of frequency ranges R per highest priority section description supported by O-RU.
+        If this limit is exceeded by the O-DU, the O-RU is responsible for sending alarm notification
+        with 'fault-id = 31' to subscribers following the procedures defined in Clause 11 and
+        Table A.1-1 of O-RAN.WG4.MP.0.
+        As an example, the O-RU can include the following in the corresponding active-alarm list
+        entry and alarm-notification message:
+        <fault-text>Error C-Plane message</fault-text>
+        <probable-cause>Maximum number of frequency hops per highest priority section description exceeded</probable-cause>
+        <proposed-repair-actions>Reduce frequency range per highest section description</proposed-repair-actions>";
+    }
+
+    description
+      "Attributes limit maximum instances of certian parameters contained in a C-Plane mesaage e.g. beams,
+      highest priority sections. This limitation is useful for O-RUs which are packet processing based and are
+      dimensioned to handle fixed number of parameters contained in a C-Plane message. In addition, if O-DU supports
+      cplane limits, O-RU can operate more efficiently and endpoint capacity for applicable parameters are enhanced.
+      as specified by 'max-beams-per-slot-with-cplane-limits' and 'max-highest-priority-sections-per-slot-with-cplane-limits'";
+  }
+
+  grouping beam-update-contention-control-limits  {
+    leaf max-beams-per-symbol-with-beam-contention-control {
+      type uint16;
+      description
+        "Maximum number of beams within one symbol that can be processed by an endpoint or processed collectively
+        by group of endpoints sharing capacity when O-DU enables the O-RU feature BEAM-UPDATE-CONTENTION-CONTROL.
+        This value should replace 'max-beams-per-symbol' defined in 'endpoint-beam-capacity'";
+    }
+
+    leaf max-beams-updates-per-symbol-with-beam-contention-control {
+      type uint16;
+      description
+        "Maximum number of beams within one symbol that can be updated by an endpoint or processed collectively
+        by group of endpoints sharing capacity when O-DU enables the O-RU feature BEAM-UPDATE-CONTENTION-CONTROL.
+        This value should replace 'max-beam-updates-per-symbol' defined in 'endpoint-beam-capacity'";
+    }
+
+    description
+      "If O-DU supports BEAM-UPDATE-CONTENTION-CONTROL, O-RU can operate more efficiently and endpoint capacity for applicable
+      parameters are enhanced.";
+  }
+
+  grouping endpoint-static-config-support {
+    leaf static-config-supported {
+      type enumeration {
+        enum NONE {
+          description
+            "The endpoint does not support static PRACH / SRS configuration.
+             Reception of PRACH / SRS is possible through real time C-Plane messages
+             if other endpoint capabilities allow for that.";
+        }
+        enum PRACH {
+          if-feature mcap:PRACH-STATIC-CONFIGURATION-SUPPORTED;
+          description
+            "The endpoint supports statically configured PRACH reception";
+        }
+        enum SRS {
+          if-feature mcap:SRS-STATIC-CONFIGURATION-SUPPORTED;
+          description
+            "The endpoint supports statically configured SRS reception";
+        }
+      }
+      default NONE;
+
+      description
+        "The parameter informs if endpoint can be statically configured to process PRACH or SRS reception";
+    }
+
+    leaf max-prach-patterns {
+      when "(/user-plane-configuration/static-low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'PRACH')";
+      type uint8;
+        description
+          "Maximum number of PRACH patterns the endpoint can handle in PRACH configuration";
+    }
+
+    leaf max-srs-patterns {
+      when "(/user-plane-configuration/static-low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'SRS')";
+      type uint8;
+        description
+          "Maximum number of SRS patterns the endpoint can handle in SRS configuration";
+    }
+
+    description
+      "Endpoint's capabilities related to static PRACH / SRS configuration.";
+  }
+
+  grouping endpoint-tdd-pattern-support {
+    leaf configurable-tdd-pattern-supported {
+      if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+      type boolean;
+      default false;
+
+      description
+        "The parameter informs if endpoint supports configuration for TDD pattern";
+    }
+
+    leaf tdd-group {
+      type uint8;
+      description
+        "Parameter is used to group static-low-level-[tr]x-endpoints.
+        Note: [tr]x-array-carriers using static-low-level-[tr]x-endpoints
+        having the same value of tdd-group, must have the same TDD switching
+        points and the same directions to the air interface granted - regardless TDD switching
+        is controlled by M-Plane or by C-Plane";
+    }
+
+    description
+      "This grouping exposes static-low-level-[tr]x-endpoint's capabilities related to its support for configurable
+      TDD patterns and limitations regarding common TDD switching per groups of endpoints.";
+  }
+
+  grouping u-plane-transmission-control {
+    description
+      "Configuration for UL U-plane transmission control";
+
+    leaf transmission-window-control {
+      if-feature "feat:STATIC-TRANSMISSION-WINDOW-CONTROL or feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL";
+      type enumeration {
+        enum NONE {
+          description
+            "O-RU will use normal transmission type with normal transmission window";
+        }
+        enum STATIC {
+          if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+          description
+            "O-RU will use transmission window offset and size and transmission type as configured over M-plane";
+        }
+        enum DYNAMIC {
+          if-feature feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL;
+          description
+            "O-RU will use transmission window offset and size and transmission type as requested over C-plane";
+        }
+      }
+      default NONE;
+
+      description
+        "Selects type of UL U-plane transmission window control for the endpoint";
+    }
+
+    leaf transmission-window-schedule {
+      when "(../transmission-window-control = 'STATIC')";
+      if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+      type union {
+        type empty;
+        type leafref {
+          path "/user-plane-configuration/transmission-window-schedules/id";
+        }
+      }
+      description
+        "Identifies U-plane transmission window schedule (which provides a list of symbol-specific offsets)
+         to be used by the endpoint.
+         Symbol-specific offset values from the schedule are added to endpoint specific offset value
+         from transmission-window-offset.
+         If this element is not present, the O-RU assumes as all symbol specific offsets are zero.
+         For restrictions on values of symbol-specific offsets see description of transmission-window-offset.
+         This parameter shall not be set to value other than empty if transmission control is not enabled
+         by transmission-window-control.";
+    }
+
+    leaf transmission-window-offset {
+      when "(../transmission-window-control = 'STATIC')";
+      if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+      type uint16;
+      units "number of symbols";
+      default 0;
+      description
+        "Transmission window offset.
+         The effective symbol-specific offset is sum of endpoint-specific offset value from transmission-window-offset
+         and symbol-specific offset from transmission-window-schedules referenced by transmission-window-schedule.
+
+         If this element is not present then O-RU assumes transmission-window-offset is zero.
+         This parameter shall not be set to value other than 0 if transmission control is not enabled
+         by transmission-window-control.
+
+         There is no direct upper bound for this parameter (except value range defined by leaf type) but there are
+         restrictions on combination of values of transmission-window-offset, transmission-window-offset,
+         symbol-specific offset from transmission-window-schedules and transmission-window-size.
+
+         Specifically, if endpoint is set for delay managed operation (non-time-managed-delay-enabled = FALSE)
+         then O-RU handles U-Plane transmission as delay managed traffic and combination of values of
+         transmission-window-offset, symbol-specific offset from transmission-window-schedules and
+         transmission-window-size must not exceed O-RU buffering capacity (transmission-buffering-capacity)
+         for the requested reception schedule.
+
+         If endpoint is set for non-delay managed operation (non-time-managed-delay-enabled = TRUE)
+         then O-RU handles U-Plane transmission on best effort basis. In this case any combination of values
+         of transmission-window-offset, symbol-specific offset from transmission-window-schedules and
+         transmission-window-size is permitted. This does not remove restrictions on parameters due to restrictions
+         defined for value type or restrictions that depend on INDEPENDENT-TRANSMISSION-WINDOW-CONTROL feature
+
+         Additional restrictions on values (and presence) of transmission-window-schedule, transmission-window-offset
+         and transmission-window-size depend on presence of INDEPENDENT-TRANSMISSION-WINDOW-CONTROL feature.
+
+         If INDEPENDENT-TRANSMISSION-WINDOW-CONTROL feature is not supported then all endpoints with
+         transmission control enabled that handle the same carrier type and SCS must be configured
+         (via M-plane or C-plane) with parameter values resulting in transmission windows that coincide
+         between the endpoints. That is, for every symbol N, the effective transmission window for symbol N
+         must be shared (start at the same time and end at the same time) by all the endpoints handling
+         same carrier type and SCS. This restriction applies only to endpoints that have transmission
+         control enabled.
+
+         If INDEPENDENT-TRANSMISSION-WINDOW-CONTROL feature is supported then restriction described
+         above does not apply and a different transmission window (window offset and window size)
+         can be used for every endpoint capable of transmission window control.";
+    }
+
+    leaf transmission-window-size {
+      when "(../transmission-window-control = 'STATIC')";
+      if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+      type uint16 {
+        range "0..10000";
+      }
+      units "microsecond";
+      default 0;
+      description
+        "Transmission window size to be used; only values that are compatible with SCS used
+         for the endpoint are allowed.
+         Minimum supported value is determined by SCS specific transmission window size
+         reported by O-RU in ru-delay-profile.
+
+         Client can use special value 0 (zero) instead of the SCS specific transmission window
+         size reported by O-RU in ru-delay-profile with the same effect.
+         This parameter shall not be set to value other than 0 if transmission control is not enabled
+         (transmission-window-control = NONE) or the endpoint is set for non-delay managed operation
+         (non-time-managed-delay-enabled = TRUE).
+
+         There is no direct upper bound for this parameter (except value range defined by leaf type) but there are
+         restrictions on combination of values of transmission-window-offset, transmission-window-offset,
+         symbol-specific offset from transmission-window-schedules and transmission-window-size.
+         See description of transmission-window-offset for more details.";
+    }
+
+    leaf transmission-type {
+      when "(../transmission-window-control = 'STATIC')";
+      if-feature "feat:STATIC-TRANSMISSION-WINDOW-CONTROL and feat:UNIFORMLY-DISTRIBUTED-TRANSMISSION";
+      type enumeration {
+        enum NORMAL {
+          description
+            "Normal transmission (unspecified within transmission window)";
+        }
+        enum UNIFORMLY-DISTRIBUTED {
+          if-feature feat:UNIFORMLY-DISTRIBUTED-TRANSMISSION;
+          description
+            "Uniformly distributed over transmission window: each of N messages in the window
+             transmitted at random time in a separate subwindow; subwindow size is window size / N ";
+        }
+      }
+
+      description "Type of delay supported by the endpoint";
+    }
+  }
+
+  grouping tx-endpoint-compression-grouping {
+    description
+      "Grouping for endpoint compression";
+
+    container compression {
+      presence
+        "This container shall exists to avoid misaligned compression
+        methods between devices";
+
+      description
+        "Container which consists of global configurable parameters for compression";
+
+      uses cf:compression-details;
+
+      leaf fs-offset {
+        if-feature cf:CONFIGURABLE-FS-OFFSET;
+        type uint8;
+        default 0;
+        description
+          "Adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
+           Please refer to CU-Plane specification for details";
+      }
+
+      list dynamic-compression-configuration {
+        when "../compression-type = 'DYNAMIC'";
+        key "id";
+        unique "compression-method iq-bitwidth fs-offset";
+        description
+          "List of possible configuration in case dynamic configuration is used
+           Note: In case of empty list all available compressions can be chosen dynamically
+                 and default fs-offset is taken (0).
+                 If the feature CONFIGURABLE-FS-OFFSET is not supported,
+                 fs-offset will not be considered as one of the criteria for unique statement.
+                 Refer to RFC7950 clause 7.8.3 for details of unique statement";
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular compression";
+        }
+
+        uses cf:compression-method-grouping;
+
+        leaf fs-offset {
+          if-feature cf:CONFIGURABLE-FS-OFFSET;
+          type uint8;
+          default 0;
+          description
+            "Adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
+             Please refer to CU-Plane specification for details";
+        }
+
+        leaf channel-information-iq-bitwidth {
+          type uint8{
+            range "1..16";
+          }
+          status deprecated;
+          description
+            "I/Q bitwidth for channel information in Section Type6.
+            Leaf is deprecated as it should be independent of dynamic compression,
+            NETCONF client instead uses channel-information-bitwidth schema node";
+        }
+      }
+
+      leaf channel-information-bitwidth {
+        type uint8{
+          range "1..16";
+        }
+        description
+          "I/Q bitwidth for channel information in Section Type6.
+           maximum value of 16bit is limitted by 4bit ciIqWidth in the C-Plane message.
+           Note: This parameter shall be used when the NETCONF client does not make use of
+           the CHANNEL-INFORMATION-COMPRESSION feature.";
+      }
+
+      list channel-information-compressions {
+        if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
+        key id;
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular channel information compression";
+        }
+
+        leaf channel-information-compression-method {
+          type cf:ci-compression-method-def;
+          description
+            "Channel information compression method";
+        }
+
+        leaf iq-bitwidth {
+          type uint8{
+            range "1..16";
+          }
+          description
+            "Bitwidth to be used in compression, maximum value of 16bit is limitted by 4bit ciIqWidth in the C-Plane message.
+
+            When this schema node is used in the configuration, the O-RU shall ignore the configuration of the
+            /low-level-tx-endpoints/compression/channel-information-bitwidth schema node";
+        }
+
+        description
+          "List of available compressions, that can be dynamically choosen, for channel information (e.g. ST6) for this endpoint.
+           Note1: When only one compression is listed here, it implies that channel information compression
+                  is static and mentioned compression is taken into use.
+           Note2: O-RU Shall reject configuration with compressions that are not supported";
+      }
+
+      list bf-weights-compressions {
+        key id;
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular beamforming compression";
+        }
+
+        leaf bf-weights-compression {
+          type cf:bf-compression-method-def;
+          description
+            "Beamforming weight compression method";
+        }
+
+        leaf iq-bitwidth {
+          type uint8;
+          description
+            "Bitwidth to be used in compression";
+        }
+
+        description
+          "List of available compressions, that can be dynamically choosen, for beamforming weights for this endpoint.
+           Note1: When only one compression is listed here, it implies that beamforming weights compression
+                  is static and mentioned compression is taken into use.
+           Note2: O-RU Shall reject configuration with compressions that are not supported";
+      }
+    }
+  }
+
+  grouping rx-endpoint-compression-grouping {
+    description
+      "Grouping for endpoint compression";
+
+    container compression {
+      presence
+        "This container shall exists to avoid misaligned compression
+        methods between devices";
+
+      description
+        "Container which consists of global configurable parameters for compression";
+
+      uses cf:compression-details;
+
+      leaf fs-offset {
+        if-feature cf:CONFIGURABLE-FS-OFFSET;
+        type uint8;
+        default 0;
+        description
+          "Adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
+           Please refer to CU-Plane specification for details";
+      }
+
+      list dynamic-compression-configuration {
+        when "../compression-type = 'DYNAMIC'";
+        key "id";
+        unique "compression-method iq-bitwidth fs-offset";
+        description
+          "List of possible configuration in case dynamic configuration is used
+           Note: In case of empty list all available compressions can be chosen dynamically
+                 and default fs-offset is taken (0).
+                 If the feature CONFIGURABLE-FS-OFFSET is not supported,
+                 fs-offset will not be considered as one of the criteria for unique statement.
+                 Refer to RFC7950 clause 7.8.3 for details of unique statement";
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular compression";
+        }
+
+        uses cf:compression-method-grouping;
+
+        leaf fs-offset {
+          if-feature cf:CONFIGURABLE-FS-OFFSET;
+          type uint8;
+          default 0;
+          description
+            "Adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
+             Please refer to CU-Plane specification for details";
+        }
+      }
+
+      list bf-weights-compressions {
+        key id;
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular beamforming compression";
+        }
+
+        leaf bf-weights-compression {
+          type cf:bf-compression-method-def;
+          description
+            "Beamforming weight compression method";
+        }
+
+        leaf iq-bitwidth {
+          type uint8;
+          description
+            "Bitwidth to be used in compression";
+        }
+
+        description
+          "List of available compressions, that can be dynamically choosen, for beamforming weights for this endpoint.
+           Note1: When only one compression is listed here, it implies that beamforming weights compression
+                  is static and mentioned compression is taken into use.
+           Note2: O-RU Shall reject configuration with compressions that are not supported";
+      }
+    }
+  }
+  
+  grouping supported-section-type4-config {
+    description
+      "Set of parameters required for section type 4 slot configuration message.";
+      list st4-supported-commands {
+        key "st4-command-type";
+        
+        description
+          "This parameter specifies the list of Section Type 4 command types supported by O-RU.";
+        leaf st4-command-type {
+          type enumeration {
+            enum TIME_DOMAIN_BEAM_CONFIG {
+              description "O-RU support for receiving time domain beamforming command.";
+            }
+            enum TDD_CONFIG_PATTERN {
+              description "O-RU support for receiving TDD symbol pattern for a given slot.";
+            }
+          }
+          description
+            "Section Type 4 command types supported by O-RU.";
+        }
+      }
+      
+      list st4-reception-mask {
+        key "cmd-scope";
+       
+        description
+          "List of symbol mask per command scope, specifying the O-RU capability to receive Section Type 4 message for a
+          given command scope only for symbols for which the corresponding bit is set to '1' in the bitmask. If the O-RU
+          receives a Section Type 4 message with associated command for a symbol whose bit value is set to '0' in this
+          bitmask, the O-RU shall reject the Section Type 4 message";
+        
+        leaf cmd-scope {
+          type enumeration {
+            enum ARRAY-COMMAND {
+              description
+                "Command applies to all endpoints assigned to the tx-array(s) and/or rx-array(s).If the O-RU
+                is operating with multiple O-DUs, the scope of an individual O-DU is limited, to the
+                endpoints assigned to the O-DU which was the originator of the command.";
+            }
+            enum CARRIER-COMMAND {
+              description
+                "Command applies to all endpoints assigned to the tx-array-carrier and/or rx-array-carrier.";
+            }
+            enum O-RU-COMMAND {
+              description
+                "O-RU level command, i.e., one that applies to all arrays and carriers. If the O-RU
+                is operating with multiple O-DUs, the scope of an individual O-DU is limited, as
+                specified in CUS-Plane specification, clause 7.5.2.17.";
+            }
+          }
+          description "Command scope for section type 4 commands";
+        }  
+       
+        leaf st4-reception-bitmask {
+          type uint16;
+            description
+             "This parameter specifies the O-RU capability to receive Section Type 4 message with associated commands for the symbols
+             for which the corresponding bit is set to '1' in the bitmask. If the O-RU receives a Section Type 4 message with
+             associated command for a symbol whose bit value is set to '0' in this bitmask, the O-RU shall reject the Section Type 4 message";
+        }
+     }
+  }
+
+  grouping uplane-conf-group {
+    description
+      "Grouping for uplane configuration related parameters";
+
+    list low-level-tx-links {
+      key name;
+      description
+        "Object model for low-level-tx-link configuration";
+
+      leaf name {
+        type string;
+        description
+          "Unique name of low-level-tx-link object.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource operator associated with this list entry.
+          When present, indicates that the list entry corresponds to a low-level-tx-link
+          associated with a shared resouce operator where the sro-id idenifies
+          a specific shared resouce operator.
+          This schema-node is used to refine NACM privileges for shared
+          resource operators";
+      }
+
+      leaf processing-element {
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
+        }
+        mandatory true;
+        description
+          "Contains name of processing-element to be used as transport by low-level-tx-link,
+           if 'transport-qualified-processing-element' is included in the configuration,
+           the O-RU shall use 'transport-qualified-processing-element' instead of this schema node,
+           an O-RU Controller shall still configure this schema node with a leafref to a valid ru-element,
+           but this shall not be used by the O-RU.";
+      }
+
+      leaf transport-session-type {
+        if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+        type enumeration {
+          enum ETH-INTERFACE {
+            description "VLAN based CUS Transport ";
+          }
+          enum UDPIP-INTERFACE {
+            description "UDP/IP based CUS Transport ";
+          }
+          enum ALIASMAC-INTERFACE{
+            description "Alias MAC address based CUS Transport ";
+          }
+        }
+        description
+          "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
+           in which case it is used for referencing a processing element in 'transport-qualified-processing-element'";
+      }
+
+      leaf transport-qualified-processing-element {
+        if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:additional-transport-session-type-elements[o-ran-pe:transport-session-type = current()/../transport-session-type]/o-ran-pe:ru-elements/o-ran-pe:name";
+        }
+        description
+           "Contains name of processing-element to be used as transport by low-level-tx-link.
+           Used when the processing element is configured
+           by the list 'additional-transport-session-type-elements'";
+      }
+
+      leaf tx-array-carrier {
+        type leafref {
+          path "/user-plane-configuration/tx-array-carriers/name";
+        }
+        mandatory true;
+        description
+          "Contains name of tx-array-carriers MO to be used as transport by low-level-tx-link";
+      }
+
+      leaf low-level-tx-endpoint {
+        type leafref {
+          path "/user-plane-configuration/low-level-tx-endpoints/name";
+        }
+        mandatory true;
+        description
+          "Contains name of low-level-tx-endpoints MO to be used as transport by low-level-tx-link";
+      }
+    }
+
+    list low-level-rx-links {
+      key name;
+      description
+        "Object model for low-level-rx-links configuration";
+
+      leaf name {
+        type string;
+
+        description
+          "Unique name of low-level-rx-links object.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource operator associated with this list entry.
+          When present, indicates that the list entry corresponds to a low-level-rx-link
+          associated with a shared resouce operator where the sro-id idenifies
+          a specific shared resouce operator.
+          This schema-node is used to refine NACM privileges for shared
+          resource operators";
+      }
+
+      leaf processing-element {
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
+        }
+        mandatory true;
+        description
+          "Contains name of processing-element to be used as transport by low-level-rx-link,
+           if 'transport-qualified-processing-element' is included in the configuration,
+           the O-RU shall use 'transport-qualified-processing-element' instead of this schema node,
+           an O-RU Controller shall still configure this schema node with a leafref to a valid ru-element,
+           but this shall not be used by the O-RU.";
+      }
+
+      leaf transport-session-type {
+        if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+        type enumeration {
+          enum ETH-INTERFACE {
+            description "VLAN based CUS Transport ";
+          }
+          enum UDPIP-INTERFACE {
+            description "UDP/IP based CUS Transport ";
+          }
+          enum ALIASMAC-INTERFACE{
+            description "Alias MAC address based CUS Transport ";
+          }
+        }
+        description
+          "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
+           in which case it is used for referencing a processing element in 'transport-qualified-processing-element'";
+      }
+
+      leaf transport-qualified-processing-element {
+        if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:additional-transport-session-type-elements[o-ran-pe:transport-session-type = current()/../transport-session-type]/o-ran-pe:ru-elements/o-ran-pe:name";
+        }
+        description
+           "Contains name of processing-element to be used as transport by low-level-rx-link.
+           Used when the processing element is configured
+           by the list 'additional-transport-session-type-elements'";
+      }
+
+      leaf rx-array-carrier {
+        type leafref {
+          path "/user-plane-configuration/rx-array-carriers/name";
+        }
+        mandatory true;
+
+        description
+          "Contains name of rx-array-carriers MO to be used as transport by low-level-rx-links";
+      }
+
+      leaf low-level-rx-endpoint {
+        type leafref {
+          path "/user-plane-configuration/low-level-rx-endpoints/name";
+        }
+        mandatory true;
+
+        description
+          "Contains name of low-level-rx-endpoints MO to be used as transport by low-level-rx-links";
+      }
+
+      leaf user-plane-uplink-marking {
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:enhanced-uplane-mapping/o-ran-pe:uplane-mapping/o-ran-pe:up-marking-name";
+        }
+        description
+          "Parameter to set the non-default marking for user-plane";
+      }
+
+      leaf enhanced-user-plane-uplink-marking {
+        if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+        type leafref {
+          path "/o-ran-pe:processing-elements/o-ran-pe:additional-transport-session-type-elements[o-ran-pe:transport-session-type = current()/../transport-session-type]/o-ran-pe:enhanced-uplane-mapping/o-ran-pe:uplane-mapping/o-ran-pe:up-marking-name";
+        }
+        description
+           "Parameter to set the non-default marking for user-plane.
+            Used when the enhanced-uplane-mapping is configured
+            by the list 'additional-transport-session-type-elements'";
+      }
+    }
+
+    list endpoint-types {
+      key "id";
+      config false;
+      description
+        "Properties of endpoint that are common to multiple endpoints if such are identified
+         Note: For any endpoint supporting mixed numerology within slot/symbol (multiple-numerology-supported=TRUE)
+              * Interval specific (per-slot and per-symbol) capacity constraints instantaneous capacity usage
+                (i.e. capacity is shared/distributed between all numerologies used at an instant of time).
+              * Instantaneous capacity usage is the sum of capacity usages of all intervals of a specific type (slot/symbol)
+                that share the instant of time at which instantaneous capacity usage is evaluated regardless of numerology.
+              * Capacity used in an interval is allocated at the start of the interval and is released at the end of the interval
+                (e.g. capacity used for symbol #N of numerology #M is unavailable during symbol #N and available for reuse after symbol #N ends).";
+
+      leaf id {
+        type uint16;
+        description
+          "Identifies type of endpoints sharing same properties. Values shall start with 0 and shall be allocated without gaps.";
+      }
+
+      list supported-section-types {
+        key "section-type";
+        description
+          "Indicates section types and extensions endpoints of this type support";
+
+        leaf section-type {
+          type uint8;
+
+          description
+            "This parameter determines the characteristics of U-plane data to be transferred or received from a beam with one pattern id.";
+        }
+
+        leaf-list supported-section-extensions {
+          type uint8;
+
+          description
+            "This parameter provides the extension types supported by the O-RU
+            which provides additional parameters specific to the subject data extension";
+        }
+      }
+      
+      uses supported-section-type4-config {
+        if-feature feat:ST4-SLOT-CONFIG-MSG-SUPPORT;
+      }
+
+      leaf-list supported-frame-structures {
+        type uint8;
+
+        description
+          "List of supported values of frame structure. For semantic and allowed values see CUS-Plane Specification, clause 'frameStructure (frame structure)'";
+      }
+
+      leaf managed-delay-support {
+        type enumeration {
+          enum MANAGED {
+            description
+              "Time managed delays are supported";
+          }
+
+          enum NON_MANAGED {
+            description
+              "Non time managed delays are supported";
+          }
+
+          enum BOTH {
+            description
+              "Both time managed and non time managed delays are supported";
+          }
+        }
+
+        description
+          "Type of delay supported by the endpoint";
+      }
+
+      leaf multiple-numerology-supported {
+        type boolean;
+        default true;
+        description
+          "Indicates whether the endpoint type supports multiple numerologies";
+      }
+
+      leaf max-numerology-change-duration {
+        type uint16 {
+          range "0..10000";
+        }
+
+        units Ts;
+        description
+          "Maximum gap of endpoint operation that will be caused by changing of
+          numerology.
+
+          This time is required for reconfiguration and flushing of pipes.
+
+          This leaf contains valid data only when multiple-numerology-supported
+          is set to true.";
+      }
+
+      uses endpoint-section-capacity;
+      uses endpoint-beam-capacity;
+      uses endpoint-prb-capacity;
+      uses endpoint-section-extension-limits;
+
+      leaf-list prb-capacity-allocation-granularity {
+        type uint16;
+
+        description
+          "List of capacity allocation steps. O-RU allocates PRB capacity rounding it up to nearest value N
+          from prb-capacity-allocation-granularity such that M >= number-of-prb-per-scs.
+          See also number-of-prb-per-scs/number-of-prb.";
+      }
+
+      uses endpoint-numerology-capacity;
+
+      leaf static-transmission-window-control-supported {
+        if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+        type boolean;
+        description
+          "Endpoint supports transmission-window-control = STATIC";
+      }
+
+      leaf uniformly-distributed-transmission-supported {
+        if-feature "feat:STATIC-TRANSMISSION-WINDOW-CONTROL and feat:UNIFORMLY-DISTRIBUTED-TRANSMISSION";
+        type boolean;
+        description
+          "Endpoint supports transmission-type = UNIFORMLY-DISTRIBUTED";
+      }
+
+      leaf ordered-transmission-supported {
+        if-feature feat:ORDERED-TRANSMISSION;
+        type boolean;
+        description
+          "Endpoint supports ordered transmission of U-plane messages
+           and can be configured with ordered-transmission = TRUE";
+      }
+
+      leaf dynamic-transmission-window-control-supported {
+        if-feature feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL;
+        type boolean;
+        description
+          "Endpoint supports U-plane transmission window control via C-plane
+           (supports transmission-window-control = DYNAMIC) with independent window offset and size per symbol";
+      }
+
+      leaf dynamic-transmission-window-control-per-section-supported {
+        when "../dynamic-transmission-window-control-supported = 'true'";
+        if-feature feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL;
+        type boolean;
+        description
+          "Endpoint supports U-plane transmission window control via C-plane
+           (supports transmission-window-control = DYNAMIC) with independent window offset and size per section";
+      }
+
+      leaf dynamic-uniformly-distributed-transmission-supported {
+        if-feature "feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL and feat:UNIFORMLY-DISTRIBUTED-TRANSMISSION";
+        type boolean;
+        description
+          "Endpoint supports U-plane transmission window control via C-plane
+           (supports transmission-window-control = DYNAMIC) with independent transmission type per symbol";
+      }
+
+      leaf dynamic-uniformly-distributed-transmission-per-section-supported {
+        when "../dynamic-uniformly-distributed-transmission-supported = 'true'";
+        type boolean;
+        description
+          "Endpoint supports U-plane transmission window control via C-plane
+           (supports transmission-window-control = DYNAMIC) with independent transmission type per section";
+      }
+
+      uses transmission-buffering-capacity {
+        when "static-transmission-window-control-supported = 'true' or dynamic-transmission-window-control-supported = 'true'";
+        if-feature "feat:STATIC-TRANSMISSION-WINDOW-CONTROL or feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL";
+      }
+
+      leaf cplane-message-processing-limits-required {
+         if-feature feat:CPLANE-MESSAGE-PROCESSING-LIMITS;
+         type boolean;
+         config false;
+         description
+           "Endpoint requires applying C-Plane message processing limits defined in 'per-cplane-message-limits'.
+           and can be configured with cplane-message-processing-limits-enabled = TRUE";
+       }
+
+      uses per-cplane-message-limits {
+        when "cplane-message-processing-limits-required = 'true'";
+        if-feature feat:CPLANE-MESSAGE-PROCESSING-LIMITS;
+      }
+
+      leaf beam-update-contention-control-limits-required {
+        if-feature feat:BEAM-UPDATE-CONTENTION-CONTROL;
+        type boolean;
+        config false;
+        description
+          "Endpoint requires applying beam update contention control limits defined in 'beam-update-contention-control-limits'.
+          and can be configured with beam-update-contention-control-enabled = TRUE";
+      }
+
+      uses beam-update-contention-control-limits {
+        when "beam-update-contention-control-limits-required = 'true'";
+        if-feature feat:BEAM-UPDATE-CONTENTION-CONTROL;
+      }
+
+      leaf max-ack-nack-per-symbol {
+        type uint16;
+        description
+          "This value indicates the max number of ACK/NACK feedbacks supported by the endpoint in a symbol when
+          section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback) are supported by the endpoint.
+          The number of ACK/NACK feedbacks in a symbol is defined as the sum of 'numberofACKs' + 'numberofNACKs' in all C-Plane
+          messages sent by the endpoints in a symbol";
+      }
+    }
+
+    list transmission-window-schedules {
+      if-feature feat:STATIC-TRANSMISSION-WINDOW-CONTROL;
+
+      key id;
+      description
+        "Parameters for scheduled UL U-plane message transmission (static transmission window control)";
+
+      leaf id {
+        type uint16;
+        description
+          "Identifies a UL U-plane message transmission schedule";
+      }
+
+      list schedule {
+        key symbol;
+        description
+          "Defines transmission window offset for given symbol.
+           If no entry is present for a symbol then O-RU assumes offset=0 for that symbol.
+           Entries with offset=0 shall be omitted.";
+
+        leaf symbol {
+          type uint16;
+          description
+            "Number of a symbol within a frame for which transmission offset is given.";
+        }
+
+        leaf offset {
+          type uint16;
+          description
+            "Transmission window offset; expressed as number of symbols the transmission window start is delayed by.
+             This value is added to u-plane-transmission-control/transmission-window-offset.
+             For restrictions on value of offset see description of transmission-window-offset.";
+        }
+      }
+    }
+
+    list endpoint-capacity-sharing-groups {
+      key "id";
+      config false;
+      description
+        "Represents groups of endpoints that share capacity. Depending on O-RU implementation,
+        processing resources that handle CU-plane (e.g. memory to keep sections and beams)
+        could be allocated per endpoint or shared between several endpoints.
+        To address this O-RU shall report own capability per endpoint (see endpoint-types)
+        and per group of endpoints sharing capacity.
+        If endpoint is in multiple groups then resulting constraint is minimum over all groups.
+        Note: values of parameters representing capacity that is not shared between endpoints in a group
+              shall be set to max value of specific parameter; this effectively removes related constraint.
+        Note: For any endpoint supporting mixed numerology within slot/symbol (multiple-numerology-supported=TRUE)
+              * Interval specific (per-slot and per-symbol) capacity constraints instantaneous capacity usage
+                (i.e. capacity is shared/distributed between all numerologies used at an instant of time).
+              * Instantaneous capacity usage is the sum of capacity usages of all intervals of a specific type (slot/symbol)
+                that share the instant of time at which instantaneous capacity usage is evaluated regardless of numerology.
+              * Capacity used in an interval is allocated at the start of the interval and is released at the end of the interval
+                (e.g. capacity used for symbol #N of numerology #M is unavailable during symbol #N and available for reuse after symbol #N ends).";
+
+      leaf id {
+        type uint16;
+        description
+          "Identifies group of endpoints sharing resources.
+          Values shall start with 0 and shall be allocated without gaps.";
+      }
+      uses endpoint-section-capacity;
+      uses endpoint-beam-capacity;
+      uses endpoint-prb-capacity;
+      uses endpoint-numerology-capacity;
+      uses endpoint-section-extension-limits;
+
+      leaf max-endpoints {
+        type uint16;
+        description
+          "Indicates how many endpoints in the group can be used4 simultaneously";
+      }
+      leaf max-managed-delay-endpoints {
+        type uint16;
+        description
+          "Number of endpoints supporting managed delay that can be used (configured for use) at a time";
+      }
+      leaf max-non-managed-delay-endpoints {
+        type uint16;
+        description
+          "Number of endpoints supporting non-managed delay that can be used (configured for use) at a time";
+      }
+      uses transmission-buffering-capacity {
+        if-feature "feat:STATIC-TRANSMISSION-WINDOW-CONTROL or feat:DYNAMIC-TRANSMISSION-WINDOW-CONTROL";
+      }
+
+      uses per-cplane-message-limits {
+        if-feature feat:CPLANE-MESSAGE-PROCESSING-LIMITS;
+      }
+
+      leaf max-ack-nack-per-symbol {
+        type uint16;
+        description
+          "This value indicates the max number of ACK/NACK feedbacks supported by the endpoint sharing group in a symbol when
+           section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback) are supported by the endpoint sharing group.
+           The number of ACK/NACK feedbacks in a symbol is defined as the sum of 'numberofACKs' + 'numberofNACKs' in all C-Plane
+           messages sent by the endpoints in group in a symbol";
+      }
+    }
+
+    list endpoint-prach-group  {
+      key "id";
+      config false;
+      description
+        "Represents group of a series of PRACH preamble formats";
+
+      leaf id {
+        type uint16;
+        description
+          "Identifies group of PRACH preamble formats.";
+      }
+
+      leaf-list supported-prach-preamble-formats {
+        type prach-preamble-format;
+        min-elements 1;
+        description
+          "the list of PRACH preamble formats supported by the endpoint-type that is
+          applicable to static-low-level-rx-endpoints in the O-RU";
+      }
+
+    }
+
+    list supported-compression-method-sets {
+      key "id";
+      config false;
+      description
+        "List of available compression methods supported by device";
+
+      leaf id {
+        type uint16;
+        description
+          "Identification number for compression method set";
+      }
+
+      list compression-method-supported {
+        uses cf:compression-method-grouping;
+        uses cf:compresion-format-grp {
+          status deprecated;
+        }
+
+        leaf-list fs-offset {
+          if-feature cf:CONFIGURABLE-FS-OFFSET;
+          type uint8;
+          default 0;
+          description
+            "Adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
+             Please refer to CU-Plane specification for details";
+
+        }
+        description
+          "List of supported compression methods by O-RU
+           Note: if O-RU supports different compression methods per endpoint
+                 then please refer to endpoints to have information what
+                 exactly is supported on particular endpoint";
+      }
+    }
+
+    list static-low-level-tx-endpoints {
+      key name;
+      config false;
+      description
+        "Object model for static-low-level-tx-endpoints configuration";
+
+      leaf name {
+        type string;
+
+        description
+          "Unique name of static-low-level-tx-endpoints object.";
+      }
+
+      leaf-list restricted-interfaces {
+        type leafref {
+          path "/if:interfaces/if:interface/if:name";
+        }
+        description
+          "Optionally used to indicate that a low-level link is constrained to operate only via a subset of the available interfaces.";
+      }
+
+      leaf array {
+        type leafref {
+          path "/user-plane-configuration/tx-arrays/name";
+        }
+        mandatory true;
+        description
+          "Contains distname of tx-arrays, particular low-level-tx-endpoints is in hardware dependency with.
+          Note: single instance of tx-arrays can be referenced by many instances of low-level-tx-endpoints
+          (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
+      }
+
+      leaf endpoint-type {
+        type leafref {
+          path "../../endpoint-types/id";
+        }
+
+        description
+          "Reference to endpoint type capabilities list element supported by this endpoint";
+      }
+
+      leaf-list capacity-sharing-groups {
+        type leafref {
+          path "../../endpoint-capacity-sharing-groups/id";
+        }
+
+        description
+          "Reference to capacities of sharing-groups supported by this endpoint";
+      }
+
+      list supported-reference-level {
+        if-feature TX-REFERENCE-LEVEL;
+        key "id";
+        description
+          "Informs about supported ranges for gain reference level.";
+
+        leaf id {
+          type uint16;
+          description
+            "Identification number for particular range";
+        }
+
+        leaf min {
+          type decimal64 {
+            fraction-digits 4;
+          }
+          units dB;
+          mandatory true;
+          description
+            "Minimum of supported gain reference level";
+        }
+
+        leaf max {
+          type decimal64 {
+            fraction-digits 4;
+          }
+          units dB;
+          mandatory true;
+          description
+            "Maximum of supported gain reference level";
+        }
+      }
+
+      container compression {
+        description
+          "Container collecting compression related parameters.";
+
+        leaf dynamic-compression-supported {
+          type boolean;
+
+          description
+            "Informs if endpoint supports dynamic compression method";
+        }
+
+        leaf realtime-variable-bit-width-supported {
+          type boolean;
+
+          description
+            "Informs if endpoint supports real-time variable bit with";
+        }
+
+        leaf supported-compression-set-id {
+          type leafref {
+            path "../../../supported-compression-method-sets/id";
+          }
+
+          description
+            "Id of supported compression set for this endpoint";
+        }
+      }
+
+      uses endpoint-tdd-pattern-support;
+
+    }
+
+    list static-low-level-rx-endpoints {
+      key name;
+      config false;
+      description
+        "Object model for static-low-level-rx-endpoints configuration";
+
+      leaf name {
+        type string;
+
+        description
+          "Unique name of static-low-level-rx-endpoints object.";
+      }
+
+      leaf-list restricted-interfaces {
+        type leafref {
+          path "/if:interfaces/if:interface/if:name";
+        }
+        description
+          "Optionally used to indicate that a low-level link is constrained to operate only via a subset of the available interfaces.";
+      }
+
+      leaf array {
+        type leafref {
+          path "/user-plane-configuration/rx-arrays/name";
+        }
+        mandatory true;
+        description
+          "Contains distname of rx-arrays, particular low-level-rx-endpoints is in hardware dependency with.
+          Note: single instance of rx-arrays can be referenced by many instances of low-level-rx-endpoints
+          (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
+      }
+
+      leaf endpoint-type {
+        type leafref {
+          path "../../endpoint-types/id";
+        }
+
+        description
+          "Reference to endpoint type capabilities list element supported by this endpoint";
+      }
+
+      leaf-list capacity-sharing-groups {
+        type leafref {
+          path "../../endpoint-capacity-sharing-groups/id";
+        }
+
+        description
+          "Reference to capacities of sharing-groups supported by this endpoint";
+      }
+
+      leaf prach-group {
+        type leafref {
+          path "../../endpoint-prach-group/id";
+          require-instance false;
+        }
+        description
+          "An optional leaf used for those rx endpoints that support PRACH, indicating
+          the group id describing the set of of PRACH preambles supported";
+      }
+
+      container compression {
+        description
+          "Container collecting compression related parameters.";
+
+        leaf dynamic-compression-supported {
+          type boolean;
+
+          description
+            "Informs if endpoint supports dynamic compression method";
+        }
+
+        leaf realtime-variable-bit-width-supported {
+          type boolean;
+
+          description
+            "Informs if endpoint supports real-time variable bit with";
+        }
+
+        leaf supported-compression-set-id {
+          type leafref {
+            path "../../../supported-compression-method-sets/id";
+          }
+
+          description
+            "Id of supported compression set for this endpoint";
+        }
+      }
+
+      uses endpoint-static-config-support;
+
+      uses endpoint-tdd-pattern-support;
+
+      leaf transmission-order {
+        when "(/user-plane-configuration/endpoint-types[id=current()/../endpoint-type]/ordered-transmission-supported = 'true')";
+        if-feature feat:ORDERED-TRANSMISSION;
+        type uint32;
+        description
+          "The value indicates relative order of sending U-plane messages specific to same symbol
+           and transmission window by two endpoints with ordered-transmission = TRUE
+           belonging to the same transmission-order-group;
+           multiple endpoints may report the same value if their relative sending order is not guaranteed";
+      }
+
+      leaf transmission-order-group {
+        when "(/user-plane-configuration/endpoint-types[id=current()/../endpoint-type]/ordered-transmission-supported = 'true')";
+        if-feature feat:ORDERED-TRANSMISSION;
+        type uint32;
+        description
+          "The value indicates a group of endpoints that preserve relative ordering of message sending;
+           message sending between endpoints in different groups is not guaranteed";
+      }
+    }
+
+    list low-level-tx-endpoints {
+      key "name";
+
+      description
+        "Object model for low-level-tx-endpoints configuration - augmented static-low-level-tx-endpoints by local-address
+        which cannot be added to static low-level-tx-endpoints as we cannot have modifiable element in static object";
+
+      leaf name {
+        type leafref {
+          path "/user-plane-configuration/static-low-level-tx-endpoints/name";
+          require-instance false;
+        }
+        mandatory true;
+
+        description
+          "Unique name of low-level-tx-endpoint object. Reference to static object";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource operator associated with this list entry.
+          When present, indicates that the list entry corresponds to a low-level-tx-endpoint
+          associated with a shared resouce operator where the sro-id idenifies
+          a specific shared resouce operator.
+          This schema-node is used to refine NACM privileges for shared
+          resource operators";
+      }
+
+
+      uses tx-endpoint-compression-grouping;
+      uses scs-config;
+
+      container e-axcid {
+        uses eaxc;
+
+        description
+          "Contains local address of low level TX endpoint offered by NETCONF server.";
+      }
+
+      uses coupling-methods;
+
+      leaf configurable-tdd-pattern-supported {
+        if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/static-low-level-rx-endpoints[name=current()/../name]/configurable-tdd-pattern-supported";
+          require-instance false;
+        }
+        description "RO to RW parameter mapping - needed for conditional under tx-array-carrier";
+      }
+
+      leaf cplane-message-processing-limits-enabled {
+        if-feature feat:CPLANE-MESSAGE-PROCESSING-LIMITS;
+        type boolean;
+        default false;
+        description
+          "TRUE: O-DU shall support the C-Plane message processing limits and has selected to adhere to the C-Plane limits defined in 'per-cplane-message-limits'.
+          FALSE: O-DU shall not support C-Plane message processing limits and endpoint limits defined in 'per-cplane-message-limits' shall not apply";
+      }
+
+      leaf beam-update-contention-control-enabled {
+        if-feature feat:BEAM-UPDATE-CONTENTION-CONTROL;
+        type boolean;
+        default false;
+        description
+          "TRUE: O-DU shall support beam update contention control feature of O-RU.Thus requiring O-DU to comply with beam
+          updates restrictions defined in CUS-Plane Spec Section 'Weight-based dynamic beamforming'. In this case applicable
+          beam limits defined in 'beam-update-contention-control-limits' shall apply.
+          FALSE: O-DU shall not support beam update contention control feature of O-RU. Applicable beam limits defined in
+          'endpoint-beam-capacity' shall apply";
+      }
+
+      container channel-information-prb-group-configuration {
+        if-feature feat:CHANNEL-INFORMATION-PRB-GROUP;
+        description
+          "Container for configurable parameters for channel information prb group";
+
+        leaf enable-ci-prb-group {
+          type boolean;
+          description
+            "Informs whether or not to enable channel information PRB group in the O-RU,
+            if its value is set to true, the O-RU shall receive and process channel
+            information (e.g., ST6) with PRB group size of configured ci-prb-group-size.";
+        }
+
+        leaf ci-prb-group-size {
+          type uint8 {
+            range "2..254";
+          }
+          description
+            "The configured channel information PRB group size.
+            If enable-ci-prb-group is configured as TRUE, and the IE ciPrbGroupSize doesn't exsit in a section description for channel information,
+            the parameter ci-prb-group-size shall be used for this section description.
+            If the IE ciPrbGroupSize exsits in a section description for channel information,
+            no matter whether enable-ci-prb-group is configured as TRUE, the IE ciPrbGroupSize shall be used for this section description.";
+        }
+      }
+    }
+
+    list low-level-rx-endpoints {
+      key name;
+
+      description
+        "Object model for low-level-rx-endpoint configuration - augmented static-low-level-rx-endpoints by local-address
+        which cannot be added to static low-level-rx-endpoints as we cannot have modifiable element in static object";
+
+      leaf name {
+        type leafref {
+          path "/user-plane-configuration/static-low-level-rx-endpoints/name";
+          require-instance false;
+        }
+        mandatory true;
+
+        description
+          "Unique name of low-level-rx-endpoint object. Reference to static object";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource operator associated with this list entry.
+          When present, indicates that the list entry corresponds to a low-level-rx-endpoint
+          associated with a shared resouce operator where the sro-id idenifies
+          a specific shared resouce operator.
+          This schema-node is used to refine NACM privileges for shared
+          resource operators";
+      }
+
+      uses rx-endpoint-compression-grouping;
+      uses scs-config;
+
+      list ul-fft-sampling-offsets {
+        key scs;
+        description
+          "List of FFT sampling offsets configured for each SCS that will be used.
+          Client shall configure one element for each SCS that will be used.";
+
+        leaf scs {
+          type mcap:scs-config-type;
+          description
+            "Value corresponds to SCS values defined for frameStructure in C-plane
+            Note: set of allowed values is restricted by SCS derived from values in supported-frame-structures.";
+        }
+
+        leaf ul-fft-sampling-offset {
+          type uint16;
+
+          units Ts;
+          description
+            "Determines time advance of capture window for FFT.
+            Value represents time advance of capture window start in relation to the end of CP. Unit is Ts.
+            Note: value of this parameter is usually set to '0' (zero) for PRACH channels.
+            Any phase offset resulting from the non-zero value of this parameter is handled in O-DU.";
+        }
+      }
+
+      container e-axcid {
+        uses eaxc;
+
+        description
+          "Contains local address of low level RX endpoint offered by NETCONF server.";
+      }
+
+      leaf eaxc-gain-correction {
+        if-feature EAXC-GAIN-CORRECTION;
+        type decimal64 {
+          fraction-digits 4;
+        }
+        units dB;
+        default 0;
+        description
+          "eAxC specific part of overall gain_correction.
+           gain_correction = common array-carrier gain-correction + eAxC-gain-correction.";
+      }
+
+      leaf non-time-managed-delay-enabled {
+        type boolean;
+        default false;
+        description
+          "Tells if non time managed delay shall be enabled";
+      }
+
+      uses coupling-methods;
+
+      leaf static-config-supported {
+        type leafref {
+          path "/user-plane-configuration/static-low-level-rx-endpoints[name=current()/../name]/static-config-supported";
+          require-instance false;
+        }
+        description "RO to RW parameter mapping - for further conditionals";
+      }
+
+      leaf static-prach-configuration {
+        when "(/user-plane-configuration/low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'PRACH')";
+        if-feature mcap:PRACH-STATIC-CONFIGURATION-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/static-prach-configurations/static-prach-config-id";
+        }
+        description
+          "This parameter creates reference to static PRACH configuration applicable for particular endpoint";
+      }
+
+      leaf static-srs-configuration {
+        when "(/user-plane-configuration/low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'SRS')";
+        if-feature mcap:SRS-STATIC-CONFIGURATION-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/static-srs-configurations/static-srs-config-id";
+        }
+        description
+          "This parameter creates reference to static SRS configuration applicable for particular endpoint";
+      }
+
+      leaf configurable-tdd-pattern-supported {
+        if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/static-low-level-rx-endpoints[name=current()/../name]/configurable-tdd-pattern-supported";
+          require-instance false;
+        }
+        description "RO to RW parameter mapping - needed for conditional under rx-array-carrier";
+      }
+
+      uses u-plane-transmission-control;
+
+      leaf ordered-transmission {
+        if-feature feat:ORDERED-TRANSMISSION;
+        type boolean;
+        default false;
+        description
+          "Commands O-RU to order UL U-plane message transmission between endpoints
+           Meaningless when ordered transmission is not supported for particular endpoint.";
+      }
+
+      leaf cplane-message-processing-limits-enabled {
+        if-feature feat:CPLANE-MESSAGE-PROCESSING-LIMITS;
+        type boolean;
+        default false;
+        description
+          "TRUE: O-DU shall support C-Plane message processing limits and has selected to adhere
+          to the C-Plane limits defined in 'per-cplane-message-limits'.
+          FALSE: O-DU shall not support C-Plane message processing limits and hence C-Plane and
+          endpoint limits defined in 'per-cplane-message-limits' shall not apply";
+      }
+
+      leaf beam-update-contention-control-enabled {
+        if-feature feat:BEAM-UPDATE-CONTENTION-CONTROL;
+        type boolean;
+        default false;
+        description
+          "TRUE: O-DU shall support beam update contention control feature of O-RU.Thus requiring O-DU to comply with beam
+          updates restrictions defined in CUS-Plane Spec Section 'Weight-based dynamic beamforming'. In this case applicable
+          beam limits defined in 'beam-update-contention-control-limits' shall apply.
+          FALSE: O-DU shall not support beam update contention control feature of O-RU. Applicable beam limits defined in
+          'endpoint-beam-capacity' shall apply";
+      }
+    }
+
+    list tx-array-carriers {
+      key name;
+      description
+        "Object model for tx-array-carriers configuration";
+
+      leaf name {
+        type string;
+
+        description
+          "Unique name of tx-array-carriers object.";
+      }
+
+      list odu-ids {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        key odu-id;
+        description
+          "An optional list of o-du identities associated with this list entry.
+          When present, indicates that the list entry corresponds to a tx-array-carrier
+          associated with one or more particular odu-id(s).
+
+          This list is used to enable enhanced watchdog operation when operating
+          in a single operator environment, where watchdog supervision is performed
+          on a per odu-id basis and supervision failure only results in a sub-set
+          of carriers beign de-activated.";
+
+        leaf odu-id {
+          type string;
+          description "an o-du identity ";
+        }
+      }
+
+      list sro-ids-and-odu-ids {
+        if-feature "feat:SHARED-ORU-MULTI-ODU and feat:SHARED-ORU-MULTI-OPERATOR";
+        key "odu-id sro-id";
+        description
+          "An optional list of sro and o-du identities associated with this list entry.
+          When present, indicates that the list entry corresponds to a tx-array-carrier
+          associated with one or more particular odu-id(s) operated by a particular sro-id.
+
+          This list is used to enable enhanced watchdog operationwhen operating
+          in a multi operator environment, where watchdog supervision is performed on
+          a per odu-id basis and supervision failure only results in a sub-set of
+          carriers beign de-activated.";
+        leaf odu-id {
+          type string;
+          description "an o-du identity ";
+        }
+        leaf sro-id {
+          type string;
+          description "an sro identity ";
+        }
+      }
+
+      uses tx-common-array-carrier-elements;
+
+      leaf band-number {
+        if-feature mcap:LAA;
+        type leafref {
+          path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
+          require-instance false;
+        }
+        description
+          "This parameter informing which frequency band particular antenna
+           array is serving for.
+           Intended use is to deal with multi-band solutions.";
+      }
+
+      container lte-tdd-frame {
+        when "(/user-plane-configuration/tx-array-carriers/rw-type = 'LTE') and  (/user-plane-configuration/tx-array-carriers/rw-duplex-scheme = 'TDD')";
+        status deprecated;
+        description
+          "Container which consists of global configurable parameters for tdd Frame.
+          This contained is deprecated due to introduction of TDD pattern configuration
+          applicable in a common way for LTE and NR.";
+
+        leaf subframe-assignment {
+          type enumeration {
+            enum SAO {
+              description "subframe assignment configuration 0";
+            }
+            enum SA1 {
+              description "subframe assignment configuration 1";
+            }
+            enum SA2 {
+              description "subframe assignment configuration 2";
+            }
+            enum SA3 {
+              description "subframe assignment configuration 3";
+            }
+            enum SA4 {
+              description "subframe assignment configuration 4";
+            }
+            enum SA5 {
+              description "subframe assignment configuration 5";
+            }
+              enum SA6 {
+                description "subframe assignment configuration 6";
+            }
+          }
+          mandatory true;
+          description
+            "Indicates DL/UL subframe configuration as specified in
+            3GPP TS 36.211 [v15.3.0, table 4.2-2]";
+        }
+        leaf special-subframe-pattern {
+          type enumeration {
+            enum SPP0 {
+              description "special subframe pattern configuration 0";
+            }
+            enum SPP1 {
+              description "special subframe pattern configuration 1";
+            }
+            enum SPP2 {
+              description "special subframe pattern configuration 2";
+            }
+            enum SPP3 {
+              description "special subframe pattern configuration 3";
+            }
+            enum SPP4 {
+              description "special subframe pattern configuration 4";
+            }
+            enum SPP5 {
+              description "special subframe pattern configuration 5";
+            }
+            enum SPP6 {
+              description "special subframe pattern configuration 6";
+            }
+            enum SPP7 {
+              description "special subframe pattern configuration 7";
+            }
+            enum SPP8 {
+              description "special subframe pattern configuration 8";
+            }
+            enum SPP9 {
+              description "special subframe pattern configuration 9";
+            }
+            enum SPP10 {
+              description "special subframe pattern configuration 10";
+            }
+          }
+          mandatory true;
+          description
+            "Indicates TDD special subframe configuration as in TS 36.211
+             [v15.3.0, table 4.2-1] ";
+        }
+      }
+
+      container laa-carrier-configuration {
+        when "../band-number = 46";
+        if-feature mcap:LAA;
+        description "Container to specify LAA feature related carrier configuration.";
+        uses laa-carrier-config;
+      }
+
+      leaf gain {
+        type decimal64 {
+          fraction-digits 4;
+        }
+        units dB;
+        mandatory true;
+
+        description
+          "Transmission gain in dB. Value applicable to each array element carrier belonging to array carrier.
+
+          The value of tranmsmission gain shall meet the constraints defined in CUS-Plane, clause 8.1.3.3.";
+      }
+
+      leaf downlink-radio-frame-offset {
+        type uint32 {
+          range 0..12288000;
+        }
+        mandatory true;
+
+        description
+          "This parameter is used for offsetting the starting position of 10ms radio frame.
+          Note: The value should have same value within DU to all tx-array-carriers that have same frequency and bandwidth.
+          Note2: Unit is 1/1.2288e9 s. Then, its range is calculated 0..12288000.";
+      }
+
+      leaf downlink-sfn-offset {
+        type int16 {
+          range -32768..32767;
+        }
+        mandatory true;
+
+        description
+          "This parameter is used for offsetting SFN value.
+          Unit is in 10ms.
+          Note: The value should have same value within DU to all tx-array-carriers that have same frequency and bandwidth.";
+      }
+
+      leaf t-da-offset {
+        if-feature "feat:EXT-ANT-DELAY-CONTROL";
+        type uint32;
+        units Tc;
+        default 0;
+        description
+          "the time difference between the output of DL signal at the
+           antenna connector of O-RU and the transmission over the air.
+           units are Tc=~0.5ns=1/1.96608GHz.
+           An O-RU with 'ext-ant-delay-capability' = 'PER-O-RU' shall reject any configuration
+           where different values of t-da-offset are configured on tx-array-carriers;
+           An O-RU with 'ext-ant-delay-capability' = 'PER-ARRAY' shall reject any configuration
+           where different values of t-da-offset are configured on tx-array-carriers associated with the same tx-array.";
+      }
+
+      leaf reference-level {
+        if-feature TX-REFERENCE-LEVEL;
+        type decimal64 {
+          fraction-digits 4;
+        }
+        units dB;
+        default 0;
+        description
+          "Allows to adjust reference level for sum of IQ signal power over eAxCs in this array-carrier.";
+      }
+
+      leaf configurable-tdd-pattern {
+        when "not(/user-plane-configuration/low-level-tx-endpoints[name = string(/user-plane-configuration/low-level-tx-links[tx-array-carrier = current()/../name]/tx-array-carrier)]/configurable-tdd-pattern-supported = 'false')";
+        if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/configurable-tdd-patterns/tdd-pattern-id";
+        }
+        description
+          "This parameter creates reference to configuration for TDD pattern applicable for particular tx-array-carrier.
+          The leaf may exist under tx-array-carrier only in case O-RU supports feature 'CONFIGURABLE-TDD-PATTERN-SUPPORTED'
+          AND all low-level-tx-endpoints linked to this tx-array-carrier have configurable-tdd-pattern-supported = 'true'";
+      }
+    }
+
+    list rx-array-carriers {
+      key name;
+      description
+        "Object model for rx-array-carriers configuration";
+
+          leaf name {
+            type string;
+            description
+            "Unique name of rx-array-carriers object.";
+      }
+
+      list odu-ids {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        key odu-id;
+        description
+          "An optional list of o-du identities associated with this list entry.
+          When present, indicates that the list entry corresponds to a rx-array-carrier
+          associated with one or more particular odu-id(s).
+
+          This list is used to enable enhanced watchdog operation when operating
+          in a single operator environment, where watchdog supervision is performed
+          on a per odu-id basis and supervision failure only results in a sub-set
+          of carriers beign de-activated.";
+
+        leaf odu-id {
+          type string;
+          description "an o-du identity ";
+        }
+      }
+
+      list sro-ids-and-odu-ids {
+        if-feature "feat:SHARED-ORU-MULTI-ODU and feat:SHARED-ORU-MULTI-OPERATOR";
+        key "odu-id sro-id";
+        description
+          "An optional list of sro and o-du identities associated with this list entry.
+          When present, indicates that the list entry corresponds to a rx-array-carrier
+          associated with one or more particular odu-id(s) operated by a particular sro-id.
+
+          This list is used to enable enhanced watchdog operationwhen operating
+          in a multi operator environment, where watchdog supervision is performed on
+          a per odu-id basis and supervision failure only results in a sub-set of
+          carriers beign de-activated.";
+        leaf odu-id {
+          type string;
+          description "an o-du identity ";
+        }
+        leaf sro-id {
+          type string;
+          description "an sro identity ";
+        }
+      }
+
+      uses rx-common-array-carrier-elements;
+
+      leaf downlink-radio-frame-offset {
+        type uint32 {
+          range 0..12288000;
+        }
+        mandatory true;
+
+        description
+          "This parameter is used for offsetting the starting position of 10ms radio frame.
+          Note: The value should have same value within DU to all tx-array-carriers that have same frequency and bandwidth.
+          Note2: Unit is 1/1.2288e9 s. Then, its range is calculated 0..12288000.";
+      }
+
+      leaf downlink-sfn-offset {
+        type int16 {
+          range -32768..32767;
+        }
+        mandatory true;
+
+        description
+          "This parameter is used for offsetting SFN value.
+          Unit is in 10ms.
+          Note: The value should have same value within DU to all tx-array-carriers that have same frequency and bandwidth.";
+      }
+
+      leaf gain-correction {
+        type decimal64 {
+          fraction-digits 4;
+
+        }
+        units dB;
+        mandatory true;
+        description
+          "Gain correction of RF path linked with array element or array layers.
+           Common part of overall gain_correction.
+           gain_correction = common array-carrier gain-correction + eAxC gain correction.";
+      }
+
+      leaf n-ta-offset {
+        type uint32;
+        units Tc;
+        mandatory true;
+        description
+          "Value of configurable N-TA offset
+          units are Tc=~0.5ns=1/1.96608GHz";
+      }
+
+      leaf t-au-offset {
+        if-feature "feat:EXT-ANT-DELAY-CONTROL";
+        type uint32;
+        units Tc;
+        default 0;
+        description
+          "the time difference between the reception over the air and
+           the input of UL signal at the antenna connector of O-RU.
+           units are Tc=~0.5ns=1/1.96608GHz.
+           An O-RU with 'ext-ant-delay-capability' = 'PER-O-RU' shall reject any configuration
+           where different values of t-au-offset are configured on rx-array-carriers;
+           An O-RU with 'ext-ant-delay-capability' = 'PER-ARRAY' shall reject any configuration
+           where different values of t-au-offset are configured on rx-array-carriers associated with the same rx-array.";
+      }
+
+      leaf configurable-tdd-pattern {
+        when "not(/user-plane-configuration/low-level-rx-endpoints[name = string(/user-plane-configuration/low-level-rx-links[rx-array-carrier = current()/../name]/rx-array-carrier)]/configurable-tdd-pattern-supported = 'false')";
+        if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+        type leafref {
+          path "/user-plane-configuration/configurable-tdd-patterns/tdd-pattern-id";
+        }
+        description
+          "This parameter creates reference to configuration for TDD pattern applicable for particular rx-array-carrier.
+           The leaf may exist under rx-array-carrier only in case O-RU supports feature 'CONFIGURABLE-TDD-PATTERN-SUPPORTED'
+          AND all low-level-rx-endpoints linked to this rx-array-carrier have configurable-tdd-pattern-supported = 'true'";
+      }
+    }
+
+    list tx-arrays {
+      key "name";
+      config false;
+      description
+        "Structure describing TX array parameters";
+
+      uses parameters;
+
+      leaf min-gain {
+        type decimal64 {
+          fraction-digits 4;
+
+        }
+        units dB;
+        description
+          "Min gain of RF path linked with array element (maximum over elements of array) or array layers";
+      }
+
+      leaf max-gain {
+        type decimal64 {
+          fraction-digits 4;
+
+        }
+        units dB;
+        mandatory true;
+        description
+          "Max gain of RF path linked with array element (minimum over elements of array) or array layers";
+      }
+
+      leaf independent-power-budget {
+        type boolean;
+        mandatory true;
+        description
+          "If true then every element of array has own, power budget independent from power budget of other elements.
+          Else all elements of array that are at same row and column and have same polarisation share power budget";
+      }
+
+      list capabilities {
+        description
+          "List of capabilities related to this tx-array";
+        uses mcap:support-for-dl;
+      }
+    }
+
+    list rx-arrays {
+      key "name";
+      config false;
+      description "Structure describing RX array parameters";
+
+      uses parameters;
+      container gain-correction-range {
+        leaf max {
+          type decimal64 {
+            fraction-digits 4;
+          }
+          units dB;
+          mandatory true;
+          description "Array gain correction factor - maximum allowed value";
+          }
+        leaf min {
+          type decimal64 {
+            fraction-digits 4;
+          }
+          units dB;
+          mandatory true;
+          description "Array gain correction factor - minimum allowed value";
+        }
+
+        description
+          "Array gain correction factor";
+      }
+
+      list capabilities {
+        description
+          "List of capabilities related to this rx-array";
+        uses mcap:support-for-ul;
+      }
+    }
+
+    list relations {
+      key "entity";
+      config false;
+      description "Structure describing relations between array elements";
+
+      leaf entity {
+        type uint16;
+
+        description
+          "Relation entity. Used as a key for list of relations.";
+      }
+
+      container array1 {
+        uses array-choice;
+
+        description
+          "Defines name for first array";
+      }
+      container array2 {
+        uses array-choice;
+
+        description
+          "Defines name for second array";
+      }
+      list types {
+        key "relation-type";
+        description
+          "Defines relation type and pairs for array elements for given arrays";
+
+        leaf relation-type {
+          type enumeration {
+            enum SHARED {
+              description "SHARED";
+            }
+            enum COALOCATED {
+              description "COALOCATED";
+            }
+          }
+          description "Type of relation between array elements";
+        }
+        list pairs {
+          key "element-array1";
+          description
+            "defines related array elements";
+
+          leaf element-array1 {
+            type uint16;
+
+            description
+              "Tells about id of element from array1";
+          }
+          leaf element-array2 {
+            type uint16;
+
+            description
+              "Tells about id of element from array2";
+          }
+        }
+      }
+    }
+
+    container eaxc-id-group-configuration {
+      if-feature mcap:EAXC-ID-GROUP-SUPPORTED;
+      description
+        "This is the container for eAxC ID group configuration.";
+      leaf max-num-tx-eaxc-id-groups {
+        type leafref {
+          path "/mcap:module-capability/mcap:ru-capabilities/mcap:eaxcid-grouping-capabilities/mcap:max-num-tx-eaxc-id-groups";
+          require-instance false;
+        }
+        description "eaxc-id-group-configuration";
+      }
+      leaf max-num-tx-eaxc-ids-per-group {
+        type leafref {
+          path "/mcap:module-capability/mcap:ru-capabilities/mcap:eaxcid-grouping-capabilities/mcap:max-num-tx-eaxc-ids-per-group";
+          require-instance false;
+        }
+        description "max-num-tx-eaxc-ids-per-group";
+      }
+      leaf max-num-rx-eaxc-id-groups {
+        type leafref {
+          path "/mcap:module-capability/mcap:ru-capabilities/mcap:eaxcid-grouping-capabilities/mcap:max-num-rx-eaxc-id-groups";
+          require-instance false;
+        }
+        description "max-num-rx-eaxc-id-groups";
+      }
+      leaf max-num-rx-eaxc-ids-per-group {
+        type leafref {
+          path "/mcap:module-capability/mcap:ru-capabilities/mcap:eaxcid-grouping-capabilities/mcap:max-num-rx-eaxc-ids-per-group";
+          require-instance false;
+        }
+        description "max-num-rx-eaxc-ids-per-group";
+      }
+
+      list tx-eaxc-id-group {
+        must "count(../tx-eaxc-id-group) <= ../max-num-tx-eaxc-id-groups" {
+          error-message "too many tx-eaxcid-id groups";
+        }
+        key "representative-tx-eaxc-id";
+        description
+          "This is a list of the groups of the eAxC IDs assigned to low-level-tx-endpoints.
+          Each group is a union of the 'member-tx-eaxc-id's and a 'representative-tx-eaxc-id'.
+          The low-level-tx-endpoint associated to 'representative-tx-eaxc-id' is able to
+          process the DL C-plane information for all the low-level-tx-endpoints associated
+          to 'member-tx-eaxc-id's.
+
+          Take Note: This list should only contain eAxC IDs assigned to a tx-endpoint.";
+
+
+        leaf representative-tx-eaxc-id {
+          type uint16;
+          description
+            "This parameter contains eAxC_ID that populates content of C-Plane section
+            extension 10 to eAxC_IDs configured in the group as 'member-tx-eaxc-id'(s).";
+        }
+        leaf-list member-tx-eaxc-id {
+          type uint16;
+          must "count(../member-tx-eaxc-id) <= ../../max-num-tx-eaxc-ids-per-group" {
+            error-message "too many tx-eaxcid-id members";
+          }
+          must "current()!=../representative-tx-eaxc-id" {
+            error-message "the representative eaxcid does not need to be a list member";
+          }
+          ordered-by user;
+          description
+            "This is a list of member eAxC IDs, which together with the representative-tx-eaxc-id,
+            are assigned to low-level-tx-endpoints in the group.
+            This list is defined as 'ordered-by user', because the order of the eaxc-id list should be maintained,
+            and the parameters in the SE10 are applied to the eaxc-ids based on the order of eaxc-ids in the list
+            when the section extension conveys unique parameters (beamId/ueId) per eaxc-id.";
+        }
+      }
+
+      list rx-eaxc-id-group {
+        must "count(../rx-eaxc-id-group) <= ../max-num-rx-eaxc-id-groups" {
+          error-message "too many rx-eaxcid-id groups";
+        }
+        key "representative-rx-eaxc-id";
+        description
+          "This is a list of the groups of the eAxC IDs assigned to low-level-rx-endpoints.
+          Each group is a union of 'member-rx-eaxc-id's and a 'representative-rx-eaxc-id'.
+          The low-level-rx-endpoint associated to 'representative-rx-eaxc-id' is able to
+          process the UL C-plane information for all the low-level-rx-endpoints associated
+          to 'member-rx-eaxc-id's.
+
+          Take Note: This list should only contain eAxC IDs assigned to a rx-endpoint.";
+
+        leaf representative-rx-eaxc-id {
+          type uint16;
+          description
+            "This parameter contains eAxC_ID that populates content of C-Plane section
+            extension 10 to eAxC_IDs configured in the group as 'member-rx-eaxc-id'(s).";
+        }
+
+        leaf-list member-rx-eaxc-id {
+          type uint16;
+          must "count(../member-rx-eaxc-id) <= ../../max-num-rx-eaxc-ids-per-group" {
+            error-message "too many rx-eaxcid-id members";
+          }
+          must "current()!=../representative-rx-eaxc-id" {
+            error-message "the representative eaxcid does not need to be a list member";
+          }
+          ordered-by user;
+          description
+            "This is a list of member eAxC IDs assigned to low-level-rx-endpoints in the group.
+            This list is defined as 'ordered-by user', because the order of the eaxc-id list should be maintained,
+            and the parameters in the SE10 are applied to the eaxc-ids based on the order of eaxc-ids in the list
+            when the section extension conveys unique parameters (beamId/ueId) per eaxc-id.";
+        }
+      }
+    }
+
+    list static-prach-configurations {
+      if-feature mcap:PRACH-STATIC-CONFIGURATION-SUPPORTED;
+      key static-prach-config-id;
+      description
+        "List of static PRACH configurations. An O-RU shall reject any configuration
+        modification which exceed the maximum permitted configurations supported by
+        the O-RU";
+
+      leaf static-prach-config-id {
+        type uint8;
+        description
+          "Supplementary parameter acting as key in list of static PRACH configurations.";
+      }
+
+      uses static-prach-configuration;
+    }
+
+    grouping static-prach-configuration {
+      description
+        "Set of parameters related to static PRACH configuration";
+
+      leaf pattern-period {
+        type uint16 {
+          range 1..1024;
+        }
+        mandatory true;
+        description
+          "Period after which static PRACH patterns are repeated. Unit: number of frames.";
+      }
+
+      leaf guard-tone-low-re {
+        type uint32;
+        mandatory true;
+        description
+          "Number of REs occupied by the low guard tones.";
+      }
+
+      leaf num-prach-re {
+        type uint32;
+        mandatory true;
+        description
+          "Number of contiguous PRBs per data section description";
+      }
+
+      leaf guard-tone-high-re {
+        type uint32;
+        mandatory true;
+        description
+          "Number of REs occupied by the high guard tones.";
+      }
+
+      leaf sequence-duration {
+        type uint32 {
+          range 256..24576;
+        }
+        units Ts;
+        mandatory true;
+        description
+          "Duration of single sequence of the PRACH. Sequence may be considered as 'single PRACH symbol'";
+      }
+
+      list prach-patterns {
+        key prach-pattern-id;
+        min-elements 1;
+        description
+          "Provides a PRACH pattern. Each record in the list represents a single PRACH occasion. Number of list entries cannot exceed max-prach-patterns";
+
+        leaf prach-pattern-id {
+          type uint16;
+          mandatory true;
+          description
+            "Supplementary parameter acting as key for prach-pattern list.";
+        }
+
+        leaf number-of-repetitions {
+          type uint8{
+            range 1..14;
+          }
+          mandatory true;
+          description
+            "This parameter defines number of PRACH repetitions in PRACH occasion,
+             to which the section control is applicable.";
+        }
+
+        leaf number-of-occasions {
+          type uint8;
+          mandatory true;
+          description
+            "This parameter informs how many consecutive PRACH occasions is described by the PRACH pattern.";
+        }
+
+        leaf re-offset {
+          type uint32;
+          mandatory true;
+          description
+            "Offset between the start of lowest-frequency RE of lowest-frequency PRB
+             and the start of lowest-frequency RE belonging to the PRACH occasion.
+             The re-offset is configured as number of PRACH REs.";
+        }
+
+        list occasion-parameters {
+          key occasion-id;
+          min-elements 1;
+          description
+            "This is list of cp-lengths, gp-lengths and beam-ids applicable
+             per each PRACH occasion in PRACH pattern.
+             Note: the number of records in this list MUST be equal
+                   to value of parameter number-of-occasions.";
+
+          leaf occasion-id {
+            type uint8;
+            mandatory true;
+            description
+              "Supplementary parameter acting as key in 'occasion-parameters' list";
+          }
+
+          leaf cp-length {
+            type uint16;
+            units Ts;
+            mandatory true;
+            description
+          "Cyclic prefix length. See CUS-plane specification for detailed description.";
+          }
+
+          leaf gp-length {
+            type uint16;
+            units Ts;
+            description
+              "Guard period length.";
+          }
+
+          leaf beam-id {
+            type uint16 {
+              range "min .. 32767";
+            }
+            mandatory true;
+            description
+              "This parameter defines the beam pattern to be applied to the U-Plane data.
+               beamId = 0 means no beamforming operation will be performed.";
+          }
+        }
+
+        leaf frame-number {
+          type uint16{
+            range 0..1023;
+          }
+          mandatory true;
+          description
+            "This parameter is an index inside the pattern-length, such that
+             PRACH occasion is happening for SFN which fulfills following equation:
+             [SFN mod pattern-length = frame-id]";
+        }
+
+        leaf sub-frame-id {
+          type uint16;
+          mandatory true;
+          description
+            "Identifier of sub-frame of the PRACH occasion. Value is interpreted in the same way
+             as subframeId field in a section description of a C-Plane message.";
+        }
+
+        leaf time-offset {
+          type uint16;
+          units Ts;
+          mandatory true;
+          description
+            "This parameter defines the time-offset from the start of the sub-frame
+             to the start of the first Cyclic Prefix of PRACH pattern";
+        }
+      }
+    }
+
+    grouping static-srs-configuration {
+      description
+        "Set of parameters related to static PRACH configuration";
+
+      leaf pattern-period {
+        type uint16 {
+          range 1..1024;
+        }
+        mandatory true;
+        description
+          "Period after which static SRS patterns are repeated. Unit: number of frames.";
+      }
+
+      list srs-patterns {
+        key srs-pattern-id;
+        min-elements 1;
+        description
+          "Provides a SRS pattern. Each record in the list represents a single PRACH occasion. Number of list entries cannot exceed max-srs-patterns.";
+
+        leaf srs-pattern-id {
+          type uint16;
+          mandatory true;
+          description
+            "Supplementary parameter acting as key for srs-pattern list.";
+        }
+
+        leaf sub-frame-id {
+          type uint16;
+          mandatory true;
+          description
+            "Identifier of sub-frame of the Raw SRS occasion. Value is interpreted in the same way
+             as subframeId field in a section description of a C-Plane message.";
+        }
+
+        leaf slot-id {
+          type uint16;
+          mandatory true;
+          description
+            "Identifier of slot of the Raw SRS occasion. Value is interpreted in the same way
+             as slotId field in a section description of a C-Plane message.";
+        }
+
+        leaf start-symbol-id {
+          type uint16;
+          mandatory true;
+          description
+            "Identifier of first symbol of the Raw SRS occasion. Value is interpreted in the same way
+             as startSymbolId field in a section description of a C-Plane message.";
+        }
+
+        leaf beam-id {
+          type uint16 {
+            range "min .. 32767";
+          }
+          mandatory true;
+          description
+            "This parameter defines the beam pattern to be applied to the U-Plane data.
+             beamId = 0 means no beamforming operation will be performed.";
+        }
+
+        leaf num-symbol {
+          type uint16;
+          mandatory true;
+          description
+            "This parameter defines number of consecutive symbols covered by specific srs-pattern.
+             Single srs-pattern may address at least one symbol. However, possible optimisations
+             could allow for several (up to 14) symbols.";
+        }
+
+        leaf start-prbc {
+          type uint16 {
+            range 0..1023;
+          }
+          mandatory true;
+          description
+            "Identifier of first PRB of the Raw SRS occasion. Value is interpreted in the same way
+             as startPrbc field in a section description of a C-Plane message.";
+        }
+
+        leaf num-prbc {
+          type uint16;
+          mandatory true;
+          description
+            "Number of PRBs of the Raw SRS occasion. Value is interpreted in the same way
+             as numPrbc field in a section description of a C-Plane message.";
+        }
+      }
+    }
+
+    grouping configurable-tdd-pattern {
+      description
+        "Set of parameters related to configurable TDD pattern.
+        Note: configurable-tdd-pattern shall not be used in case the usage would collide with
+        deprecated 'lte-tdd-pattern'.";
+
+      list switching-points {
+        key switching-point-id;
+        description
+          "List of switching points within frame, related to configurable TDD pattern.
+          An O-RU shall reject any configuration modification which exceeds the maximum
+          number of switching-points supported by the O-RU";
+
+        leaf switching-point-id {
+          type uint16;
+          description
+            "Supplementary parameter acting as key for switching-points list.";
+          }
+
+        leaf direction {
+          type enumeration {
+            enum UL {
+            description "Uplink";
+            }
+            enum DL {
+            description "Downlink";
+            }
+            enum GP {
+            description "Guard period";
+            }
+          }
+          mandatory true;
+          description
+            "Parameter provides information regarding desired signal direction at the moment switching point occurs.";
+        }
+
+        leaf frame-offset {
+          type uint32;
+          mandatory true;
+          description
+            "Offset from DL air frame boundary transmitted at RF connector to the point in time that is characteristic to the operation on RF switches. Unit is 1/1.2288e9 s.";
+        }
+      }
+    }
+
+    list static-srs-configurations {
+      if-feature mcap:SRS-STATIC-CONFIGURATION-SUPPORTED;
+      key static-srs-config-id;
+      description
+        "List of static SRS configurations";
+
+      leaf static-srs-config-id {
+        type uint8;
+        description
+          "Supplementary parameter acting as key in the list of static SRS configurations.";
+      }
+
+      uses static-srs-configuration;
+    }
+
+    list configurable-tdd-patterns {
+      if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
+      key tdd-pattern-id;
+      description
+        "List of configured TDD patterns";
+
+      leaf tdd-pattern-id {
+        type uint8;
+        description
+          "Supplementary parameter acting as key in the list of configured TDD patterns.";
+      }
+
+      uses configurable-tdd-pattern;
+    }
+  }
+
+  grouping tx-array-notification-group {
+    description
+      "Grouping for tx-array for notification";
+
+    list tx-array-carriers{
+      key name;
+      description "notification of state change for tx-array-carriers";
+
+      leaf name{
+        type leafref{
+          path "/user-plane-configuration/tx-array-carriers/name";
+        }
+        description
+          "name of tx-array-carriers is notified at state change";
+      }
+      leaf state{
+        type leafref{
+          path "/user-plane-configuration/tx-array-carriers/state";
+        }
+      description
+        "state of tx-array-carriers is notified at state change";
+      }
+    }
+  }
+
+  grouping rx-array-notification-group {
+    description
+      "Grouping for rx-array for notification";
+
+    list rx-array-carriers{
+      key name;
+      description
+        "Notification used to inform about state change of rx-array-carriers";
+      leaf name{
+        type leafref{
+          path "/user-plane-configuration/rx-array-carriers/name";
+        }
+        description
+          "name of rx-array-carriers is notified at state change";
+      }
+      leaf state{
+        type leafref{
+          path "/user-plane-configuration/rx-array-carriers/state";
+        }
+        description
+          "state of rx-array-carriers is notified at state change";
+      }
+    }
+  }
+
+  // top level container
+  container user-plane-configuration {
+    description "top level container for user plane configuration";
+
+    uses uplane-conf-group;
+    uses general-config;
+  }
+
+  //notification statement
+  notification tx-array-carriers-state-change {
+    description
+      "Notification used to inform about state change of tx-array-carriers";
+    uses tx-array-notification-group;
+  }
+  notification rx-array-carriers-state-change {
+    description
+    "Notification used to inform about state change of tx-array-carriers";
+
+    uses rx-array-notification-group;
+  }
+}