Update YANG models for OpenFronthaul M-Plane.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-uplane-conf.yang
@@ -13,12 +13,26 @@ module o-ran-uplane-conf {
 
   import o-ran-module-cap {
     prefix "mcap";
-    revision-date 2020-12-10;
   }
 
   import o-ran-compression-factors {
     prefix "cf";
-    revision-date 2020-08-10;
+  }
+
+  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";
@@ -30,7 +44,7 @@ module o-ran-uplane-conf {
     "This module defines the module capabilities for
     the O-RAN Radio Unit U-Plane configuration.
 
-    Copyright 2020 the O-RAN Alliance.
+    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
@@ -56,6 +70,118 @@ module o-ran-uplane-conf {
     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
@@ -218,6 +344,18 @@ module o-ran-uplane-conf {
         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
@@ -242,6 +380,35 @@ module o-ran-uplane-conf {
     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";
 
@@ -252,8 +419,8 @@ module o-ran-uplane-conf {
         type boolean;
         default false;
         description
-          "Informs if regularizationfactor in section extension is configured(true) or not(false), this
-          leaf indicates whether the O-DU will send the regularizationfactor in section extension.
+          "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.";
@@ -271,6 +438,26 @@ module o-ran-uplane-conf {
           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.";
+      }
     }
   }
 
@@ -412,7 +599,7 @@ module o-ran-uplane-conf {
     }
   }
 
-  grouping  eaxc {
+  grouping eaxc {
     description
       "One eAxC identifier (eAxC ID) comprises a band and sector
       identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
@@ -424,11 +611,11 @@ module o-ran-uplane-conf {
       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 Carrier Components
+      *    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 occpying bits continuously but we do not have to occupy all 16 bits";
+        if we are occupying bits continuously, but we do not have to occupy all 16 bits";
 
 
     leaf o-du-port-bitmask {
@@ -501,7 +688,7 @@ module o-ran-uplane-conf {
         }
       units Meter;
 
-      description "Average distance between centers of nearby AE in horizontal direction (in array coordinates system)";
+      description "Average distance between centres of nearby AE in horizontal direction (in array coordinates system)";
     }
 
     leaf vertical-spacing{
@@ -510,7 +697,7 @@ module o-ran-uplane-conf {
         }
       units Meter;
 
-      description "Average distance between centers of nearby AE in vertical direction (in array coordinates system)";
+      description "Average distance between centres of nearby AE in vertical direction (in array coordinates system)";
     }
 
     container normal-vector-direction {
@@ -595,6 +782,26 @@ module o-ran-uplane-conf {
          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 {
@@ -606,7 +813,7 @@ module o-ran-uplane-conf {
           }
 
           description
-            "Leafref to tx array if such is choosen";
+            "Leafref to tx array if such is chosen";
         }
       }
       case rx {
@@ -616,7 +823,7 @@ module o-ran-uplane-conf {
           }
 
           description
-            "Leafref to rx array if such is choosen";
+            "Leafref to rx array if such is chosen";
         }
       }
       description
@@ -634,10 +841,7 @@ module o-ran-uplane-conf {
       type uint8;
 
       description
-        "This parameter defines the frame structure. The first 4 bits define the FFT/iFFT size
-        being used for all IQ data processing related to this message.
-        The second 4 bits define the sub carrier spacing as well as the number of slots per 1ms sub-frame
-        according to 3GPP TS 38.211, taking for completeness also 3GPP TS 36.211 into account";
+        "This parameter provides value of frame structure. For semantics and allowed values see CUS-Plane Specification, clause 'frameStructure (frame structure)'";
     }
 
     leaf cp-type {
@@ -662,8 +866,15 @@ module o-ran-uplane-conf {
       units Ts;
       mandatory true;
       description
-        "Used for symbol 0 for NR & LTE, and symbol 7*2u for NR.
-        See CUS-plane";
+        "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 {
@@ -671,7 +882,14 @@ module o-ran-uplane-conf {
       units Ts;
       mandatory true;
       description
-        "Used for other symbols than by cp-length above";
+        "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 {
@@ -679,10 +897,11 @@ module o-ran-uplane-conf {
       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 center of RE#0 of RB#0 to the center-of-channel-bandwidth.
+         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 parameter frequencyShift7p5khz for UL is applied.
-         When type (in tx/rx-array-carrier) is DSS, “offset-to-absolute-frequency-center” indicates the 1st RE of 1st RB of NR.";
+         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 {
@@ -703,8 +922,8 @@ module o-ran-uplane-conf {
         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 epoints
-          within a group of endpoints sharing resources) of number-of-prb rounded up to
+          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.";
       }
     }
@@ -712,7 +931,7 @@ module o-ran-uplane-conf {
 
   grouping tx-common-array-carrier-elements {
     description
-      "This grouping containes all common parameters for tx-array-carriers and rx-array-carriers";
+      "This grouping contains all common parameters for tx-array-carriers and rx-array-carriers";
 
     leaf absolute-frequency-center {
       type uint32;
@@ -727,8 +946,10 @@ module o-ran-uplane-conf {
           units Hz;
       mandatory true;
       description
-        "Center 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";
+        "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 {
@@ -758,9 +979,9 @@ module o-ran-uplane-conf {
       default INACTIVE;
 
       description
-        "Indicates if transmission is enabled for this array carriers. Note that Netconf server uses state parameter
+        "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
+        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.";
     }
 
@@ -827,22 +1048,27 @@ module o-ran-uplane-conf {
         path "/user-plane-configuration/tx-array-carriers[name=current()/../name]" + "/duplex-scheme";
         require-instance false;
       }
+      status deprecated;
       description
-        "Config true type of duplex scheme.";
+        "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.";
+        "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 containes all common parameters for tx-array-carriers and rx-array-carriers";
+      "This grouping contains all common parameters for tx-array-carriers and rx-array-carriers";
 
     leaf absolute-frequency-center {
       type uint32;
@@ -857,8 +1083,10 @@ module o-ran-uplane-conf {
           units Hz;
       mandatory true;
       description
-        "Center 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";
+        "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 {
@@ -888,9 +1116,9 @@ module o-ran-uplane-conf {
       default INACTIVE;
 
       description
-        "Indicates if transmission is enabled for this array carriers. Note that Netconf server uses state parameter
+        "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
+        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.";
     }
 
@@ -978,10 +1206,10 @@ module o-ran-uplane-conf {
         or processed collectively by group of endpoints sharing capacity.";
     }
     leaf max-highest-priority-sections-per-slot {
-      must "current()<../max-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";
       }
-      type uint16;
       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
@@ -994,32 +1222,134 @@ module o-ran-uplane-conf {
         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";
+        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 undestood as number of different sectionId values";
+      "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;
+      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";
+        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;
+      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";
+        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 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 {
@@ -1030,6 +1360,25 @@ module o-ran-uplane-conf {
         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.";
   }
@@ -1049,6 +1398,96 @@ module o-ran-uplane-conf {
       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 {
@@ -1118,6 +1557,432 @@ module o-ran-uplane-conf {
       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";
@@ -1130,16 +1995,63 @@ module o-ran-uplane-conf {
       leaf name {
         type string;
         description
-          "Unique name of low-level-tx-link object.";
+          "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 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:ru-elements/o-ran-pe:name";
+          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";
         }
-        mandatory true;
         description
-          "Contains name of processing-element to be used as transport by low-level-tx-link";
+           "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 {
@@ -1173,13 +2085,60 @@ module o-ran-uplane-conf {
           "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 LowLevelTxLink";
+          "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 {
@@ -1209,13 +2168,31 @@ module o-ran-uplane-conf {
         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";
+        "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;
@@ -1243,12 +2220,16 @@ module o-ran-uplane-conf {
             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";
+          "List of supported values of frame structure. For semantic and allowed values see CUS-Plane Specification, clause 'frameStructure (frame structure)'";
       }
 
       leaf managed-delay-support {
@@ -1299,6 +2280,7 @@ module o-ran-uplane-conf {
       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;
@@ -1310,6 +2292,139 @@ module o-ran-uplane-conf {
       }
 
       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 {
@@ -1319,11 +2434,18 @@ module o-ran-uplane-conf {
         "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 reports own capability per endpoint (see endpoint-types)
+        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.";
+              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;
@@ -1335,6 +2457,7 @@ module o-ran-uplane-conf {
       uses endpoint-beam-capacity;
       uses endpoint-prb-capacity;
       uses endpoint-numerology-capacity;
+      uses endpoint-section-extension-limits;
 
       leaf max-endpoints {
         type uint16;
@@ -1351,6 +2474,22 @@ module o-ran-uplane-conf {
         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  {
@@ -1388,7 +2527,10 @@ module o-ran-uplane-conf {
       }
 
       list compression-method-supported {
-        uses cf:compression-parameters;
+        uses cf:compression-method-grouping;
+        uses cf:compresion-format-grp {
+          status deprecated;
+        }
 
         leaf-list fs-offset {
           if-feature cf:CONFIGURABLE-FS-OFFSET;
@@ -1403,7 +2545,7 @@ module o-ran-uplane-conf {
           "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 paticular endpoint";
+                 exactly is supported on particular endpoint";
       }
     }
 
@@ -1505,7 +2647,7 @@ module o-ran-uplane-conf {
           type boolean;
 
           description
-            "Informs if endpoint supports realtime variable bit with";
+            "Informs if endpoint supports real-time variable bit with";
         }
 
         leaf supported-compression-set-id {
@@ -1597,7 +2739,7 @@ module o-ran-uplane-conf {
           type boolean;
 
           description
-            "Informs if endpoint supports realtime variable bit with";
+            "Informs if endpoint supports real-time variable bit with";
         }
 
         leaf supported-compression-set-id {
@@ -1614,6 +2756,25 @@ module o-ran-uplane-conf {
 
       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 {
@@ -1621,7 +2782,7 @@ module o-ran-uplane-conf {
 
       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 modificable element in static object";
+        which cannot be added to static low-level-tx-endpoints as we cannot have modifiable element in static object";
 
       leaf name {
         type leafref {
@@ -1634,60 +2795,29 @@ module o-ran-uplane-conf {
           "Unique name of low-level-tx-endpoint object. Reference to static object";
       }
 
-      container compression {
-        presence
-          "This container shall exists to avoid missaligned 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 choosen dynamically
-                   and default fs-offset is taken (0).";
-
-          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 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.";
+          "Contains local address of low level TX endpoint offered by NETCONF server.";
       }
 
       uses coupling-methods;
@@ -1695,12 +2825,58 @@ module o-ran-uplane-conf {
       leaf configurable-tdd-pattern-supported {
         if-feature mcap:CONFIGURABLE-TDD-PATTERN-SUPPORTED;
         type leafref {
-          //checkAS added if-feature          
           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 {
@@ -1708,7 +2884,7 @@ module o-ran-uplane-conf {
 
       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 modificable element in static object";
+        which cannot be added to static low-level-rx-endpoints as we cannot have modifiable element in static object";
 
       leaf name {
         type leafref {
@@ -1721,49 +2897,21 @@ module o-ran-uplane-conf {
           "Unique name of low-level-rx-endpoint object. Reference to static object";
       }
 
-      container compression {
-        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 choosen dynamically
-                   and default fs-offset is taken (0).";
-
-          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 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 {
@@ -1795,7 +2943,7 @@ module o-ran-uplane-conf {
         uses eaxc;
 
         description
-          "Contains local address of low level RX endpoint offered by Netconf server.";
+          "Contains local address of low level RX endpoint offered by NETCONF server.";
       }
 
       leaf eaxc-gain-correction {
@@ -1806,7 +2954,7 @@ module o-ran-uplane-conf {
         units dB;
         default 0;
         description
-          "eAxC specifc part of overall gain_correction.
+          "eAxC specific part of overall gain_correction.
            gain_correction = common array-carrier gain-correction + eAxC-gain-correction.";
       }
 
@@ -1828,10 +2976,9 @@ module o-ran-uplane-conf {
       }
 
       leaf static-prach-configuration {
-        if-feature mcap:PRACH-STATIC-CONFIGURATION-SUPPORTED;
         when "(/user-plane-configuration/low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'PRACH')";
+        if-feature mcap:PRACH-STATIC-CONFIGURATION-SUPPORTED;
         type leafref {
-          //checkAS added if-feature          
           path "/user-plane-configuration/static-prach-configurations/static-prach-config-id";
         }
         description
@@ -1842,22 +2989,54 @@ module o-ran-uplane-conf {
         when "(/user-plane-configuration/low-level-rx-endpoints[name=current()/../name]/static-config-supported = 'SRS')";
         if-feature mcap:SRS-STATIC-CONFIGURATION-SUPPORTED;
         type leafref {
-          //checkAS added if-feature          
           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 {
-          //checkAS added if-feature          
           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 {
@@ -1872,6 +3051,47 @@ module o-ran-uplane-conf {
           "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 {
@@ -1883,7 +3103,7 @@ module o-ran-uplane-conf {
         description
           "This parameter informing which frequency band particular antenna
            array is serving for.
-           Intended use is to deal with multiband solutions.";
+           Intended use is to deal with multi-band solutions.";
       }
 
       container lte-tdd-frame {
@@ -1981,7 +3201,9 @@ module o-ran-uplane-conf {
         mandatory true;
 
         description
-          "Transmission gain in dB. Value applicable to each array element carrier belonging to array carrier.";
+          "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 {
@@ -1992,7 +3214,7 @@ module o-ran-uplane-conf {
 
         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-carrierss that have same frequency and bandwidth.
+          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.";
       }
 
@@ -2005,7 +3227,22 @@ module o-ran-uplane-conf {
         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-carrierss that have same frequency and bandwidth.";
+          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 {
@@ -2043,6 +3280,47 @@ module o-ran-uplane-conf {
             "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 {
@@ -2053,7 +3331,7 @@ module o-ran-uplane-conf {
 
         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-carrierss that have same frequency and bandwidth.
+          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.";
       }
 
@@ -2066,7 +3344,7 @@ module o-ran-uplane-conf {
         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-carrierss that have same frequency and bandwidth.";
+          Note: The value should have same value within DU to all tx-array-carriers that have same frequency and bandwidth.";
       }
 
       leaf gain-correction {
@@ -2091,6 +3369,21 @@ module o-ran-uplane-conf {
           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;
@@ -2112,6 +3405,16 @@ module o-ran-uplane-conf {
 
       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;
@@ -2128,7 +3431,7 @@ module o-ran-uplane-conf {
         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 polarization share power budget";
+          Else all elements of array that are at same row and column and have same polarisation share power budget";
       }
 
       list capabilities {
@@ -2189,13 +3492,13 @@ module o-ran-uplane-conf {
         uses array-choice;
 
         description
-          "Defnes name for first array";
+          "Defines name for first array";
       }
       container array2 {
         uses array-choice;
 
         description
-          "Defnes name for second array";
+          "Defines name for second array";
       }
       list types {
         key "relation-type";
@@ -2286,7 +3589,7 @@ module o-ran-uplane-conf {
           type uint16;
           description
             "This parameter contains eAxC_ID that populates content of C-Plane section
-            extension 11 to eAxC_IDs configured in the group as 'member-tx-eaxc-id'(s).";
+            extension 10 to eAxC_IDs configured in the group as 'member-tx-eaxc-id'(s).";
         }
         leaf-list member-tx-eaxc-id {
           type uint16;
@@ -2296,9 +3599,13 @@ module o-ran-uplane-conf {
           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.";
+            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.";
         }
       }
 
@@ -2320,7 +3627,7 @@ module o-ran-uplane-conf {
           type uint16;
           description
             "This parameter contains eAxC_ID that populates content of C-Plane section
-            extension 11 to eAxC_IDs configured in the group as 'member-rx-eaxc-id'(s).";
+            extension 10 to eAxC_IDs configured in the group as 'member-rx-eaxc-id'(s).";
         }
 
         leaf-list member-rx-eaxc-id {
@@ -2331,8 +3638,12 @@ module o-ran-uplane-conf {
           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 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.";
         }
       }
     }
@@ -2469,7 +3780,9 @@ module o-ran-uplane-conf {
           }
 
           leaf beam-id {
-            type uint16;
+            type uint16 {
+              range "min .. 32767";
+            }
             mandatory true;
             description
               "This parameter defines the beam pattern to be applied to the U-Plane data.
@@ -2558,7 +3871,9 @@ module o-ran-uplane-conf {
         }
 
         leaf beam-id {
-          type uint16;
+          type uint16 {
+            range "min .. 32767";
+          }
           mandatory true;
           description
             "This parameter defines the beam pattern to be applied to the U-Plane data.
@@ -2570,7 +3885,7 @@ module o-ran-uplane-conf {
           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 optimizations
+             Single srs-pattern may address at least one symbol. However, possible optimisations
              could allow for several (up to 14) symbols.";
         }
 
@@ -2720,8 +4035,7 @@ module o-ran-uplane-conf {
     }
   }
 
-// top level container
-
+  // top level container
   container user-plane-configuration {
     description "top level container for user plane configuration";