1754a5a3636d839afe314e5ed9776b3f22e3a139
[ric-plt/streaming-protobufs.git] / x2ap_common_types.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 "error_cause.proto";
26
27 /*
28    Protocol Buffer definitions for ASN.1 X2AP Information Element (IE) types what are used
29    commonly in Protocol Buffer files of X2AP messages.
30
31    Naming conversion of X2AP IEs follows the naming defined in 3GPP 36.423 version 15.4.0)
32    specification.
33
34    http://www.3gpp.org/ftp//Specs/archive/36_series/36.423/36423-f40.zip
35
36    Dashes converted to underscores to make protobuf message syntax correct.
37
38    DO NOT USE x2ap_common_types.proto FILE FOR TYPE DEFINITIONS:
39    a) What are ONLY used in RRC messages (RRC messages are defined in 3GPP 38.331
40       specification), instead put those types to rrc_common_types.proto file.
41    b) What are used BOTH in RRC and X2AP messages (RRC messages are defined in 3GPP 38.331
42       specification), instead put those types to common_types.proto file.
43 */
44
45
46 message EN_DC_ResourceConfiguration
47 {
48     enum Status {
49         protobuf_unspecified = 0;
50         present = 1;
51         not_present = 2;
52     }
53     Status pDCPatSgNB = 1;
54     Status mCGresources = 2;
55     Status sCGresources = 3;
56 }
57
58 message E_RAB_Level_QoS_Parameters
59 {
60     uint32 qCI = 1;
61     AllocationAndRetentionPriority allocationAndRetentionPriority = 2;
62     GBR_QosInformation gbrQosInformation = 3;
63     repeated E_RAB_Level_QoS_Parameters_ExtIEs iE_Extensions = 4;
64 }
65
66 message AllocationAndRetentionPriority
67 {
68     uint32 priorityLevel = 1;
69     Pre_emptionCapability pre_emptionCapability = 2;
70     Pre_emptionVulnerability pre_emptionVulnerability = 3;
71 }
72
73 message Pre_emptionVulnerability
74 {
75     enum Value {
76         protobuf_unspecified = 0;
77         not_pre_emptable = 1;
78         pre_emptable = 2;
79     }
80     Value value = 1;
81 }
82
83 message Pre_emptionCapability
84 {
85     enum Value {
86         protobuf_unspecified = 0;
87         shall_not_trigger_pre_emption = 1;
88         may_trigger_pre_emption = 2;
89     }
90     Value value = 1;
91 }
92
93 message E_RAB_Level_QoS_Parameters_ExtIEs
94 {
95     google.protobuf.UInt32Value id_DownlinkPacketLossRate = 1;
96     google.protobuf.UInt32Value id_UplinkPacketLossRate = 2;
97 }
98
99 message GBR_QosInformation
100 {
101     uint64 e_RAB_MaximumBitrateDL = 1;
102     uint64 e_RAB_MaximumBitrateUL = 2;
103     uint64 e_RAB_GuaranteedBitrateDL = 3;
104     uint64 e_RAB_GuaranteedBitrateUL = 4;
105     repeated GBR_QosInformation_ExtIEs iE_Extensions = 5;
106 }
107
108 message GBR_QosInformation_ExtIEs
109 {
110     google.protobuf.UInt64Value id_extended_e_RAB_MaximumBitrateDL = 1;
111     google.protobuf.UInt64Value id_extended_e_RAB_MaximumBitrateUL = 2;
112     google.protobuf.UInt64Value id_extended_e_RAB_GuaranteedBitrateDL = 3;
113     google.protobuf.UInt64Value id_extended_e_RAB_GuaranteedBitrateUL = 4;
114 }
115
116 message GlobalGNB_ID
117 {
118     string pLMN_Identity = 1;
119     GNB_ID gNB_ID = 2;
120     repeated GlobalGNB_ID_ExtIEs iE_Extensions = 3;
121 }
122
123 message GNB_ID
124 {
125     oneof c {
126         string gNB_ID = 1;
127     }
128 }
129
130 message GlobalGNB_ID_ExtIEs
131 {
132 }
133
134 message GTPtunnelEndpoint
135 {
136     string transportLayerAddress = 1;
137     string gTP_TEID = 2;
138     repeated GTPtunnelEndpoint_ExtIEs iE_Extensions = 3;
139 }
140
141 message GTPtunnelEndpoint_ExtIEs
142 {
143 }
144
145 message RLCMode
146 {
147     enum Value {
148         protobuf_unspecified = 0;
149         rlc_am = 1;
150         rlc_um_bidirectional = 2;
151         rlc_um_unidirectional_ul = 3;
152         rlc_um_unidirectional_dl = 4;
153     }
154     Value value = 1;
155 }
156
157 message RLC_Status
158 {
159     enum Reestablishment_Indication {
160         protobuf_unspecified = 0;
161         reestablished = 1;
162     }
163
164     Reestablishment_Indication reestablishment_Indication = 1;
165 }
166
167 message ULConfiguration
168 {
169     enum UL_UE_Configuration {
170         protobuf_unspecified = 0;
171         no_data = 1;
172         shared = 2;
173         only = 3;
174     }
175     UL_UE_Configuration uL_PDCP = 1;
176 }
177
178 message PDCPSnLength
179 {
180     enum Value {
181         protobuf_unspecified = 0;
182         twelve_bits = 1;
183         eighteen_bits = 2;
184     }
185     Value value = 1;
186 }
187
188 message PDCPChangeIndication
189 {
190     enum Value {
191         protobuf_unspecified = 0;
192         s_KgNB_update_required = 1;
193         pDCP_data_recovery_required = 2;
194     }
195     Value value = 1;
196 }
197
198 message SplitSRBs
199 {
200     enum Value {
201         protobuf_unspecified = 0;
202         srb1 = 1;
203         srb2 = 2;
204         srb1and2 = 3;
205     }
206     Value value = 1;
207 }
208
209 message NRCGI
210 {
211     string pLMN_Identity = 1;
212     string nRcellIdentifier = 2;
213     repeated NRCGI_ExtIEs iE_Extensions = 3;
214 }
215
216 message NRCGI_ExtIEs
217 {
218 }
219
220 message ECGI
221 {
222     string pLMN_Identity = 1;
223     string eUTRANcellIdentifier = 2;
224 }
225
226 message E_RAB_List
227 {
228     repeated E_RAB_ItemIEs items = 1;
229 }
230
231 message E_RAB_ItemIEs
232 {
233     E_RAB_Item id_E_RAB_Item = 1;
234 }
235
236 message E_RAB_Item
237 {
238     uint32 e_RAB_ID = 1;
239     Cause cause = 2;
240 }
241
242 message ERABActivityNotifyItemList
243 {
244     repeated ERABActivityNotifyItem items = 1;
245 }
246
247 message ERABActivityNotifyItem
248 {
249     uint32 e_RAB_ID = 1;
250     UserPlaneTrafficActivityReport activityReport = 2;
251     ERABActivityNotifyItem_ExtIEs iE_Extensions = 3;
252 }
253
254 message ERABActivityNotifyItem_ExtIEs
255 {
256 }
257
258 message UserPlaneTrafficActivityReport
259 {
260     enum Value {
261         protobuf_unspecified = 0;
262         inactive = 1;
263         re_activated = 2;
264     }
265     Value value = 1;
266 }
267
268 message GNBOverloadInformation
269 {
270     enum Value {
271         protobuf_unspecified = 0;
272         overloaded = 1;
273         not_overloaded = 2;
274     }
275     Value value = 1;
276 }
277
278 message CriticalityDiagnostics
279 {
280     google.protobuf.UInt32Value procedureCode = 1;
281     TriggeringMessage triggeringMessage = 2;
282     Criticality procedureCriticality = 3;
283     CriticalityDiagnostics_IE_List iEsCriticalityDiagnostics = 4;
284     repeated CriticalityDiagnostics_ExtIEs iE_Extensions = 5;
285 }
286
287 message TriggeringMessage
288 {
289     enum Value {
290         protobuf_unspecified = 0;
291         initiating_message = 1;
292         successful_outcome = 2;
293         unsuccessful_outcome = 3;
294     }
295     Value value = 1;
296 }
297
298 message Criticality
299 {
300     enum Value {
301         protobuf_unspecified = 0;
302         reject = 1;
303         ignore = 2;
304         notify = 3;
305     }
306     Value value = 1;
307 }
308
309 message CriticalityDiagnostics_IE_List
310 {
311     repeated CriticalityDiagnostics_IE_List_Item items = 1;
312 }
313
314 message CriticalityDiagnostics_IE_List_Item
315 {
316     Criticality iECriticality = 1;
317     uint32 iE_ID = 2;
318     TypeOfError typeOfError = 3;
319 }
320
321 message TypeOfError
322 {
323     enum Value {
324         protobuf_unspecified = 0;
325         not_understood = 1;
326         missing = 2;
327     }
328     Value value = 1;
329 }
330
331 message CriticalityDiagnostics_ExtIEs
332 {
333 }
334
335 message SgNBResourceCoordinationInformation
336 {
337     NRCGI nR_CGI = 1;
338     string uLCoordinationInformation = 2;
339     google.protobuf.StringValue dLCoordinationInformation = 3;
340     repeated SgNBResourceCoordinationInformationExtIEs iE_Extensions = 4;
341 }
342
343 message SgNBResourceCoordinationInformationExtIEs
344 {
345     ECGI id_ECGI = 1;
346     SgNBCoordinationAssistanceInformation id_SgNBCoordinationAssistanceInformation = 2;
347 }
348
349 message SgNBCoordinationAssistanceInformation
350 {
351     enum Value {
352         protobuf_unspecified = 0;
353         coordination_not_required = 1;
354     }
355     Value value = 1;
356 }
357
358 message RRC_Config_Ind
359 {
360     enum Value {
361         protobuf_unspecified = 0;
362         full_config = 1;
363         delta_config = 2;
364     }
365     Value value = 1;
366 }
367
368 message HandoverRestrictionList
369 {
370     string servingPLMN = 1;
371     EPLMNs equivalentPLMNs = 2;
372     ForbiddenTAs forbiddenTAs = 3;
373     ForbiddenLAs forbiddenLAs = 4;
374     ForbiddenInterRATs forbiddenInterRATs = 5;
375     repeated HandoverRestrictionList_ExtIEs iE_Extensions = 6;
376 }
377
378 message EPLMNs
379 {
380     repeated string items = 1;
381 }
382
383 message ForbiddenTAs
384 {
385     repeated ForbiddenTAs_Item items = 1;
386 }
387
388 message ForbiddenTAs_Item
389 {
390     string pLMN_Identity = 1;
391     ForbiddenTACs forbiddenTACs = 2;
392 }
393
394 message ForbiddenTACs
395 {
396    repeated string items = 1;
397 }
398
399 message ForbiddenLAs
400 {
401     repeated ForbiddenLAs_Item items = 1;
402 }
403
404 message ForbiddenLAs_Item
405 {
406     string pLMN_Identity = 1;
407     ForbiddenLACs forbiddenLACs = 2;
408 }
409
410 message ForbiddenLACs
411 {
412     repeated string items = 1;
413 }
414
415 message ForbiddenInterRATs
416 {
417     enum Value {
418         protobuf_unspecified = 0;
419         all = 1;
420         geran = 2;
421         utran = 3;
422         cdma2000 = 4;
423         geranandutran = 5;
424         cdma2000andutran = 6;
425     }
426     Value value = 1;
427 }
428
429 message HandoverRestrictionList_ExtIEs
430 {
431     NRrestrictioninEPSasSecondaryRAT id_NRrestrictioninEPSasSecondaryRAT = 1;
432     CNTypeRestrictions id_CNTypeRestrictions = 2;
433     NRrestrictionin5GS id_NRrestrictionin5GS = 3;
434 }
435
436 message NRrestrictioninEPSasSecondaryRAT
437 {
438     enum Value {
439         protobuf_unspecified = 0;
440         nRrestrictedinEPSasSecondaryRAT = 1;
441     }
442     Value value = 1;
443 }
444
445 message CNTypeRestrictions
446 {
447     repeated CNTypeRestrictionsItem items = 1;
448 }
449
450 message CNTypeRestrictionsItem
451 {
452     enum CN_type {
453         protobuf_unspecified = 0;
454         fiveGC_forbidden = 1;
455     }
456
457     string plmn_Id = 1;
458     CN_type cn_type = 2;
459 }
460
461 message NRrestrictionin5GS
462 {
463     enum Value {
464         protobuf_unspecified = 0;
465         nRrestrictedin5GS = 1;
466     }
467     Value value = 1;
468 }
469
470 message NRUESecurityCapabilities
471 {
472     string nRencryptionAlgorithms = 1;
473     string nRintegrityProtectionAlgorithms = 2;
474 }
475
476 message UEAggregateMaximumBitRate
477 {
478     uint64 uEaggregateMaximumBitRateDownlink = 1;
479     uint64 uEaggregateMaximumBitRateUplink = 2;
480     repeated UEAggregate_MaximumBitrate_ExtIEs iE_Extensions = 3;
481 }
482
483 message UEAggregate_MaximumBitrate_ExtIEs
484 {
485     google.protobuf.UInt64Value id_extended_uEaggregateMaximumBitRateDownlink = 1;
486     google.protobuf.UInt64Value id_extended_uEaggregateMaximumBitRateUplink = 2;
487 }
488
489 message DL_Forwarding
490 {
491     enum Value {
492         protobuf_unspecified = 0;
493         dL_forwardingProposed = 1;
494     }
495     Value value = 1;
496 }
497
498 message DuplicationActivation
499 {
500     enum Value {
501         protobuf_unspecified = 0;
502         active = 1;
503         inactive = 2;
504     }
505     Value value = 1;
506 }
507
508 message MeNBResourceCoordinationInformation
509 {
510     ECGI eUTRA_Cell_ID = 1;
511     string uLCoordinationInformation = 2;
512     google.protobuf.StringValue dLCoordinationInformation = 3;
513     repeated MeNBResourceCoordinationInformationExtIEs iE_Extensions = 4;
514 }
515
516 message MeNBResourceCoordinationInformationExtIEs
517 {
518     NRCGI id_NRCGI = 1;
519     MeNBCoordinationAssistanceInformation id_MeNBCoordinationAssistanceInformation = 2;
520 }
521
522 message MeNBCoordinationAssistanceInformation
523 {
524     enum Value {
525         protobuf_unspecified = 0;
526         coordination_not_required = 1;
527     }
528     Value value = 1;
529 }
530
531 message COUNTvalue
532 {
533     uint32 pDCP_SN = 1;
534     uint32 hFN = 2;
535 }
536
537 message COUNTValueExtended
538 {
539     uint32 pDCP_SNExtended = 1;
540     uint32 hFNModified = 2;
541 }
542
543 message COUNTvaluePDCP_SNlength18
544 {
545     uint32 pDCP_SNlength18 = 1;
546     uint32 hFNforPDCP_SNlength18 = 2;
547 }
548
549 message ExpectedUEBehaviour
550 {
551     ExpectedUEActivityBehaviour expectedActivity = 1;
552     ExpectedHOInterval expectedHOInterval = 2;
553 }
554
555 message ExpectedUEActivityBehaviour
556 {
557    google.protobuf.UInt32Value expectedActivityPeriod = 1;
558    google.protobuf.UInt32Value expectedIdlePeriod = 2;
559    SourceOfUEActivityBehaviourInformation sourceOfUEActivityBehaviourInformation = 3;
560    repeated ExpectedUEActivityBehaviour_ExtIEs iE_Extensions = 4;
561 }
562
563 message ExpectedUEActivityBehaviour_ExtIEs
564 {
565 }
566
567 message ExpectedHOInterval
568 {
569     enum Value {
570         protobuf_unspecified = 0;
571         sec15 = 1;
572         sec30 = 2;
573         sec60 = 3;
574         sec90 = 4;
575         sec120 = 5;
576         sec180 = 6;
577         long_time = 7;
578     }
579     Value value = 1;
580 }
581
582 message SourceOfUEActivityBehaviourInformation
583 {
584     enum Value {
585         protobuf_unspecified = 0;
586         subscription_information = 1;
587         statistics = 2;
588     }
589     Value value = 1;
590 }
591
592 message SGNB_Addition_Trigger_Ind
593 {
594     enum Value {
595         protobuf_unspecified = 0;
596         sn_change = 1;
597         inter_eNB_HO = 2;
598         intra_eNB_HO = 3;
599     }
600     Value value = 1;
601 }