Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-beamforming@2022-12-05.yang
1 module o-ran-beamforming {
2   yang-version 1.1;
3   namespace "urn:o-ran:beamforming:1.0";
4   prefix "o-ran-bf";
5
6   import o-ran-uplane-conf {
7     prefix "up";
8   }
9
10   import o-ran-module-cap {
11     prefix "mcap";
12   }
13
14   import o-ran-compression-factors {
15     prefix "cf";
16     revision-date 2021-12-01;
17   }
18
19   import o-ran-wg4-features {
20     prefix "feat";
21   }
22
23   organization "O-RAN Alliance";
24
25   contact
26     "www.o-ran.org";
27
28   description
29     "This module defines the beamforming capabilities of an O-RU.
30     Only O-RUs that support beamforming shall support this module.
31
32     Copyright 2021 the O-RAN Alliance.
33
34     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
35     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
38     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44     POSSIBILITY OF SUCH DAMAGE.
45
46     Redistribution and use in source and binary forms, with or without
47     modification, are permitted provided that the following conditions are met:
48
49     * Redistributions of source code must retain the above copyright notice,
50     this list of conditions and the above disclaimer.
51     * Redistributions in binary form must reproduce the above copyright notice,
52     this list of conditions and the above disclaimer in the documentation
53     and/or other materials provided with the distribution.
54     * Neither the Members of the O-RAN Alliance nor the names of its
55     contributors may be used to endorse or promote products derived from
56     this software without specific prior written permission.";
57
58   revision "2022-12-05" {
59     description
60       "version 11.0.0
61
62       1) introduce p-dash parameter";
63
64     reference "ORAN-WG4.M.0-v11.00";
65   }
66
67   revision "2022-08-15" {
68     description
69       "version 8.1.0
70
71       1) clarified description statements for component carrier
72       2) clarified path/folder description";
73
74     reference "ORAN-WG4.M.0-v08.00";
75   }
76
77   revision "2021-12-01" {
78     description
79       "version 8.0.0
80
81       1) typographical corrections in descriptions.
82       2) Configuration for Beamforming weights were added together with changes and updates
83          to compressions.";
84
85     reference "ORAN-WG4.M.0-v08.00";
86   }
87
88   revision "2021-07-26" {
89     description
90       "version 2.3.0
91
92       1) Ensuring beam-ids can only be 15 bits.
93       2) Correcting maximum number of UEs from 8 bit to 15 bit";
94
95     reference "ORAN-WG4.M.0-v02.00";
96   }
97   revision "2021-03-22" {
98     description
99       "version 2.2.0
100
101       1) typographical corrections in descriptions.";
102
103     reference "ORAN-WG4.M.0-v02.00";
104   }
105
106   revision "2020-04-17" {
107     description
108       "version 2.1.0
109
110       1) corrected error where typedef refers to deprecated beam-id by
111       introducing new typedef and deprecating leafs defining coarse/fine
112       relationships that refer to beam-id and replacing with new ones based
113       on capability grouping";
114
115     reference "ORAN-WG4.M.0-v02.00";
116   }
117
118   revision "2019-07-03" {
119     description
120       "version 2.0.0
121
122       1) re-designed/switched from per band to per capabilities-group for
123       addition flexibility
124       2) added in new beam tilt feature
125       3) adding possibilities to provide more compression types for beamforming
126       4) Adding possibility to configure beamforming per capabilities group
127       5) corrected xPATH boolean check from TRUE to true";
128
129     reference "ORAN-WG4.M.0-v02.00";
130   }
131
132   revision "2019-02-04" {
133     description
134       "version 1.0.0
135
136       1) imported model from xRAN
137       2) changed namespace and reference from xran to o-ran";
138
139     reference "ORAN-WG4.M.0-v01.00";
140   }
141
142
143   feature MODIFY-BF-CONFIG {
144     description
145       "This feature indicates that the O-RU supports an optional feature to
146       modify beamforming configuration information";
147   }
148
149   feature BEAM-TILT {
150     description
151       "This feature indicates that the O-RU supports an optional feature to
152       allows to shift beam characteristic of all predefined-beams in elevation
153       and/or azimuth direction (i.e. changing the service area or sector
154       coverage) while preserving the beam adjacency among the beams within
155       the service area ";
156   }
157
158   typedef beam-reference {
159     type leafref {
160       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";
161     }
162     description
163       "This type is used by data models that need to reference a beam.";
164   }
165
166   typedef beam-capabilities-reference {
167     type leafref {
168       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";
169     }
170     description
171       "This type is used by data models that need to reference a beam based on capability group.";
172   }
173
174   grouping beamforming-parameters {
175     leaf max-number-of-beam-ids {
176       type uint16 {
177         range "min .. 32767";
178       }
179
180       mandatory true;
181       description
182         "Maximum number of supported Beam ID assigned to domain beamforming control";
183     }
184
185     leaf initial-beam-id {
186       type uint16 {
187         range "min .. 32767";
188       }
189       mandatory true;
190       description
191         "First Beam ID that can be used for addressing of domain beams";
192     }
193
194     description "Group of common beamforming parameters";
195   }
196
197   grouping granularity-parameters {
198     leaf frequency-granularity {
199       type enumeration {
200         enum CC {
201           description
202             "Frequency granularity: per Component Carrier";
203         }
204
205         enum BAND {
206           description
207             "Frequency granularity: per band";
208         }
209       }
210       mandatory true;
211       description "Supported time granularity of time-domain beamforming.";
212     }
213
214     leaf time-granularity {
215       type enumeration {
216         enum SLOT {
217           description
218             "Time granularity: per slot";
219         }
220
221         enum SYMBOL {
222           description
223             "Time granularity: per symbol";
224         }
225       }
226       mandatory true;
227       description "Supported time granularity of time-domain beamforming.";
228     }
229     description "";
230   }
231
232   grouping array-lists {
233     description
234       "Grouping for array lists";
235
236     leaf-list tx-array {
237       type leafref {
238         path "/up:user-plane-configuration/up:tx-arrays/up:name";
239       }
240       description "tx arrays belonging to this band number";
241     }
242     leaf-list rx-array {
243       type leafref {
244         path "/up:user-plane-configuration/up:rx-arrays/up:name";
245       }
246       description "rx arrays belonging to this band number";
247     }
248   }
249
250   grouping static-properties {
251     description
252       "Grouping for static beamforming properties";
253
254     leaf rt-bf-weights-update-support {
255       type boolean;
256       description
257         "The parameter informs if O-RU supports real time beamforming weights update through C-Plane messaging";
258     }
259
260     choice beamforming-type {
261       case frequency {
262         container frequency-domain-beams {
263           when "../rt-bf-weights-update-support = 'true'";
264           uses beamforming-parameters;
265           uses cf:bf-compression-details;
266
267           list additional-compression-method-supported {
268             uses cf:bf-compression-details;
269
270             description
271               "List of additional supported compression methods by O-RU";
272           }
273
274           description "";
275         }
276         description "Set of parameters valid for O-RU, that supports beamforming in frequency domain.";
277       }
278
279       case time {
280         container time-domain-beams {
281           when "../rt-bf-weights-update-support = 'true'";
282           uses beamforming-parameters;
283           uses granularity-parameters;
284           uses cf:bf-compression-details;
285
286           list additional-compression-method-supported {
287             uses cf:bf-compression-details;
288
289             description
290               "List of additional supported compression methods by O-RU";
291           }
292
293           description "";
294         }
295         description "Set of parameters valid for O-RU, that supports beamforming in time domain.";
296       }
297
298       case hybrid {
299         container hybrid-beams {
300           when "../rt-bf-weights-update-support = 'true'";
301           uses beamforming-parameters;
302           uses granularity-parameters;
303           uses cf:bf-compression-details;
304
305           list additional-compression-method-supported {
306             uses cf:bf-compression-details;
307
308             description
309               "List of additional supported compression methods by O-RU";
310           }
311
312           description "";
313         }
314         description "Set of parameters valid for O-RU, that supports hybrid beamforming - in both time and frequency domain.";
315       }
316       description
317         "This value indicates beamforming type supported by O-RU";
318     }
319
320     leaf number-of-beams {
321       type uint16;
322       description
323         "This value indicates the max number of beam patterns O-RU can generate
324         and apply to the signal of each O-RU port (both DL and UL).
325         This value is equivalent to the maximum number of used beam IDs.";
326     }
327     leaf p-dash {
328       type uint16;
329       description
330         "This parameters specifies the dimesionality of the time-domain beamforming operation. Refer to description of parameter p'
331         in clause 12.4.3.4.2 of CUS-Plane specification. This parameter is required to define the size of time-domain beamforming
332         vector in case of hybrid/time-domain beamforming is supported by O-RU";
333     }    
334   }
335
336   grouping beamforming-property {
337     description
338       "Grouping for beamforming property";
339
340     leaf beam-type {
341       type enumeration {
342         enum COARSE {
343           description "the beam-id corresponds to a coarse beam";
344         }
345         enum FINE {
346           description "the beam-id corresponds to a fine beam";
347         }
348       }
349       description
350         "This value indicates the beam resolution.";
351     }
352
353     leaf beam-group-id {
354       type uint16;
355       description
356         "Beams with same beamGroupsID can be transmitted simultaneously.";
357     }
358
359     leaf-list coarse-fine-beam-relation {
360       type beam-reference;
361       status deprecated;
362       description
363         "List of related coarse/fine beam.";
364     }
365
366     leaf-list neighbour-beams {
367       type beam-reference;
368       status deprecated;
369       description
370         "A list of neighbour beams which might restrict co-scheduling due
371         to interference.";
372     }
373
374     leaf-list coarse-fine-beam-capability-based-relation {
375       type beam-capabilities-reference;
376       description
377         "List of related coarse/fine beam.";
378     }
379
380     leaf-list neighbour-beams-capability-based {
381       type beam-capabilities-reference;
382       description
383         "A list of neighbour beams which might restrict co-scheduling due
384         to interference.";
385     }
386   }
387
388   grouping beamforming-properties-element {
389     description
390       "Grouping for beamforming-properties element";
391
392     leaf beam-id {
393       type uint16 {
394         range "min .. 32767";
395       }
396       description
397         "This value indicates the beam ID whose beamforming properties are
398         described in the container.";
399     }
400
401     container beamforming-property {
402       description
403         "Structure containing single set of beamforming properties.";
404
405       uses beamforming-property;
406     }
407   }
408
409   grouping band-num {
410     description
411       "Band information for the beamforming
412        related to the band number from module capabilities";
413
414     leaf band-number {
415       type leafref {
416         path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
417       }
418       description
419         "band information for the beamforming information
420          related to the band number of module capabilities";
421     }
422   }
423
424   grouping cap-group {
425     description
426       "Capabilities group grouping";
427
428     leaf capabilities-group {
429       type leafref {
430         path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
431       }
432       mandatory true;
433       description
434         "Capabilities group identification number to which it refers.";
435     }
436
437   }
438
439   grouping per-band-config-element {
440     description
441       "Grouping for per band config element";
442
443     uses band-num;
444     uses array-lists;
445
446     container static-properties {
447       description
448         "the static beamforming related information";
449
450       uses static-properties;
451     }
452
453     container beam-information {
454       description
455         "Beam information which exposes beamforming related O-RU capabilities.";
456       leaf number-of-beamforming-properties {
457         type uint16;
458         description
459           "This parameter indicates the number of beamFormingProperties entries.";
460       }
461
462       list beamforming-properties {
463         key beam-id;
464         description
465           "Array for the beamforming properties at O-RU.
466           These parameters can be used by the beamforming control by the NETCONF client.
467           'numberOfBeamformingProperties' indicates the size of the array.";
468
469         uses beamforming-properties-element;
470       }
471     }
472   }
473
474   grouping operational-properties {
475     description
476       "Grouping for operational properties";
477
478     leaf number-of-writeable-beamforming-files {
479       type uint8  {
480         range "1 .. max";
481       }
482       mandatory true;
483       description
484         "This leaf indicates the maximum number of writable beamforming files
485         containing beamweights and/or attributes that the O-RU can store, taking
486         into account the maximum number of beam-IDs as defined by 3GPP
487         TS38.214 v15.x.x";
488     }
489
490     leaf update-bf-non-delete {
491       type boolean;
492       default false;
493       description
494         "When set to TRUE, indicates that an O-RU supports the capability
495         to apply the modified beamforming weight information by using RPC
496         activate-beamforming-weight without deletion of tx-array-carriers and
497         rx-array-carriers in advance, i.e., to a deactivated carrier";
498     }
499
500     leaf persistent-bf-files {
501       type boolean;
502       default false;
503       description
504         "When set to TRUE, indicates that the O-RU supports the capability
505          to store the modified beamforming weight information file in the
506          reset persistent memory";
507     }
508   }
509
510   grouping beamforming-supported-type {
511     description
512       "Grouping for type of beamforming supported";
513
514     leaf beamforming-trough-attributes-supported {
515       type boolean;
516       config false;
517       description
518         "Informs if beamforming can be controlled providing attributes to O-RU
519           (like angles, beamwidth).";
520     }
521
522     leaf beamforming-trough-ue-channel-info-supported {
523       type boolean;
524       config false;
525       description
526         "Informs if beamforming can be controlled by UE information.";
527     }
528   }
529
530   grouping beamforming-config {
531     description
532       "Grouping for beamforming configuration";
533
534     list per-band-config {
535       key band-number;
536       config false;
537       status deprecated;
538       description "beamforming information per band";
539       uses per-band-config-element;
540     }
541
542     list capabilities-groups {
543       key capabilities-group;
544       description
545         "Capabilities groups identification number assigned to be referenced by operations
546          and notifications.
547          This also help to group particular beamforming capabilities and bind it with arrays";
548
549       leaf capabilities-group {
550         type uint16;
551         description
552           "Capabilities group identification number. Number which is used just for reference in RPC
553            and notification";
554       }
555       uses per-band-config-element;
556     }
557
558     container ue-specific-beamforming {
559       presence
560         "Indicates that the O-RU supports optional Section Type '6' Fields
561         (used for sending channel information for a specific UE)";
562       config false;
563       description
564         "Information related to support by the O-RU of Section Type 6 for
565         signalling UE-specific channel information to the O-RU";
566
567       leaf max-number-of-ues {
568         type uint8;
569         status deprecated;
570         description
571           "Indicates the maximum number of UE -specific channel information
572           data sets supported by the O-RU.
573
574           Leaf is deprecated as it only enabled a maximum of 255 UEs to be supported,
575           compared with ST5 and ST6 which supports a 15 bit value.
576
577           NETCONF client instead uses max-number-ues-15bit schema node";
578       }
579       leaf max-number-of-ues-15bit {
580         type uint16 {
581           range "1 .. 32767";
582         }
583         description
584           "Indicates the maximum number of UE -specific channel information
585           data sets supported by the O-RU,
586           It is restricted to 15 bits value because of the 15bits ueId field in ST5 and ST6";
587       }
588
589       leaf-list channel-information-compression-method-supported {
590         if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
591         type cf:ci-compression-method-def;
592         description
593            "list of channel information compression methods supported by the O-RU";
594       }
595
596       leaf dynamic-channel-information-compression-supported {
597         if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
598         type boolean;
599         description
600            "Informs if dynamic channel information compression supported by the O-RU,
601             if its value is true, the compression method and IQ bit width can be dynamic in ciCompHdr;
602             if its value is false, only static configuration compression configuration is supported, and ciCompHdr
603             shall be set to a fixed value corresponding to the static configured compression method and IQ bit width.";
604       }
605     }
606     container operational-properties {
607       if-feature MODIFY-BF-CONFIG;
608       config false;
609       description "properties for dynamic beam weight/attribute support";
610
611       uses operational-properties;
612     }
613   }
614
615   grouping beam-tilt-configuration {
616     description "grouping for beam-tilt feature";
617     list predefined-beam-tilt-offset {
618       if-feature BEAM-TILT;
619       key capabilities-group;
620       description "Configuration of the predefined-beam-tilt-offset per capabilities-group";
621       leaf capabilities-group {
622         type leafref {
623           path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
624           require-instance false;
625         }
626         mandatory true;
627         description
628           "Capabilities group identification number for which
629           the predefined-beam-tilt-offset relates to";
630       }
631       leaf elevation-tilt-offset-angle {
632         type int16 {
633           range "-90..90";
634         }
635         units degrees;
636         default 0;
637         description
638           "Value 0 represents the default service area of the predefined-beams
639           in elevation domain, i.e. no tilt offset.
640
641           Values smaller than 0 represents an up-shift of the default service area
642           towards the zenith (i.e., corresponding to a decrease in zenith angle) and
643           values larger than 0 represent a down-shift of the default service area
644           away from the zenith (i.e., corresponding to an increase in zenith angle).
645
646           If the value is greater than the maximum supported angle, then the maximum
647           angle is used for configuration.
648           If the value is less than the minimum supported angle, then the minimum
649           angle is used for configuration.
650           The actual angle used is (angle DIV granularity) * granularity.
651
652           Any O-RU which is reset using the o-ran-operations:reset RPC shall reset
653           its offset angle to its default value.";
654       }
655       leaf azimuth-tilt-offset-angle {
656         type int16 {
657           range "-90..90";
658         }
659         units degrees;
660         default 0;
661         description
662           "Value 0 represents the default service area of the predefined-beams
663           in azimuth domain, i.e., no tile offset.
664
665           Azimuth tilt offset angle, represents counter-clockwise rotation around
666           z-axis. I.e., assuming view from the UE (observation of the O-RU
667           from the front), value larger than 0 and smaller than 0
668           respectively represent right-shifted and left-shifted of the default
669           service area in azimuth domain.
670
671           If the value is greater than the maximum supported angle, then the maximum
672           angle is used for configuration.
673           If the value is less than the minimum supported angle, then the minimum
674           angle is used for configuration.
675           The actual angle used is (angle DIV granularity) * granularity.
676
677           Any O-RU which is reset using the o-ran-operations:reset RPC shall reset
678           its offset angle to its default value.";
679       }
680     }
681   }
682
683   grouping beam-tilt-state {
684     description
685       "Grouping for beam tilt state";
686
687     list predefined-beam-tilt-offset-information {
688       key capabilities-group;
689       config false;
690       description
691         "Information which exposes predefined-beam-tilt-offset related O-RU capabilities.";
692       leaf capabilities-group {
693         type leafref {
694           path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
695         }
696         mandatory true;
697         description
698           "Capabilities group identification number for which
699           the predefined-beam-tilt-offset-information relates to";
700       }
701       leaf elevation-tilt-offset-granularity {
702         type uint8 {
703           range "0..30";
704         }
705         units Degrees;
706         mandatory true;
707         description
708           "Indication of the supported granularity for the
709           predefined-beam-tilt-offset in elevation domain.
710
711           Value 0 represents that the O-RU doesn't support
712           the predefined-beam-tilt-offset in elevation domain.";
713       }
714       leaf azimuth-tilt-offset-granularity {
715         type uint8 {
716           range "0..30";
717         }
718         units Degrees;
719         mandatory true;
720         description
721           "Indication of the supported granularity for the
722           predefined-beam-tilt-offset in azimuth domain.
723
724           Value '0' represents that the O-RU doesn't support
725           the predefined-beam-tilt-offset in azimuth domain.";
726       }
727       leaf minimum-supported-elevation-tilt-offset {
728         type int16 {
729           range "-90..0";
730         }
731         units Degrees;
732         mandatory true;
733         description
734           "The minimum value which can be configured for
735           'elevation-tilt-offset-angle'.";
736       }
737       leaf maximum-supported-elevation-tilt-offset {
738         type int16 {
739           range "0..90";
740         }
741         units Degrees;
742         mandatory true;
743         description
744           "The maximum value which can be configured for
745           'elevation-tilt-offset-angle'.";
746       }
747       leaf minimum-supported-azimuth-tilt-offset {
748         type int16 {
749           range "-90..0";
750         }
751         units Degrees;
752         mandatory true;
753         description
754           "The minimum value which can be configured for
755           'azimuth-tilt-offset-angle'.";
756       }
757       leaf maximum-supported-azimuth-tilt-offset {
758         type int16 {
759           range "0..90";
760         }
761         units Degrees;
762         mandatory true;
763         description
764           "The maximum value which can be configured for
765           'azimuth-tilt-offset-angle'.";
766       }
767       leaf run-time-tilt-offset-supported {
768         type boolean;
769         mandatory true;
770         description
771           "If 'run-time-tilt-offset-supported' is FALSE, changing the values in
772           'predefined-beam-tilt-offset' for a specific band shall be allowed only
773           if all 'tx-array-carriers' and 'rx-array-carriers' corresponding
774           to the band are INACTIVE.";
775       }
776     }
777
778   }
779
780   grouping beam-tilt-report {
781     description
782       "Grouping for beam tilt report";
783
784     list predefined-beam-tilt-state {
785       key capabilities-group;
786       config false;
787       description
788         "Information which exposes state of predefined-beam-tilt-offset.";
789       leaf capabilities-group {
790         type leafref {
791           path "/o-ran-bf:beamforming-config/o-ran-bf:capabilities-groups/o-ran-bf:capabilities-group";
792         }
793         mandatory true;
794         description
795           "Capabilities group identification number for which
796           the predefined-beam-tilt-state relates to";
797       }
798       leaf elevation-tilt-offset-angle {
799         type int16 {
800           range "-90..90";
801         }
802         units Degrees;
803         mandatory true;
804         description
805           "Value 'zero' represents the default service area of the
806           predefined-beams in elevation domain.
807
808           Values smaller than 0 represents an up-shift of the default service area
809           towards the zenith (i.e., corresponding to a decrease in zenith angle) and
810           values larger than 0 represent a down-shift of the default service area
811           away from the zenith (i.e., corresponding to an increase in zenith angle).";
812       }
813       leaf azimuth-tilt-offset-angle {
814         type int16 {
815           range "-90..90";
816         }
817         units Degrees;
818         mandatory true;
819         description
820           "Value 'zero' represents the default service area of the
821           predefined-beams in azimuth domain.
822
823           Azimuth tilt offset angle, represents counter-clockwise rotation around
824           z-axis. I.e., assuming view from the UE (observation of the O-RU from
825           the front), value larger than 'zero' and smaller than 'zero'
826           respectively represent right-shifted and left-shifted of the default
827           service area in azimuth domain.";
828       }
829     }
830
831   }
832
833   container beamforming-config {
834     config false;
835     description
836       "A set of configuration data for the O-RU's beam forming functionality";
837
838     uses beamforming-config;
839     uses beamforming-supported-type;
840     container beam-tilt {
841       if-feature BEAM-TILT;
842       description "container for pre-defined beam tilt feature";
843       uses beam-tilt-state;
844       uses beam-tilt-report;
845     }
846   }
847
848
849   rpc activate-beamforming-config {
850     if-feature MODIFY-BF-CONFIG;
851     description
852       "RPC to activate beamforming config information by indicating the file
853       stored in the folder o-ran/beamforming in advance";
854     input {
855       leaf beamforming-config-file {
856         type string;
857         mandatory true;
858         description
859           "file name stored in o-ran/beamforming folder is indicated";
860       }
861
862       uses band-num;
863     }
864     output {
865       leaf status {
866         type enumeration {
867           enum ACCEPTED {
868             description "O-RU has accepted the beamforming weight/attribute file";
869           }
870           enum REJECTED {
871             description
872               "O-RU has rejected the beamforming weight/attribute file. The O-RU
873               should then use the default beamforming file.";
874           }
875         }
876         mandatory true;
877         description "Status of activation of beamforming config information";
878       }
879       leaf error-message {
880         when "../status='REJECTED'";
881         type string;
882         description
883           "Detailed error Message when the status is rejected, e.g.,
884            because new beam forming file is attempted to be applied to a
885            carrier which is still active, or the beam-id does not exist.";
886       }
887     }
888   }
889
890   rpc activate-beamforming-config-by-capability-group {
891     if-feature MODIFY-BF-CONFIG;
892     description
893       "RPC to activate beamforming config information by indicating the file
894       stored in the folder o-ran/beamforming in advance";
895     input {
896       leaf beamforming-config-file {
897         type string;
898         mandatory true;
899         description
900           "file name stored in o-ran/beamforming folder is indicated";
901       }
902
903       uses cap-group;
904     }
905     output {
906       leaf status {
907         type enumeration {
908           enum ACCEPTED {
909             description "O-RU has accepted the beamforming weight/attribute file";
910           }
911           enum REJECTED {
912             description
913               "O-RU has rejected the beamforming weight/attribute file. The O-RU
914               should then use the default beamforming file.";
915           }
916         }
917         mandatory true;
918         description "Status of activation of beamforming config information";
919       }
920       leaf error-message {
921         when "../status='REJECTED'";
922         type string;
923         description
924           "Detailed error Message when the status is rejected, e.g.,
925            because new beam forming file is attempted to be applied to a
926            carrier which is still active, or the beam-id does not exist.";
927       }
928     }
929   }
930
931
932   rpc modify-predefined-beam-tilt-offset {
933     if-feature BEAM-TILT;
934     description
935       "RPC to trigger the modification of the predefined beam tilt offset";
936     input {
937       uses beam-tilt-configuration;
938     }
939     output {
940       leaf status {
941         type enumeration {
942           enum ACCEPTED {
943             description "O-RU has accepted the predefind beamtilt offset configuration";
944           }
945           enum REJECTED {
946             description
947               "O-RU has rejected the predefind beamtilt offset configuration.";
948           }
949         }
950         mandatory true;
951         description "Status of acceptance of pre-defined beamtilt offset configuration";
952       }
953       leaf error-message {
954         when "../status='REJECTED'";
955         type string;
956         description
957           "Detailed error message when the pre-defined beam tilt configuration
958           is rejected, e.g., used when 'run-time-tilt-offset-supported' is FALSE and the
959           NETCONF client is attempting to modify the beam tilt on a band where
960           one or more array-carriers are still ACTIVE.";
961       }
962     }
963   }
964
965
966   //notification statement
967   notification beamforming-information-update {
968     uses band-num;
969     description
970       "this notification indicates that the beamforming properties are updated for particular band";
971   }
972
973   notification capability-group-beamforming-information-update {
974     uses cap-group;
975     description
976       "this notification indicates that the beamforming properties are updated for particular band
977        or capability group";
978   }
979
980   notification predefined-beam-tilt-offset-complete {
981     if-feature BEAM-TILT;
982     uses beam-tilt-report;
983     description
984       "this notification indicates that the re-generation of the predefined
985       beams is completed";
986   }
987 }