--- /dev/null
+module o-ran-beamforming {
+ yang-version 1.1;
+ namespace "urn:o-ran:beamforming:1.0";
+ prefix "o-ran-bf";
+
+ import o-ran-uplane-conf {
+ prefix "up";
+ }
+
+ import o-ran-module-cap {
+ prefix "mcap";
+ }
+
+ import o-ran-compression-factors {
+ prefix "cf";
+ revision-date 2021-12-01;
+ }
+
+ import o-ran-wg4-features {
+ prefix "feat";
+ }
+
+ organization "O-RAN Alliance";
+
+ contact
+ "www.o-ran.org";
+
+ description
+ "This module defines the beamforming capabilities of an O-RU.
+ Only O-RUs that support beamforming shall support this module.
+
+ Copyright 2021 the O-RAN Alliance.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the above disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the above disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the Members of the O-RAN Alliance nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.";
+
+ revision "2022-12-05" {
+ description
+ "version 11.0.0
+
+ 1) introduce p-dash parameter";
+
+ reference "ORAN-WG4.M.0-v11.00";
+ }
+
+ revision "2022-08-15" {
+ description
+ "version 8.1.0
+
+ 1) clarified description statements for component carrier
+ 2) clarified path/folder description";
+
+ reference "ORAN-WG4.M.0-v08.00";
+ }
+
+ revision "2021-12-01" {
+ description
+ "version 8.0.0
+
+ 1) typographical corrections in descriptions.
+ 2) Configuration for Beamforming weights were added together with changes and updates
+ to compressions.";
+
+ reference "ORAN-WG4.M.0-v08.00";
+ }
+
+ revision "2021-07-26" {
+ description
+ "version 2.3.0
+
+ 1) Ensuring beam-ids can only be 15 bits.
+ 2) Correcting maximum number of UEs from 8 bit to 15 bit";
+
+ reference "ORAN-WG4.M.0-v02.00";
+ }
+ revision "2021-03-22" {
+ description
+ "version 2.2.0
+
+ 1) typographical corrections in descriptions.";
+
+ reference "ORAN-WG4.M.0-v02.00";
+ }
+
+ revision "2020-04-17" {
+ description
+ "version 2.1.0
+
+ 1) corrected error where typedef refers to deprecated beam-id by
+ introducing new typedef and deprecating leafs defining coarse/fine
+ relationships that refer to beam-id and replacing with new ones based
+ on capability grouping";
+
+ reference "ORAN-WG4.M.0-v02.00";
+ }
+
+ revision "2019-07-03" {
+ description
+ "version 2.0.0
+
+ 1) re-designed/switched from per band to per capabilities-group for
+ addition flexibility
+ 2) added in new beam tilt feature
+ 3) adding possibilities to provide more compression types for beamforming
+ 4) Adding possibility to configure beamforming per capabilities group
+ 5) corrected xPATH boolean check from TRUE to true";
+
+ reference "ORAN-WG4.M.0-v02.00";
+ }
+
+ revision "2019-02-04" {
+ description
+ "version 1.0.0
+
+ 1) imported model from xRAN
+ 2) changed namespace and reference from xran to o-ran";
+
+ reference "ORAN-WG4.M.0-v01.00";
+ }
+
+
+ feature MODIFY-BF-CONFIG {
+ description
+ "This feature indicates that the O-RU supports an optional feature to
+ modify beamforming configuration information";
+ }
+
+ feature BEAM-TILT {
+ description
+ "This feature indicates that the O-RU supports an optional feature to
+ allows to shift beam characteristic of all predefined-beams in elevation
+ and/or azimuth direction (i.e. changing the service area or sector
+ coverage) while preserving the beam adjacency among the beams within
+ the service area ";
+ }
+
+ typedef beam-reference {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:per-band-config/o-ran-bf:beam-information/o-ran-bf:beamforming-properties/o-ran-bf:beam-id";
+ }
+ description
+ "This type is used by data models that need to reference a beam.";
+ }
+
+ typedef beam-capabilities-reference {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:beam-information/o-ran-bf:beamforming-properties/o-ran-bf:beam-id";
+ }
+ description
+ "This type is used by data models that need to reference a beam based on capability group.";
+ }
+
+ grouping beamforming-parameters {
+ leaf max-number-of-beam-ids {
+ type uint16 {
+ range "min .. 32767";
+ }
+
+ mandatory true;
+ description
+ "Maximum number of supported Beam ID assigned to domain beamforming control";
+ }
+
+ leaf initial-beam-id {
+ type uint16 {
+ range "min .. 32767";
+ }
+ mandatory true;
+ description
+ "First Beam ID that can be used for addressing of domain beams";
+ }
+
+ description "Group of common beamforming parameters";
+ }
+
+ grouping granularity-parameters {
+ leaf frequency-granularity {
+ type enumeration {
+ enum CC {
+ description
+ "Frequency granularity: per Component Carrier";
+ }
+
+ enum BAND {
+ description
+ "Frequency granularity: per band";
+ }
+ }
+ mandatory true;
+ description "Supported time granularity of time-domain beamforming.";
+ }
+
+ leaf time-granularity {
+ type enumeration {
+ enum SLOT {
+ description
+ "Time granularity: per slot";
+ }
+
+ enum SYMBOL {
+ description
+ "Time granularity: per symbol";
+ }
+ }
+ mandatory true;
+ description "Supported time granularity of time-domain beamforming.";
+ }
+ description "";
+ }
+
+ grouping array-lists {
+ description
+ "Grouping for array lists";
+
+ leaf-list tx-array {
+ type leafref {
+ path "/up:user-plane-configuration/up:tx-arrays/up:name";
+ }
+ description "tx arrays belonging to this band number";
+ }
+ leaf-list rx-array {
+ type leafref {
+ path "/up:user-plane-configuration/up:rx-arrays/up:name";
+ }
+ description "rx arrays belonging to this band number";
+ }
+ }
+
+ grouping static-properties {
+ description
+ "Grouping for static beamforming properties";
+
+ leaf rt-bf-weights-update-support {
+ type boolean;
+ description
+ "The parameter informs if O-RU supports real time beamforming weights update through C-Plane messaging";
+ }
+
+ choice beamforming-type {
+ case frequency {
+ container frequency-domain-beams {
+ when "../rt-bf-weights-update-support = 'true'";
+ uses beamforming-parameters;
+ uses cf:bf-compression-details;
+
+ list additional-compression-method-supported {
+ uses cf:bf-compression-details;
+
+ description
+ "List of additional supported compression methods by O-RU";
+ }
+
+ description "";
+ }
+ description "Set of parameters valid for O-RU, that supports beamforming in frequency domain.";
+ }
+
+ case time {
+ container time-domain-beams {
+ when "../rt-bf-weights-update-support = 'true'";
+ uses beamforming-parameters;
+ uses granularity-parameters;
+ uses cf:bf-compression-details;
+
+ list additional-compression-method-supported {
+ uses cf:bf-compression-details;
+
+ description
+ "List of additional supported compression methods by O-RU";
+ }
+
+ description "";
+ }
+ description "Set of parameters valid for O-RU, that supports beamforming in time domain.";
+ }
+
+ case hybrid {
+ container hybrid-beams {
+ when "../rt-bf-weights-update-support = 'true'";
+ uses beamforming-parameters;
+ uses granularity-parameters;
+ uses cf:bf-compression-details;
+
+ list additional-compression-method-supported {
+ uses cf:bf-compression-details;
+
+ description
+ "List of additional supported compression methods by O-RU";
+ }
+
+ description "";
+ }
+ description "Set of parameters valid for O-RU, that supports hybrid beamforming - in both time and frequency domain.";
+ }
+ description
+ "This value indicates beamforming type supported by O-RU";
+ }
+
+ leaf number-of-beams {
+ type uint16;
+ description
+ "This value indicates the max number of beam patterns O-RU can generate
+ and apply to the signal of each O-RU port (both DL and UL).
+ This value is equivalent to the maximum number of used beam IDs.";
+ }
+ leaf p-dash {
+ type uint16;
+ description
+ "This parameters specifies the dimesionality of the time-domain beamforming operation. Refer to description of parameter p'
+ in clause 12.4.3.4.2 of CUS-Plane specification. This parameter is required to define the size of time-domain beamforming
+ vector in case of hybrid/time-domain beamforming is supported by O-RU";
+ }
+ }
+
+ grouping beamforming-property {
+ description
+ "Grouping for beamforming property";
+
+ leaf beam-type {
+ type enumeration {
+ enum COARSE {
+ description "the beam-id corresponds to a coarse beam";
+ }
+ enum FINE {
+ description "the beam-id corresponds to a fine beam";
+ }
+ }
+ description
+ "This value indicates the beam resolution.";
+ }
+
+ leaf beam-group-id {
+ type uint16;
+ description
+ "Beams with same beamGroupsID can be transmitted simultaneously.";
+ }
+
+ leaf-list coarse-fine-beam-relation {
+ type beam-reference;
+ status deprecated;
+ description
+ "List of related coarse/fine beam.";
+ }
+
+ leaf-list neighbour-beams {
+ type beam-reference;
+ status deprecated;
+ description
+ "A list of neighbour beams which might restrict co-scheduling due
+ to interference.";
+ }
+
+ leaf-list coarse-fine-beam-capability-based-relation {
+ type beam-capabilities-reference;
+ description
+ "List of related coarse/fine beam.";
+ }
+
+ leaf-list neighbour-beams-capability-based {
+ type beam-capabilities-reference;
+ description
+ "A list of neighbour beams which might restrict co-scheduling due
+ to interference.";
+ }
+ }
+
+ grouping beamforming-properties-element {
+ description
+ "Grouping for beamforming-properties element";
+
+ leaf beam-id {
+ type uint16 {
+ range "min .. 32767";
+ }
+ description
+ "This value indicates the beam ID whose beamforming properties are
+ described in the container.";
+ }
+
+ container beamforming-property {
+ description
+ "Structure containing single set of beamforming properties.";
+
+ uses beamforming-property;
+ }
+ }
+
+ grouping band-num {
+ description
+ "Band information for the beamforming
+ related to the band number from module capabilities";
+
+ leaf band-number {
+ type leafref {
+ path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
+ }
+ description
+ "band information for the beamforming information
+ related to the band number of module capabilities";
+ }
+ }
+
+ grouping cap-group {
+ description
+ "Capabilities group grouping";
+
+ leaf capabilities-group {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
+ }
+ mandatory true;
+ description
+ "Capabilities group identification number to which it refers.";
+ }
+
+ }
+
+ grouping per-band-config-element {
+ description
+ "Grouping for per band config element";
+
+ uses band-num;
+ uses array-lists;
+
+ container static-properties {
+ description
+ "the static beamforming related information";
+
+ uses static-properties;
+ }
+
+ container beam-information {
+ description
+ "Beam information which exposes beamforming related O-RU capabilities.";
+ leaf number-of-beamforming-properties {
+ type uint16;
+ description
+ "This parameter indicates the number of beamFormingProperties entries.";
+ }
+
+ list beamforming-properties {
+ key beam-id;
+ description
+ "Array for the beamforming properties at O-RU.
+ These parameters can be used by the beamforming control by the NETCONF client.
+ 'numberOfBeamformingProperties' indicates the size of the array.";
+
+ uses beamforming-properties-element;
+ }
+ }
+ }
+
+ grouping operational-properties {
+ description
+ "Grouping for operational properties";
+
+ leaf number-of-writeable-beamforming-files {
+ type uint8 {
+ range "1 .. max";
+ }
+ mandatory true;
+ description
+ "This leaf indicates the maximum number of writable beamforming files
+ containing beamweights and/or attributes that the O-RU can store, taking
+ into account the maximum number of beam-IDs as defined by 3GPP
+ TS38.214 v15.x.x";
+ }
+
+ leaf update-bf-non-delete {
+ type boolean;
+ default false;
+ description
+ "When set to TRUE, indicates that an O-RU supports the capability
+ to apply the modified beamforming weight information by using RPC
+ activate-beamforming-weight without deletion of tx-array-carriers and
+ rx-array-carriers in advance, i.e., to a deactivated carrier";
+ }
+
+ leaf persistent-bf-files {
+ type boolean;
+ default false;
+ description
+ "When set to TRUE, indicates that the O-RU supports the capability
+ to store the modified beamforming weight information file in the
+ reset persistent memory";
+ }
+ }
+
+ grouping beamforming-supported-type {
+ description
+ "Grouping for type of beamforming supported";
+
+ leaf beamforming-trough-attributes-supported {
+ type boolean;
+ config false;
+ description
+ "Informs if beamforming can be controlled providing attributes to O-RU
+ (like angles, beamwidth).";
+ }
+
+ leaf beamforming-trough-ue-channel-info-supported {
+ type boolean;
+ config false;
+ description
+ "Informs if beamforming can be controlled by UE information.";
+ }
+ }
+
+ grouping beamforming-config {
+ description
+ "Grouping for beamforming configuration";
+
+ list per-band-config {
+ key band-number;
+ config false;
+ status deprecated;
+ description "beamforming information per band";
+ uses per-band-config-element;
+ }
+
+ list capabilities-groups {
+ key capabilities-group;
+ description
+ "Capabilities groups identification number assigned to be referenced by operations
+ and notifications.
+ This also help to group particular beamforming capabilities and bind it with arrays";
+
+ leaf capabilities-group {
+ type uint16;
+ description
+ "Capabilities group identification number. Number which is used just for reference in RPC
+ and notification";
+ }
+ uses per-band-config-element;
+ }
+
+ container ue-specific-beamforming {
+ presence
+ "Indicates that the O-RU supports optional Section Type '6' Fields
+ (used for sending channel information for a specific UE)";
+ config false;
+ description
+ "Information related to support by the O-RU of Section Type 6 for
+ signalling UE-specific channel information to the O-RU";
+
+ leaf max-number-of-ues {
+ type uint8;
+ status deprecated;
+ description
+ "Indicates the maximum number of UE -specific channel information
+ data sets supported by the O-RU.
+
+ Leaf is deprecated as it only enabled a maximum of 255 UEs to be supported,
+ compared with ST5 and ST6 which supports a 15 bit value.
+
+ NETCONF client instead uses max-number-ues-15bit schema node";
+ }
+ leaf max-number-of-ues-15bit {
+ type uint16 {
+ range "1 .. 32767";
+ }
+ description
+ "Indicates the maximum number of UE -specific channel information
+ data sets supported by the O-RU,
+ It is restricted to 15 bits value because of the 15bits ueId field in ST5 and ST6";
+ }
+
+ leaf-list channel-information-compression-method-supported {
+ if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
+ type cf:ci-compression-method-def;
+ description
+ "list of channel information compression methods supported by the O-RU";
+ }
+
+ leaf dynamic-channel-information-compression-supported {
+ if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
+ type boolean;
+ description
+ "Informs if dynamic channel information compression supported by the O-RU,
+ if its value is true, the compression method and IQ bit width can be dynamic in ciCompHdr;
+ if its value is false, only static configuration compression configuration is supported, and ciCompHdr
+ shall be set to a fixed value corresponding to the static configured compression method and IQ bit width.";
+ }
+ }
+ container operational-properties {
+ if-feature MODIFY-BF-CONFIG;
+ config false;
+ description "properties for dynamic beam weight/attribute support";
+
+ uses operational-properties;
+ }
+ }
+
+ grouping beam-tilt-configuration {
+ description "grouping for beam-tilt feature";
+ list predefined-beam-tilt-offset {
+ if-feature BEAM-TILT;
+ key capabilities-group;
+ description "Configuration of the predefined-beam-tilt-offset per capabilities-group";
+ leaf capabilities-group {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
+ require-instance false;
+ }
+ mandatory true;
+ description
+ "Capabilities group identification number for which
+ the predefined-beam-tilt-offset relates to";
+ }
+ leaf elevation-tilt-offset-angle {
+ type int16 {
+ range "-90..90";
+ }
+ units degrees;
+ default 0;
+ description
+ "Value 0 represents the default service area of the predefined-beams
+ in elevation domain, i.e. no tilt offset.
+
+ Values smaller than 0 represents an up-shift of the default service area
+ towards the zenith (i.e., corresponding to a decrease in zenith angle) and
+ values larger than 0 represent a down-shift of the default service area
+ away from the zenith (i.e., corresponding to an increase in zenith angle).
+
+ If the value is greater than the maximum supported angle, then the maximum
+ angle is used for configuration.
+ If the value is less than the minimum supported angle, then the minimum
+ angle is used for configuration.
+ The actual angle used is (angle DIV granularity) * granularity.
+
+ Any O-RU which is reset using the o-ran-operations:reset RPC shall reset
+ its offset angle to its default value.";
+ }
+ leaf azimuth-tilt-offset-angle {
+ type int16 {
+ range "-90..90";
+ }
+ units degrees;
+ default 0;
+ description
+ "Value 0 represents the default service area of the predefined-beams
+ in azimuth domain, i.e., no tile offset.
+
+ Azimuth tilt offset angle, represents counter-clockwise rotation around
+ z-axis. I.e., assuming view from the UE (observation of the O-RU
+ from the front), value larger than 0 and smaller than 0
+ respectively represent right-shifted and left-shifted of the default
+ service area in azimuth domain.
+
+ If the value is greater than the maximum supported angle, then the maximum
+ angle is used for configuration.
+ If the value is less than the minimum supported angle, then the minimum
+ angle is used for configuration.
+ The actual angle used is (angle DIV granularity) * granularity.
+
+ Any O-RU which is reset using the o-ran-operations:reset RPC shall reset
+ its offset angle to its default value.";
+ }
+ }
+ }
+
+ grouping beam-tilt-state {
+ description
+ "Grouping for beam tilt state";
+
+ list predefined-beam-tilt-offset-information {
+ key capabilities-group;
+ config false;
+ description
+ "Information which exposes predefined-beam-tilt-offset related O-RU capabilities.";
+ leaf capabilities-group {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
+ }
+ mandatory true;
+ description
+ "Capabilities group identification number for which
+ the predefined-beam-tilt-offset-information relates to";
+ }
+ leaf elevation-tilt-offset-granularity {
+ type uint8 {
+ range "0..30";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "Indication of the supported granularity for the
+ predefined-beam-tilt-offset in elevation domain.
+
+ Value 0 represents that the O-RU doesn't support
+ the predefined-beam-tilt-offset in elevation domain.";
+ }
+ leaf azimuth-tilt-offset-granularity {
+ type uint8 {
+ range "0..30";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "Indication of the supported granularity for the
+ predefined-beam-tilt-offset in azimuth domain.
+
+ Value '0' represents that the O-RU doesn't support
+ the predefined-beam-tilt-offset in azimuth domain.";
+ }
+ leaf minimum-supported-elevation-tilt-offset {
+ type int16 {
+ range "-90..0";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "The minimum value which can be configured for
+ 'elevation-tilt-offset-angle'.";
+ }
+ leaf maximum-supported-elevation-tilt-offset {
+ type int16 {
+ range "0..90";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "The maximum value which can be configured for
+ 'elevation-tilt-offset-angle'.";
+ }
+ leaf minimum-supported-azimuth-tilt-offset {
+ type int16 {
+ range "-90..0";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "The minimum value which can be configured for
+ 'azimuth-tilt-offset-angle'.";
+ }
+ leaf maximum-supported-azimuth-tilt-offset {
+ type int16 {
+ range "0..90";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "The maximum value which can be configured for
+ 'azimuth-tilt-offset-angle'.";
+ }
+ leaf run-time-tilt-offset-supported {
+ type boolean;
+ mandatory true;
+ description
+ "If 'run-time-tilt-offset-supported' is FALSE, changing the values in
+ 'predefined-beam-tilt-offset' for a specific band shall be allowed only
+ if all 'tx-array-carriers' and 'rx-array-carriers' corresponding
+ to the band are INACTIVE.";
+ }
+ }
+
+ }
+
+ grouping beam-tilt-report {
+ description
+ "Grouping for beam tilt report";
+
+ list predefined-beam-tilt-state {
+ key capabilities-group;
+ config false;
+ description
+ "Information which exposes state of predefined-beam-tilt-offset.";
+ leaf capabilities-group {
+ type leafref {
+ path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
+ }
+ mandatory true;
+ description
+ "Capabilities group identification number for which
+ the predefined-beam-tilt-state relates to";
+ }
+ leaf elevation-tilt-offset-angle {
+ type int16 {
+ range "-90..90";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "Value 'zero' represents the default service area of the
+ predefined-beams in elevation domain.
+
+ Values smaller than 0 represents an up-shift of the default service area
+ towards the zenith (i.e., corresponding to a decrease in zenith angle) and
+ values larger than 0 represent a down-shift of the default service area
+ away from the zenith (i.e., corresponding to an increase in zenith angle).";
+ }
+ leaf azimuth-tilt-offset-angle {
+ type int16 {
+ range "-90..90";
+ }
+ units Degrees;
+ mandatory true;
+ description
+ "Value 'zero' represents the default service area of the
+ predefined-beams in azimuth domain.
+
+ Azimuth tilt offset angle, represents counter-clockwise rotation around
+ z-axis. I.e., assuming view from the UE (observation of the O-RU from
+ the front), value larger than 'zero' and smaller than 'zero'
+ respectively represent right-shifted and left-shifted of the default
+ service area in azimuth domain.";
+ }
+ }
+
+ }
+
+ container beamforming-config {
+ config false;
+ description
+ "A set of configuration data for the O-RU's beam forming functionality";
+
+ uses beamforming-config;
+ uses beamforming-supported-type;
+ container beam-tilt {
+ if-feature BEAM-TILT;
+ description "container for pre-defined beam tilt feature";
+ uses beam-tilt-state;
+ uses beam-tilt-report;
+ }
+ }
+
+
+ rpc activate-beamforming-config {
+ if-feature MODIFY-BF-CONFIG;
+ description
+ "RPC to activate beamforming config information by indicating the file
+ stored in the folder o-ran/beamforming in advance";
+ input {
+ leaf beamforming-config-file {
+ type string;
+ mandatory true;
+ description
+ "file name stored in o-ran/beamforming folder is indicated";
+ }
+
+ uses band-num;
+ }
+ output {
+ leaf status {
+ type enumeration {
+ enum ACCEPTED {
+ description "O-RU has accepted the beamforming weight/attribute file";
+ }
+ enum REJECTED {
+ description
+ "O-RU has rejected the beamforming weight/attribute file. The O-RU
+ should then use the default beamforming file.";
+ }
+ }
+ mandatory true;
+ description "Status of activation of beamforming config information";
+ }
+ leaf error-message {
+ when "../status='REJECTED'";
+ type string;
+ description
+ "Detailed error Message when the status is rejected, e.g.,
+ because new beam forming file is attempted to be applied to a
+ carrier which is still active, or the beam-id does not exist.";
+ }
+ }
+ }
+
+ rpc activate-beamforming-config-by-capability-group {
+ if-feature MODIFY-BF-CONFIG;
+ description
+ "RPC to activate beamforming config information by indicating the file
+ stored in the folder o-ran/beamforming in advance";
+ input {
+ leaf beamforming-config-file {
+ type string;
+ mandatory true;
+ description
+ "file name stored in o-ran/beamforming folder is indicated";
+ }
+
+ uses cap-group;
+ }
+ output {
+ leaf status {
+ type enumeration {
+ enum ACCEPTED {
+ description "O-RU has accepted the beamforming weight/attribute file";
+ }
+ enum REJECTED {
+ description
+ "O-RU has rejected the beamforming weight/attribute file. The O-RU
+ should then use the default beamforming file.";
+ }
+ }
+ mandatory true;
+ description "Status of activation of beamforming config information";
+ }
+ leaf error-message {
+ when "../status='REJECTED'";
+ type string;
+ description
+ "Detailed error Message when the status is rejected, e.g.,
+ because new beam forming file is attempted to be applied to a
+ carrier which is still active, or the beam-id does not exist.";
+ }
+ }
+ }
+
+
+ rpc modify-predefined-beam-tilt-offset {
+ if-feature BEAM-TILT;
+ description
+ "RPC to trigger the modification of the predefined beam tilt offset";
+ input {
+ uses beam-tilt-configuration;
+ }
+ output {
+ leaf status {
+ type enumeration {
+ enum ACCEPTED {
+ description "O-RU has accepted the predefind beamtilt offset configuration";
+ }
+ enum REJECTED {
+ description
+ "O-RU has rejected the predefind beamtilt offset configuration.";
+ }
+ }
+ mandatory true;
+ description "Status of acceptance of pre-defined beamtilt offset configuration";
+ }
+ leaf error-message {
+ when "../status='REJECTED'";
+ type string;
+ description
+ "Detailed error message when the pre-defined beam tilt configuration
+ is rejected, e.g., used when 'run-time-tilt-offset-supported' is FALSE and the
+ NETCONF client is attempting to modify the beam tilt on a band where
+ one or more array-carriers are still ACTIVE.";
+ }
+ }
+ }
+
+
+ //notification statement
+ notification beamforming-information-update {
+ uses band-num;
+ description
+ "this notification indicates that the beamforming properties are updated for particular band";
+ }
+
+ notification capability-group-beamforming-information-update {
+ uses cap-group;
+ description
+ "this notification indicates that the beamforming properties are updated for particular band
+ or capability group";
+ }
+
+ notification predefined-beam-tilt-offset-complete {
+ if-feature BEAM-TILT;
+ uses beam-tilt-report;
+ description
+ "this notification indicates that the re-generation of the predefined
+ beams is completed";
+ }
+}