Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / o-ran / ru-fh / o-ran-laa-operations.yang
1 module o-ran-laa-operations {
2   yang-version 1.1;
3   namespace "urn:o-ran:laa-operations:1.0";
4   prefix "o-ran-laa-operations";
5
6   import o-ran-module-cap {
7     prefix "mcap";
8   }
9
10   organization "O-RAN Alliance";
11
12   contact
13     "www.o-ran.org";
14
15   description
16     "This module defines the operations for DFS measurement.
17
18     Copyright 2019 the O-RAN Alliance.
19
20     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
21     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30     POSSIBILITY OF SUCH DAMAGE.
31
32     Redistribution and use in source and binary forms, with or without
33     modification, are permitted provided that the following conditions are met:
34
35     * Redistributions of source code must retain the above copyright notice,
36     this list of conditions and the above disclaimer.
37     * Redistributions in binary form must reproduce the above copyright notice,
38     this list of conditions and the above disclaimer in the documentation
39     and/or other materials provided with the distribution.
40     * Neither the Members of the O-RAN Alliance nor the names of its
41     contributors may be used to endorse or promote products derived from
42     this software without specific prior written permission.";
43
44   revision "2019-04-01" {
45     description
46       "version 1.1.0
47
48       1) corrected error in module reference for LAA feature";
49
50     reference "ORAN-WG4.M.0-v01.00";
51   }
52
53   revision "2019-02-04" {
54     description
55       "version 1.0.0
56
57       1) imported model from xRAN
58       2) changed namespace and reference from xran to o-ran";
59
60     reference "ORAN-WG4.M.0-v01.00";
61   }
62
63   typedef band-num {
64     type enumeration {
65       enum BAND_46_SUBBAND_A {
66         description
67           "46a: 5150 MHz        -       5250 MHz";
68       }
69       enum BAND_46_SUBBAND_B {
70         description
71           "46b: 5250 MHz        -       5350 MHz";
72       }
73       enum BAND_46_SUBBAND_C {
74         description
75           "46c: 5470 MHz        -       5725 MHz";
76       }
77       enum BAND_46_SUBBAND_D1 {
78         description
79           "46d1: 5725 MHz       -       5850 MHz";
80       }
81       enum BAND_46_SUBBAND_D2 {
82         description
83           "46d2: 5850 MHz       -       5925 MHz";
84       }
85     }
86     description
87       "This value indicates the list of bands supported as per the document,
88       3GPP TS 36.104 V14.2.0 (2016-12), 'Section 5.5 Operation bands'.";
89   }
90
91   grouping band-configuration {
92     description
93       "Grouping for band configuration";
94
95     leaf band-number {
96       type band-num;
97       description
98         "This value indicates the list of bands supported as per the document,
99         3GPP TS 36.104 V14.2.0 (2016-12), 'Section 5.5 Operation bands'.";
100     }
101     leaf-list channel-center-frequency {
102       type uint16;
103       units kilohertz;
104       description
105         "This value indicates carrier center frequency in KHz";
106     }
107   }
108
109   grouping measurement-parameters {
110     description
111       "Grouping for measurement parameters";
112
113     leaf duration-per-channel {
114       type uint16;
115       units milliseconds;
116       description
117         "This value indicates measurement duration per channel in milliseconds.";
118     }
119
120     leaf maximum-response-time {
121       type uint16;
122       units seconds;
123       description
124         "This value indicates maximum response time (i.e., timer) in seconds.";
125     }
126   }
127
128   grouping channel-result-element {
129     description
130       "Grouping for channel result element";
131
132     leaf measured-channel {
133       type uint16;
134       units kilohertz;
135       description
136         "This value indicates carrier center frequency for which the result is computed in KHz.";
137     }
138
139     leaf occupancy-ratio {
140       type uint8;
141       units percent;
142       description
143         "This value indicates occupancy ratio in percentage.";
144     }
145
146     leaf average-rssi {
147       type int8;
148       units dBm;
149       description
150         "This value indicates average RSSI in dBm";
151     }
152   }
153
154   grouping band-result-element {
155     description
156       "Grouping for band result element";
157
158     leaf band-number {
159       type band-num;
160       description
161         "This value indicates the band for which the result is computed.";
162     }
163
164     leaf measurement-success {
165       type boolean;
166       description
167         "This value indicates whether the measurement is successful for the given band.";
168     }
169     leaf failure-message {
170       when "../measurement-success='false'";
171       type enumeration {
172         enum TIMEOUT {
173           description "Timed out waiting for measurement completion.";
174         }
175       }
176       description "This value indicates the detailed error message for failure of the measurement at O-RU.";
177     }
178
179     list channel-result {
180       when "../measurement-success='true'";
181       key "measured-channel";
182       description "Results for a particular channel";
183
184       uses channel-result-element;
185     }
186   }
187
188   //rpc definitions
189   rpc start-measurements {
190     if-feature mcap:LAA;
191     description "Measurements for Carrier-Selection and Dynamic Frequency Selection (DFS)";
192     input {
193       list band-config {
194         key "band-number";
195         description "Per band configuration for measurements.";
196
197         uses band-configuration;
198       }
199
200       uses measurement-parameters;
201     }
202
203     output {
204       list band-config {
205         key "band-number";
206         description "Output list for all the bands requested for measurements.";
207
208         leaf band-number {
209           type band-num;
210           description
211             "This value indicates the list of bands supported as per the document,
212             3GPP TS 36.104 V14.2.0 (2016-12), 'Section 5.5 Operation bands'.";
213         }
214         leaf-list carrier-center-frequency {
215           type uint16;
216           units kilohertz;
217           description
218             "This value indicates carrier center frequency in KHz";
219         }
220         leaf status {
221           type enumeration {
222             enum ACCEPTED {
223               description "This indicates the measurements for particular sub band is accepted at O-RU.";
224             }
225             enum REJECTED {
226               description "This indicates the measurements for particular sub band is rejected at O-RU.";
227             }
228           }
229           description "This value indicates the status of the measurement acceptance at O-RU.";
230         }
231
232         leaf error-message {
233           when "../status='REJECTED'";
234           type string;
235           description
236             "This value indicates the detailed error message for the measurement being rejected at O-RU.";
237         }
238       }
239     }
240   }
241
242   // notifications
243   notification measurement-result {
244     if-feature mcap:LAA;
245     description "Notification to provide the results of carrier selection and DFS.";
246     list band-result {
247       key "band-number";
248       description "Results for a particular sub band under band 46.";
249
250       uses band-result-element;
251     }
252   }
253 }