Fix SGNB CHANGE CONFIRM protobuf message
[ric-plt/streaming-protobufs.git] / rrc_sib.proto
1 /*
2    Copyright (c) 2019 AT&T Intellectual Property.
3    Copyright (c) 2019 Nokia.
4
5    Licensed under the Creative Commons Attribution 4.0 International
6    Public License (the "License"); you may not use this file except
7    in compliance with the License. You may obtain a copy of the License at
8
9        https://creativecommons.org/licenses/by/4.0/
10
11    Unless required by applicable law or agreed to in writing, documentation
12    distributed under the License is distributed on an "AS IS" BASIS,
13    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14    See the License for the specific language governing permissions and
15    limitations under the License.
16 */
17
18 syntax = "proto3";
19
20 package streaming_protobufs;
21
22 option go_package = "gerrit.o-ran-sc.org/r/ric-plt/streaming-protobufs";
23
24 import "google/protobuf/wrappers.proto";
25 import "rrc_common_types.proto";
26 import "common_types.proto";
27
28 /*
29    Protocol Buffer definition for System Information Blocks (SIB) messages.
30    (3GPP 38.331, ver 15.4.0)
31
32    Naming convention follows the ASN.1 field naming defined in chapters
33    '6.2.2 Message definitions' and '6.3.1 System information blocks' of below document:
34    http://www.3gpp.org/ftp//Specs/archive/38_series/38.331/38331-f40.zip
35
36    Dashes converted to underscores to make protobuf message syntax correct.
37 */
38
39 message SIB1
40 {
41     SIB1CellSelectionInfo cellSelectionInfo = 1;
42     CellAccessRelatedInfo cellAccessRelatedInfo = 2;
43     ConnEstFailureControl connEstFailureControl = 3;
44     SI_SchedulingInfo si_SchedulingInfo = 4;
45     ServingCellConfigCommonSIB servingCellConfigCommon = 5;
46     TrueOpt ims_EmergencySupport = 6;
47     TrueOpt eCallOverIMS_Support = 7;
48     UE_TimersAndConstants ue_TimersAndConstants = 8;
49     SIB1UAC_BarringInfo uac_BarringInfo = 9;
50     TrueOpt useFullResumeID = 10;
51     google.protobuf.StringValue lateNonCriticalExtension = 11;
52 }
53
54 message SIB1CellSelectionInfo
55 {
56     sint32 q_RxLevMin = 1;
57     google.protobuf.UInt32Value q_RxLevMinOffset = 2;
58     google.protobuf.Int32Value q_RxLevMinSUL = 3;
59     google.protobuf.Int32Value q_QualMin = 4;
60     google.protobuf.UInt32Value q_QualMinOffset = 5;
61 }
62
63 message SIB1UAC_BarringInfo
64 {
65     UAC_BarringPerCatList uac_BarringForCommon = 1;
66     UAC_BarringPerPLMN_List uac_BarringPerPLMN_List = 2;
67     UAC_BarringInfoSetList uac_BarringInfoSetList = 3;
68     oneof uac_AccessCategory1_SelectionAssistanceInfo {
69         UAC_AccessCategory1_SelectionAssistanceInfo plmnCommon = 4;
70         IndividualPLMNList individualPLMNList = 5;
71     }
72 }
73
74 message UAC_AccessCategory1_SelectionAssistanceInfo
75 {
76     enum Value {
77         protobuf_unspecified = 0;
78         a = 1;
79         b = 2;
80         c = 3;
81     }
82     Value value = 1;
83 }
84
85 message IndividualPLMNList
86 {
87     repeated UAC_AccessCategory1_SelectionAssistanceInfo items = 1;
88 }
89
90 message SIB2
91 {
92     SIB2CellReselectionInfoCommon cellReselectionInfoCommon = 1;
93     SIB2CellReselectionServingFreqInfo cellReselectionServingFreqInfo = 2;
94     SIB2IntraFreqCellReselectionInfo intraFreqCellReselectionInfo = 3;
95 }
96
97 message SIB2CellReselectionInfoCommon
98 {
99     google.protobuf.UInt32Value nrofSS_BlocksToAverage = 1;
100     ThresholdNR absThreshSS_BlocksConsolidation = 2;
101     Q_OffsetRange rangeToBestCell = 3;
102     Q_Hyst q_Hyst = 4;
103     SpeedStateReselectionPars speedStateReselectionPars = 5;
104 }
105
106 message Q_Hyst
107 {
108     enum Value {
109         protobuf_unspecified = 0;
110         dB0 = 1;
111         dB1 = 2;
112         dB2 = 3;
113         dB3 = 4;
114         dB4 = 5;
115         dB5 = 6;
116         dB6 = 7;
117         dB8 = 8;
118         dB10 = 9;
119         dB12 = 10;
120         dB14 = 11;
121         dB16 = 12;
122         dB18 = 13;
123         dB20 = 14;
124         dB22 = 15;
125         dB24 = 16;
126     }
127     Value value = 1;
128 }
129
130 message SpeedStateReselectionPars
131 {
132     MobilityStateParameters mobilityStateParameters = 1;
133     Q_HystSF q_HystSF = 2;
134 }
135
136 message Q_HystSF
137 {
138     SF_Medium_High sf_Medium = 1;
139     SF_Medium_High sf_High = 2;
140 }
141
142 message SF_Medium_High
143 {
144     enum Value {
145         protobuf_unspecified = 0;
146         dB_6 = 1;
147         dB_4 = 2;
148         dB_2 = 3;
149         dB0 = 4;
150     }
151     Value value = 1;
152 }
153
154 message SIB2CellReselectionServingFreqInfo
155 {
156     google.protobuf.UInt32Value s_NonIntraSearchP = 1;
157     google.protobuf.UInt32Value s_NonIntraSearchQ = 2;
158     uint32 threshServingLowP = 3;
159     google.protobuf.UInt32Value threshServingLowQ = 4;
160     uint32 cellReselectionPriority = 5;
161     CellReselectionSubPriority cellReselectionSubPriority = 6;
162 }
163
164 message CellReselectionSubPriority
165 {
166     enum Value {
167         protobuf_unspecified = 0;
168         oDot2 = 1;
169         oDot4 = 2;
170         oDot6 = 3;
171         oDot8 = 4;
172     }
173     Value value = 1;
174 }
175
176 message SIB2IntraFreqCellReselectionInfo
177 {
178     sint32 q_RxLevMin = 1;
179     google.protobuf.Int32Value q_RxLevMinSUL = 2;
180     google.protobuf.Int32Value q_QualMin = 3;
181     uint32 s_IntraSearchP = 4;
182     google.protobuf.UInt32Value s_IntraSearchQ = 5;
183     uint32 t_ReselectionNR = 6;
184     MultiFrequencyBandListNR_SIB frequencyBandList = 7;
185     MultiFrequencyBandListNR_SIB frequencyBandListSUL = 8;
186     google.protobuf.Int32Value p_Max = 9;
187     SSB_MTC smtc = 10;
188     SS_RSSI_Measurement ss_RSSI_Measurement = 11;
189     SSB_ToMeasure ssb_ToMeasure = 12;
190     bool deriveSSB_IndexFromCell = 13;
191     SpeedStateScaleFactors t_ReselectionNR_SF = 14;
192 }
193
194 message SpeedStateScaleFactors
195 {
196     SpeedStateScaleFactorsSF_Medium_High sf_Medium = 1;
197     SpeedStateScaleFactorsSF_Medium_High sf_High = 2;
198 }
199
200 message SpeedStateScaleFactorsSF_Medium_High
201 {
202     enum Value {
203         protobuf_unspecified = 0;
204         oDot25 = 1;
205         oDot5 = 2;
206         oDot75 = 3;
207         lDot0 = 4;
208     }
209     Value value = 1;
210 }
211
212 message SIB3
213 {
214     IntraFreqNeighCellList intraFreqNeighCellList = 1;
215     IntraFreqBlackCellList intraFreqBlackCellList = 2;
216     google.protobuf.StringValue lateNonCriticalExtension = 3;
217 }
218
219 message IntraFreqNeighCellList
220 {
221     repeated IntraFreqNeighCellInfo items = 1;
222 }
223
224 message IntraFreqNeighCellInfo
225 {
226     uint32 physCellId = 1;
227     Q_OffsetRange  q_OffsetCell = 2;
228     google.protobuf.UInt32Value q_RxLevMinOffsetCell = 3;
229     google.protobuf.UInt32Value q_RxLevMinOffsetCellSUL = 4;
230     google.protobuf.UInt32Value q_QualMinOffsetCell = 5;
231 }
232
233 message IntraFreqBlackCellList
234 {
235     repeated PCI_Range items = 1;
236 }
237
238 message SIB4
239 {
240     InterFreqCarrierFreqList interFreqCarrierFreqList = 1;
241     google.protobuf.StringValue lateNonCriticalExtension = 2;
242 }
243
244 message InterFreqCarrierFreqList
245 {
246     repeated InterFreqCarrierFreqInfo items = 1;
247 }
248
249 message InterFreqCarrierFreqInfo
250 {
251     uint32 dl_CarrierFreq = 1;
252     MultiFrequencyBandListNR_SIB frequencyBandList = 2;
253     MultiFrequencyBandListNR_SIB frequencyBandListSUL = 3;
254     google.protobuf.UInt32Value nrofSS_BlocksToAverage = 4;
255     ThresholdNR absThreshSS_BlocksConsolidation = 5;
256     SSB_MTC smtc = 6;
257     SubcarrierSpacing ssbSubcarrierSpacing = 7;
258     SSB_ToMeasure ssb_ToMeasure = 8;
259     bool deriveSSB_IndexFromCell = 9;
260     SS_RSSI_Measurement ss_RSSI_Measurement = 10;
261     sint32 q_RxLevMin = 11;
262     google.protobuf.Int32Value q_RxLevMinSUL = 12;
263     google.protobuf.Int32Value q_QualMin = 13;
264     google.protobuf.Int32Value p_Max = 14;
265     uint32 t_ReselectionNR = 15;
266     SpeedStateScaleFactors t_ReselectionNR_SF = 16;
267     uint32 threshX_HighP = 17;
268     uint32 threshX_LowP = 18;
269     InterFreqCarrierFreqInfoThreshX_Q threshX_Q = 19;
270     google.protobuf.UInt32Value cellReselectionPriority = 20;
271     CellReselectionSubPriority cellReselectionSubPriority = 21;
272     Q_OffsetRange q_OffsetFreq = 22;
273     InterFreqNeighCellList interFreqNeighCellList = 23;
274     InterFreqBlackCellList interFreqBlackCellList = 24;
275 }
276
277 message InterFreqCarrierFreqInfoThreshX_Q
278 {
279     uint32 threshX_HighQ = 1;
280     uint32 threshX_LowQ = 2;
281 }
282
283 message InterFreqNeighCellList
284 {
285     repeated InterFreqNeighCellInfo items = 1;
286 }
287
288 message InterFreqNeighCellInfo
289 {
290     uint32 physCellId = 1;
291     Q_OffsetRange q_OffsetCell = 2;
292     google.protobuf.UInt32Value q_RxLevMinOffsetCell = 3;
293     google.protobuf.UInt32Value q_RxLevMinOffsetCellSUL = 4;
294     google.protobuf.UInt32Value q_QualMinOffsetCell = 5;
295 }
296
297 message InterFreqBlackCellList
298 {
299     repeated PCI_Range items = 1;
300 }
301
302 message SIB5
303 {
304     CarrierFreqListEUTRA carrierFreqListEUTRA = 1;
305     uint32 t_ReselectionEUTRA = 2;
306     SpeedStateScaleFactors t_ReselectionEUTRA_SF = 3;
307     google.protobuf.StringValue lateNonCriticalExtension = 4;
308 }
309
310 message CarrierFreqListEUTRA
311 {
312     repeated CarrierFreqEUTRA items = 1;
313 }
314
315 message CarrierFreqEUTRA
316 {
317     uint32 carrierFreq = 1;
318     EUTRA_MultiBandInfoList eutra_multiBandInfoList = 2;
319     EUTRA_FreqNeighCellList eutra_FreqNeighCellList = 3;
320     EUTRA_FreqBlackCellList eutra_BlackCellList = 4;
321     EUTRA_AllowedMeasBandwidth allowedMeasBandwidth = 5;
322     bool presenceAntennaPort1 = 6;
323     google.protobuf.UInt32Value cellReselectionPriority = 7;
324     CellReselectionSubPriority cellReselectionSubPriority = 8;
325     uint32 threshX_High = 9;
326     uint32 threshX_Low = 10;
327     sint32 q_RxLevMin = 11;
328     sint32 q_QualMin = 12;
329     sint32 p_MaxEUTRA = 13;
330     CarrierFreqEUTRAThreshX_Q threshX_Q = 14;
331 }
332
333 message EUTRA_FreqNeighCellList
334 {
335     repeated EUTRA_FreqNeighCellInfo items = 1;
336 }
337
338 message EUTRA_FreqBlackCellList
339 {
340     repeated EUTRA_PhysCellIdRange items = 1;
341 }
342
343 message EUTRA_FreqNeighCellInfo
344 {
345     uint32 physCellId = 1;
346     EUTRA_Q_OffsetRange q_OffsetCell = 2;
347     google.protobuf.UInt32Value q_RxLevMinOffsetCell = 3;
348     google.protobuf.UInt32Value q_QualMinOffsetCell = 4;
349 }
350
351 message CarrierFreqEUTRAThreshX_Q
352 {
353     uint32 threshX_HighQ = 1;
354     uint32 threshX_LowQ = 2;
355 }
356
357 message SIB6
358 {
359     string messageIdentifier = 1;
360     string serialNumber = 2;
361     string warningType = 3;
362     google.protobuf.StringValue lateNonCriticalExtension = 4;
363 }
364
365 message SIB7
366 {
367     enum WarningMessageSegmentType {
368         protobuf_unspecified = 0;
369         notLastSegment = 1;
370         lastSegment = 2;
371     }
372
373     string messageIdentifier = 1;
374     string serialNumber = 2;
375     WarningMessageSegmentType warningMessageSegmentType = 3;
376     uint32 warningMessageSegmentNumber = 4;
377     string warningMessageSegment = 5;
378     google.protobuf.StringValue dataCodingScheme = 6;
379     google.protobuf.StringValue lateNonCriticalExtension = 7;
380 }
381
382 message SIB8
383 {
384     enum WarningMessageSegmentType {
385         protobuf_unspecified = 0;
386         notLastSegment = 1;
387         lastSegment = 2;
388     }
389
390     string messageIdentifier = 1;
391     string serialNumber = 2;
392     WarningMessageSegmentType warningMessageSegmentType = 3;
393     uint32 warningMessageSegmentNumber = 4;
394     string warningMessageSegment = 5;
395     google.protobuf.StringValue dataCodingScheme = 6;
396     google.protobuf.StringValue warningAreaCoordinatesSegment = 7;
397     google.protobuf.StringValue lateNonCriticalExtension = 8;
398 }
399
400 message SIB9
401 {
402     SIB9TimeInfo timeInfo = 1;
403     google.protobuf.StringValue lateNonCriticalExtension = 2;
404 }
405
406 message SIB9TimeInfo
407 {
408     uint64 timeInfoUTC = 1;
409     google.protobuf.StringValue dayLightSavingTime = 2;
410     google.protobuf.Int32Value leapSeconds = 3;
411     google.protobuf.Int32Value localTimeOffset = 4;
412 }