Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-antenna-calibration@2021-12-01.yang
1 module o-ran-antenna-calibration {
2   yang-version 1.1;
3   namespace "urn:o-ran:antcal:1.0";
4   prefix "o-ran-antcal";
5
6   organization "O-RAN Alliance";
7
8   contact
9     "www.o-ran.org";
10
11   description
12     "This module defines the configuration required for supporting the optional
13     antenna calibration functionality.
14
15      Copyright 2021 the O-RAN Alliance.
16
17      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
18      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19      IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20      ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21      LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22      CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23      SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24      INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25      CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27      POSSIBILITY OF SUCH DAMAGE.
28
29      Redistribution and use in source and binary forms, with or without
30      modification, are permitted provided that the following conditions are met:
31
32      * Redistribution of source code must retain the above copyright notice,
33      this list of conditions and the above disclaimer.
34      * Redistribution in binary form must reproduce the above copyright notice,
35      this list of conditions and the above disclaimer in the documentation
36      and/or other materials provided with the distribution.
37      * Neither the Members of the O-RAN Alliance nor the names of its
38      contributors may be used to endorse or promote products derived from
39      this software without specific prior written permission.";
40
41   revision 2021-12-01 {
42    description
43      "version 7.1.0
44
45        1) typographical corrections in descriptions.";
46
47    reference "ORAN-WG4.MP-v07.00";
48   }
49
50   revision 2021-07-26 {
51     description
52       "version 7.0.0
53
54         1) O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE is added as optional feature
55         to provide support for multiple antenna calibration time resources configurations.
56         2) Flag for O-DU to control if O-RU is allowed to support this feature
57         'coordinated-calibration-multiple-time-resources-allowed'
58         3) defined grouping 'antenna-calibration-multiple-time-resource' from which list
59         for supporting multiple antenna calibration time resource configuration is supported.
60         4) created new container 'antenna-calibration-multiple-time-resource' with list
61         'antenna-calibration-multiple-time-resource-list' and key to index the list
62         'antenna-calibration-time-resource-index'.
63         5) added new notification 'antenna-calibration-multiple-time-resource-params' with
64         'antenna-calibration-time-resource-index' as a leaf to indicate index of time resource
65         6) Added support for configured preparedness timer for co-ordinated calibration";
66
67     reference "ORAN-WG4.MP-v07.00";
68   }
69
70    revision 2021-03-22 {
71      description
72        "version 5.1.0
73
74         1) removing non-ASCII characters in model.";
75
76      reference "ORAN-WG4.MP-v05.00";
77    }
78
79
80   revision 2020-12-10 {
81     description
82       "version 5.0.0
83
84        1) O-RU-COORDINATED-ANT-CAL is added as optional feature
85        to provide the antenna calibration without RPC
86        on the condition that coordinated-calibration-support is true
87        and coordinated-calibration-allowed is true.";
88
89     reference "ORAN-WG4.MP-v05.00";
90   }
91
92   revision 2019-07-03 {
93     description
94       "version 1.0.0
95
96        1) Newly introduced model for supporting optional
97        antenna calibration functionality";
98
99     reference "ORAN-WG4.MP-v02.00";
100   }
101
102   feature O-RU-COORDINATED-ANT-CAL {
103     description
104       "Indicates that the O-RU needs user traffic to be co-ordinated from O-DU for antenna calibration.";
105   }
106
107   feature O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE {
108     description
109       "Indicates O-RU support for antenna calibration with multiple timing resource sets. Refer Section
110       'Calibration with multiple timing resource sets' of M-Plane specification v7";
111   }
112
113   grouping antenna-calibration-capabilities {
114     description "container for collection of leafs for antenna calibration";
115
116     leaf self-calibration-support {
117       type boolean;
118       default false;
119       description
120         "Indicates whether O-RU supports self-calibration or not.
121
122         When true, indicates O-RU can initiate calibration without receiving an
123         RPC and/or impacting simultaneous CU-plane operation";
124     }
125     leaf coordinated-calibration-support {
126       if-feature O-RU-COORDINATED-ANT-CAL;
127       type boolean;
128       default false;
129       description
130         "True means the O-RU is able to determine priori the time-frequency
131          resources required for self-calibration and indicate those to the O-DU
132          in the antenna-calibration-coordinated notification.";
133     }
134     leaf number-of-calibration-symbols-per-block-dl {
135       type uint8 {
136         range "1..max";
137       }
138       units symbols;
139       mandatory true;
140       description
141         "Indicates how many consecutive symbols are required for DL antenna
142         calibration operation";
143     }
144     leaf number-of-calibration-symbols-per-block-ul {
145       type uint8 {
146         range "1..max";
147       }
148       units symbols;
149       mandatory true;
150       description
151         "Indicates how many consecutive symbols are required for UL antenna
152         calibration operation";
153     }
154     leaf interval-between-calibration-blocks {
155       type uint8;
156       units symbols;
157       description
158         "if time interval is required between consecutive antenna calibration
159         operation, defines this time value as unit of symbols.
160
161         A common value is used here for the intervals
162         between DL-DL blocks, UL-UL blocks, DL-UL blocks and UL-DL blocks,
163         which is the largest minimum interval required between any two adjacent
164         calibration blocks.";
165     }
166     leaf number-of-calibration-blocks-per-step-dl {
167       type uint8 {
168         range "1..max";
169       }
170       mandatory true;
171       description
172         "Indicates how many blocks are required for one step of DL antenna
173         calibration operation";
174     }
175     leaf number-of-calibration-blocks-per-step-ul {
176       type uint8 {
177         range "1..max";
178       }
179       mandatory true;
180       description
181         "Indicates how many blocks are required for one step of UL antenna
182         calibration operation";
183     }
184     leaf interval-between-calibration-steps {
185       type uint8;
186       units radio-frames;
187       description
188         "If time interval is required between consecutive step of antenna
189         calibration operation, defines this time value as unit of radio frames";
190     }
191     leaf number-of-calibration-steps {
192       type uint8 {
193         range "1..max";
194       }
195       mandatory true;
196       description
197         "Indicates how many steps are required for whole DL/UL antenna
198         calibration operation";
199     }
200     leaf calibration-period {
201        if-feature O-RU-COORDINATED-ANT-CAL;
202        type uint16;
203        units minutes;
204        description "periodical interval between antenna calibrations in the case of support of feature O-RU-COORDINATED-ANT-CAL";
205     }
206     leaf configured-preparation-timer-supported {
207       if-feature O-RU-COORDINATED-ANT-CAL;
208       type boolean;
209       default false;
210       description
211         "indicates if the O-RU supports configuration of the preparedness timer
212         that controls how far in advance of the co-ordinated self calibration
213         procedure the O-RU is required to send the notification of impacted
214         resources.";
215     }
216   }
217
218   grouping antenna-calibration-multiple-time-resource {
219     description
220       "Grouping for collection of leafs for antenna calibration capability of O-RU supporting
221       multiple time resource when feature O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE
222       is supported in the O-RU";
223
224     leaf number-of-calibration-symbols-per-block-dl {
225       type uint8 {
226         range "1..max";
227       }
228       units symbols;
229       mandatory true;
230       description
231         "Indicates how many consecutive symbols are required for DL antenna
232         calibration operation";
233     }
234     leaf number-of-calibration-symbols-per-block-ul {
235       type uint8 {
236         range "1..max";
237       }
238       units symbols;
239       mandatory true;
240       description
241         "Indicates how many consecutive symbols are required for UL antenna
242         calibration operation";
243     }
244     leaf interval-between-calibration-blocks {
245       type uint8;
246       units symbols;
247       description
248         "if time interval is required between consecutive antenna calibration
249         operation, defines this time value as unit of symbols.
250
251         A common value is used here for the intervals
252         between DL-DL blocks, UL-UL blocks, DL-UL blocks and UL-DL blocks,
253         which is the largest minimum interval required between any two adjacent
254         calibration blocks.";
255     }
256     leaf number-of-calibration-blocks-per-step-dl {
257       type uint8 {
258         range "1..max";
259       }
260       mandatory true;
261       description
262         "Indicates how many blocks are required for one step of DL antenna
263         calibration operation";
264     }
265     leaf number-of-calibration-blocks-per-step-ul {
266       type uint8 {
267         range "1..max";
268       }
269       mandatory true;
270       description
271         "Indicates how many blocks are required for one step of UL antenna
272         calibration operation";
273     }
274     leaf interval-between-calibration-steps {
275       type uint8;
276       units radio-frames;
277       description
278         "If time interval is required between consecutive step of antenna
279         calibration operation, defines this time value as unit of radio frames";
280     }
281     leaf number-of-calibration-steps {
282       type uint8 {
283         range "1..max";
284       }
285       mandatory true;
286       description
287         "Indicates how many steps are required for whole DL/UL antenna
288         calibration operation";
289     }
290     leaf calibration-period {
291        if-feature O-RU-COORDINATED-ANT-CAL;
292        type uint16;
293        units minutes;
294        description "periodical interval between antenna calibrations in the case of support of feature O-RU-COORDINATED-ANT-CAL";
295     }
296   }
297
298   grouping antenna-calibration {
299     container antenna-calibration-capabilities {
300       config false;
301       description
302         "Describes the antenna calibration capabilities";
303         uses antenna-calibration-capabilities;
304     }
305     container self-calibration-policy {
306       leaf self-calibration-allowed {
307         type boolean;
308         default false;
309         description
310           "whether the self-calibration is allowed by operator.
311           Note, self-calibration-allowed and coordinated-calibration-allowed cannot both be set to true";
312       }
313       leaf coordinated-calibration-allowed {
314         if-feature O-RU-COORDINATED-ANT-CAL;
315         type boolean;
316         must "../self-calibration-allowed = 'false'";
317         default false;
318         description
319           "whether the coordinated-calibration is allowed by operator.
320
321           True means that O-DU may beneficially use the indicated time-frequency resources
322           to adapt its operation during the antenna calibration operation,
323           e.g., consider the time-frequency resources as reserved for calibration.
324           Both calibrations (self-calibration-allowed and coordinated-calibration-support) disallowed
325           or one of them allowed only";
326       }
327       leaf coordinated-ant-calib-prep-timer {
328         if-feature O-RU-COORDINATED-ANT-CAL;
329         type uint8 {
330           range "2..10|60";
331         }
332         units seconds;
333         must "../coordinated-calibration-allowed = 'true'";
334         default 60;
335         description
336           "minimum time between O-RU sending notification of time-frequeny resources
337           for co-ordinated calibration to O-DU and O-RU starting co-ordinated
338           self-calibration procedure.
339
340           Note, the default value of 60 seconds is to accommodate earlier versions
341           which hard coded that value in the O-RAN.WG4.MP.0 specification.
342
343           An O-RU that has set configured-preparation-timer-supported=false shall
344           always use the default value of 60 seconds";
345       }
346       leaf coordinated-calibration-multiple-time-resources-allowed {
347         if-feature "O-RU-COORDINATED-ANT-CAL and O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE";
348         type boolean;
349         default false;
350         description
351           "TRUE: O-RU is allowed to request for this calibration, FALSE: O-RU is prohibited to use this calibration";
352       }
353       description
354         "Describes the self calibration policies and configuration of the operator";
355     }
356
357     container antenna-calibration-multiple-time-resource {
358       if-feature "O-RU-COORDINATED-ANT-CAL and O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE";
359       config false;
360       list antenna-calibration-multiple-time-resource-list {
361         key "antenna-calibration-time-resource-index";
362         uses antenna-calibration-multiple-time-resource;
363
364         leaf antenna-calibration-time-resource-index {
365           type uint8;
366           description
367             "Key for indexing 'antenna-calibration-multiple-time-resource-list'";
368         }
369         description
370           "List of antenna calibration time resource configuration indexed by
371           antenna calibration time resource index";
372       }
373       description
374         "Container to support multiple antenna calibration resource sets by defining
375         multiple calibration resources sets for different calibration types.";
376     }
377
378     description
379       "Describe the grouping set of antenna calibration";
380   }
381
382   grouping antenna-calibration-data {
383      description "information set for the operation of antenna calibration";
384
385      leaf symbol-bitmask-dl {
386         type string {
387           length "14";
388           pattern "[01]*";
389         }
390         mandatory true;
391         description
392           "Bit-mask indicating DL calibration symbol within a calibration slot.
393            First character in the string indicate first symbol,
394            next character in the string indicate second symbol and so on.
395            Value 1 indicates that the symbol may be used for calibration
396            and 0 means the symbol shall not be used for calibration.";
397       }
398       leaf symbol-bitmask-ul {
399         type string {
400           length "14";
401           pattern "[01]*";
402         }
403         mandatory true;
404         description
405           "Bit-mask indicating UL calibration symbol within a calibration slot.
406            First character in the string indicate first symbol,
407            next character in the string indicate second symbol and so on.
408            Value 1 indicates that the symbol may be used for calibration
409            and 0 means the symbol shall not be used for calibration.";
410       }
411       leaf slot-bitmask-dl {
412         type string {
413           length "10..255";
414           pattern "[01]*";
415         }
416         mandatory true;
417         description
418           "Bit-mask indicating DL calibration slot within a calibration frame.
419            First character in the string indicate first slot,
420            next character in the string indicate second slot and so on.
421            Value 1 indicates that the slot may be used for calibration
422            and 0 means the slot shall not be used for calibration.";
423         }
424         leaf slot-bitmask-ul {
425           type string {
426             length "10..255";
427             pattern "[01]*";
428           }
429           mandatory true;
430           description
431             "Bit-mask indicating UL calibration slot within a calibration frame.
432              First character in the string indicate first slot,
433              next character in the string indicate second slot and so on.
434              Value 1 indicates that the slot may be used for calibration
435              and 0 means the slot shall not be used for calibration.";
436         }
437         leaf frame-bitmask-dl {
438           type string {
439             length "1..255";
440             pattern "[01]*";
441           }
442           mandatory true;
443           description
444             "Bit-mask indicating DL calibration frame within a calibration step.
445              First character in the string indicate first radio frame equal to
446              the start-SFN, next character in the string indicate the next frame
447              and so on.
448
449              Value 1 indicates that the frame may be used for calibration
450              and 0 means the frame shall not be used for calibration.";
451         }
452         leaf frame-bitmask-ul {
453           type string {
454             length "1..255";
455             pattern "[01]*";
456           }
457           mandatory true;
458           description
459             "Bit-mask indicating UL calibration frame within a calibration step.
460              First character in the string indicate first radio frame equal to
461              the start-SFN, next character in the string indicate the next frame
462              and so on.
463
464              Value 1 indicates that the frame is may be used for calibration
465              and 0 means the frame shall not be used for calibration.";
466         }
467         leaf calibration-step-size {
468           type uint8;
469           mandatory true;
470           description " Number of frames within a calibration step";
471         }
472         leaf calibration-step-number {
473           type uint8;
474           mandatory true;
475           description "Number of calibration steps";
476         }
477         leaf start-sfn {
478           type uint16 {
479             range "0..1023";
480           }
481           mandatory true;
482           description "start SFN number of the first calibration step";
483         }
484   }
485
486   container antenna-calibration {
487     uses antenna-calibration;
488     description
489       "Describes the antenna calibration top node";
490   }
491
492   rpc start-antenna-calibration {
493     description
494       "The antenna calibration operation can start when NETCONF client sends a
495       calibration start command with resource allocation parameters.
496       These parameters indicate how the O-RU can perform the antenna
497       calibration operation; at which Symbol, Slot, and Frame.
498       This scheduling information can be generated by O-RU itself.
499       However, in a dynamic TDD environment, the DL and UL configuration
500       is only determined and known by O-DU. Consequently, only O-DU (NETCONF
501       client ) can determine and configure the scheduling and resource
502       allocation permitted for use by the antenna calibration operation";
503     input  {
504        uses antenna-calibration-data;
505     }
506     output  {
507       leaf status {
508         type enumeration {
509           enum ACCEPTED {
510             description
511               "Status information to indicate that O-RU accepted RPC
512               antenna calibration start request";
513           }
514           enum REJECTED {
515             description
516               "Status information to indicate that O-RU rejected RPC antenna
517               calibration start request";
518           }
519         }
520         mandatory true;
521         description
522           "Status of whether antenna calibration trigger by RPC is accepted
523           by the O-RU";
524       }
525       leaf error-message {
526         when "../status='REJECTED'";
527           type string;
528           description
529             "Detailed error Message when the status is rejected, e.g.,
530              because O-RU can not start antenna calibration
531              such as already running antenna calibration,
532              resource mask mismatch with O-RU antenna calibration capability,
533              overlapped DL and UL masks, insufficient memory, O-RU internal reason";
534       }
535     }
536   }
537
538   notification antenna-calibration-required {
539     list dl-calibration-frequency-chunk {
540       leaf start-calibration-frequency-dl {
541         type uint64;
542         description
543           "lowest frequency value in Hz of the frequency range is required for
544            DL antenna calibration operation.";
545       }
546       leaf end-calibration-frequency-dl {
547         type uint64;
548         description
549           "highest frequency value in Hz of the frequency range is required for
550            DL antenna calibration operation.";
551       }
552       description
553          "min/max frequency of DL spectrum chunk affected by calibration process";
554     }
555     list ul-calibration-frequency-chunk {
556       leaf start-calibration-frequency-ul {
557         type uint64;
558         description
559           "lowest frequency value in Hz of the frequency range is required for
560            UL antenna calibration operation.";
561       }
562       leaf end-calibration-frequency-ul {
563         type uint64;
564         description
565           "highest frequency value in Hz of the frequency range is required for
566            UL antenna calibration operation.";
567       }
568       description
569         "min/max frequency of UL spectrum chunk affected by calibration process";
570     }
571
572     description
573       "this notification indicates that the antenna calibration is required in O-RU";
574   }
575
576   notification antenna-calibration-coordinated {
577     if-feature O-RU-COORDINATED-ANT-CAL;
578     list dl-calibration-frequency-chunk {
579       leaf start-calibration-frequency-dl {
580         type uint64;
581         description
582           "lowest frequency value in Hz of the frequency range is required for
583            DL antenna calibration operation.";
584       }
585       leaf end-calibration-frequency-dl {
586         type uint64;
587         description
588           "highest frequency value in Hz of the frequency range is required for
589            DL antenna calibration operation.";
590       }
591       description
592          "min/max frequency of DL spectrum chunk affected by calibration process";
593     }
594     list ul-calibration-frequency-chunk {
595       leaf start-calibration-frequency-ul {
596         type uint64;
597         description
598           "lowest frequency value in Hz of the frequency range is required for
599            UL antenna calibration operation.";
600       }
601       leaf end-calibration-frequency-ul {
602         type uint64;
603         description
604           "highest frequency value in Hz of the frequency range is required for
605            UL antenna calibration operation.";
606       }
607       description
608         "min/max frequency of UL spectrum chunk affected by calibration process";
609     }
610     uses antenna-calibration-data {
611       description
612         "In the case of support of feature O-RU-COORDINATED-ANT-CAL,
613          time-frequency resource determined by O-RU will be included";
614     }
615
616     description
617       "this notification indicates that co-ordinated antenna calibration is provided in O-RU.
618        It indicates the time-frequency resources will be sent to a subscribed O-DU at least 60 seconds
619        before the operation of the co-ordinated antenna calibration procedure.";
620   }
621
622   notification antenna-calibration-result {
623     leaf status {
624       type enumeration {
625         enum SUCCESS {
626           description "O-RU has succeeded in calibrating its antenna";
627         }
628         enum FAILURE {
629           description
630             "O-RU attemted to calibrate its antenna, but the procedure failed.";
631         }
632       }
633       mandatory true;
634       description
635         "Status of the antenna calibration procedure which has been triggered
636         by accepting an start-antenna-calibration RPC.";
637     }
638     leaf detailed-reason {
639       when "../status='FAILURE'";
640       type string;
641       description
642         "Detailed reason when the status is FAILURE, e.g.,
643         O-RU cannot complete the antenna calibration
644         because of lack of memory, self-calibration failure, etc";
645     }
646     description
647     "This notification indicates the antenna calibration result";
648   }
649
650   notification antenna-calibration-multiple-time-resource-params {
651     if-feature "O-RU-COORDINATED-ANT-CAL and O-RU-COORDINATED-ANT-CAL-MULTIPLE-TIME-RESOURCE";
652     leaf antenna-calibration-time-resource-index {
653       type uint8;
654       description
655         "Index to use applicable antenna calibration time resources from the
656         list 'antenna-calibration-multiple-time-resource-list'";
657    }
658    list dl-calibration-frequency-chunk {
659       leaf start-calibration-frequency-dl {
660         type uint64;
661         description
662           "lowest frequency value in Hz of the frequency range is required for
663            DL antenna calibration operation.";
664       }
665       leaf end-calibration-frequency-dl {
666         type uint64;
667         description
668           "highest frequency value in Hz of the frequency range is required for
669            DL antenna calibration operation.";
670       }
671       description
672          "min/max frequency of DL spectrum chunk affected by calibration process";
673     }
674     list ul-calibration-frequency-chunk {
675       leaf start-calibration-frequency-ul {
676         type uint64;
677         description
678           "lowest frequency value in Hz of the frequency range is required for
679            UL antenna calibration operation.";
680       }
681       leaf end-calibration-frequency-ul {
682         type uint64;
683         description
684           "highest frequency value in Hz of the frequency range is required for
685            UL antenna calibration operation.";
686       }
687       description
688         "min/max frequency of UL spectrum chunk affected by calibration process";
689     }
690
691    description
692     "This notification indicates sending parameters related to supporting antenna calibration
693     with multiple time resource";
694   }
695 }