Add documentation files
[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 GTPtunnelEndpoint
117 {
118     string transportLayerAddress = 1;
119     string gTP_TEID = 2;
120     repeated GTPtunnelEndpoint_ExtIEs iE_Extensions = 3;
121 }
122
123 message GTPtunnelEndpoint_ExtIEs
124 {
125 }
126
127 message RLCMode
128 {
129     enum Value {
130         protobuf_unspecified = 0;
131         rlc_am = 1;
132         rlc_um_bidirectional = 2;
133         rlc_um_unidirectional_ul = 3;
134         rlc_um_unidirectional_dl = 4;
135     }
136     Value value = 1;
137 }
138
139 message RLC_Status
140 {
141     enum Reestablishment_Indication {
142         protobuf_unspecified = 0;
143         reestablished = 1;
144     }
145
146     Reestablishment_Indication reestablishment_Indication = 1;
147 }
148
149 message ULConfiguration
150 {
151     enum UL_UE_Configuration {
152         protobuf_unspecified = 0;
153         no_data = 1;
154         shared = 2;
155         only = 3;
156     }
157     UL_UE_Configuration uL_PDCP = 1;
158 }
159
160 message PDCPSnLength
161 {
162     enum Value {
163         protobuf_unspecified = 0;
164         twelve_bits = 1;
165         eighteen_bits = 2;
166     }
167     Value value = 1;
168 }
169
170 message PDCPChangeIndication
171 {
172     enum Value {
173         protobuf_unspecified = 0;
174         s_KgNB_update_required = 1;
175         pDCP_data_recovery_required = 2;
176     }
177     Value value = 1;
178 }
179
180 message SplitSRBs
181 {
182     enum Value {
183         protobuf_unspecified = 0;
184         srb1 = 1;
185         srb2 = 2;
186         srb1and2 = 3;
187     }
188     Value value = 1;
189 }
190
191 message NRCGI
192 {
193     string pLMN_Identity = 1;
194     string nRcellIdentifier = 2;
195     repeated NRCGI_ExtIEs iE_Extensions = 3;
196 }
197
198 message NRCGI_ExtIEs
199 {
200 }
201
202 message ECGI
203 {
204     string pLMN_Identity = 1;
205     string eUTRANcellIdentifier = 2;
206 }
207
208 message E_RAB_List
209 {
210     repeated E_RAB_ItemIEs items = 1;
211 }
212
213 message E_RAB_ItemIEs
214 {
215     E_RAB_Item id_E_RAB_Item = 1;
216 }
217
218 message E_RAB_Item
219 {
220     uint32 e_RAB_ID = 1;
221     Cause cause = 2;
222 }
223
224 message CriticalityDiagnostics
225 {
226     google.protobuf.UInt32Value procedureCode = 1;
227     TriggeringMessage triggeringMessage = 2;
228     Criticality procedureCriticality = 3;
229     CriticalityDiagnostics_IE_List iEsCriticalityDiagnostics = 4;
230     repeated CriticalityDiagnostics_ExtIEs iE_Extensions = 5;
231 }
232
233 message TriggeringMessage
234 {
235     enum Value {
236         protobuf_unspecified = 0;
237         initiating_message = 1;
238         successful_outcome = 2;
239         unsuccessful_outcome = 3;
240     }
241     Value value = 1;
242 }
243
244 message Criticality
245 {
246     enum Value {
247         protobuf_unspecified = 0;
248         reject = 1;
249         ignore = 2;
250         notify = 3;
251     }
252     Value value = 1;
253 }
254
255 message CriticalityDiagnostics_IE_List
256 {
257     repeated CriticalityDiagnostics_IE_List_Item items = 1;
258 }
259
260 message CriticalityDiagnostics_IE_List_Item
261 {
262     Criticality iECriticality = 1;
263     uint32 iE_ID = 2;
264     TypeOfError typeOfError = 3;
265 }
266
267 message TypeOfError
268 {
269     enum Value {
270         protobuf_unspecified = 0;
271         not_understood = 1;
272         missing = 2;
273     }
274     Value value = 1;
275 }
276
277 message CriticalityDiagnostics_ExtIEs
278 {
279 }
280
281 message SgNBResourceCoordinationInformation
282 {
283     NRCGI nR_CGI = 1;
284     string uLCoordinationInformation = 2;
285     google.protobuf.StringValue dLCoordinationInformation = 3;
286     repeated SgNBResourceCoordinationInformationExtIEs iE_Extensions = 4;
287 }
288
289 message SgNBResourceCoordinationInformationExtIEs
290 {
291     ECGI id_ECGI = 1;
292     SgNBCoordinationAssistanceInformation id_SgNBCoordinationAssistanceInformation = 2;
293 }
294
295 message SgNBCoordinationAssistanceInformation
296 {
297     enum Value {
298         protobuf_unspecified = 0;
299         coordination_not_required = 1;
300     }
301     Value value = 1;
302 }
303
304 message RRC_Config_Ind
305 {
306     enum Value {
307         protobuf_unspecified = 0;
308         full_config = 1;
309         delta_config = 2;
310     }
311     Value value = 1;
312 }
313
314 message HandoverRestrictionList
315 {
316     string servingPLMN = 1;
317     EPLMNs equivalentPLMNs = 2;
318     ForbiddenTAs forbiddenTAs = 3;
319     ForbiddenLAs forbiddenLAs = 4;
320     ForbiddenInterRATs forbiddenInterRATs = 5;
321     repeated HandoverRestrictionList_ExtIEs iE_Extensions = 6;
322 }
323
324 message EPLMNs
325 {
326     repeated string items = 1;
327 }
328
329 message ForbiddenTAs
330 {
331     repeated ForbiddenTAs_Item items = 1;
332 }
333
334 message ForbiddenTAs_Item
335 {
336     string pLMN_Identity = 1;
337     ForbiddenTACs forbiddenTACs = 2;
338 }
339
340 message ForbiddenTACs
341 {
342    repeated string items = 1;
343 }
344
345 message ForbiddenLAs
346 {
347     repeated ForbiddenLAs_Item items = 1;
348 }
349
350 message ForbiddenLAs_Item
351 {
352     string pLMN_Identity = 1;
353     ForbiddenLACs forbiddenLACs = 2;
354 }
355
356 message ForbiddenLACs
357 {
358     repeated string items = 1;
359 }
360
361 message ForbiddenInterRATs
362 {
363     enum Value {
364         protobuf_unspecified = 0;
365         all = 1;
366         geran = 2;
367         utran = 3;
368         cdma2000 = 4;
369         geranandutran = 5;
370         cdma2000andutran = 6;
371     }
372     Value value = 1;
373 }
374
375 message HandoverRestrictionList_ExtIEs
376 {
377     NRrestrictioninEPSasSecondaryRAT id_NRrestrictioninEPSasSecondaryRAT = 1;
378     CNTypeRestrictions id_CNTypeRestrictions = 2;
379     NRrestrictionin5GS id_NRrestrictionin5GS = 3;
380 }
381
382 message NRrestrictioninEPSasSecondaryRAT
383 {
384     enum Value {
385         protobuf_unspecified = 0;
386         nRrestrictedinEPSasSecondaryRAT = 1;
387     }
388     Value value = 1;
389 }
390
391 message CNTypeRestrictions
392 {
393     repeated CNTypeRestrictionsItem items = 1;
394 }
395
396 message CNTypeRestrictionsItem
397 {
398     enum CN_type {
399         protobuf_unspecified = 0;
400         fiveGC_forbidden = 1;
401     }
402
403     string plmn_Id = 1;
404     CN_type cn_type = 2;
405 }
406
407 message NRrestrictionin5GS
408 {
409     enum Value {
410         protobuf_unspecified = 0;
411         nRrestrictedin5GS = 1;
412     }
413     Value value = 1;
414 }
415
416 message NRUESecurityCapabilities
417 {
418     string nRencryptionAlgorithms = 1;
419     string nRintegrityProtectionAlgorithms = 2;
420 }
421
422 message UEAggregateMaximumBitRate
423 {
424     uint64 uEaggregateMaximumBitRateDownlink = 1;
425     uint64 uEaggregateMaximumBitRateUplink = 2;
426     repeated UEAggregate_MaximumBitrate_ExtIEs iE_Extensions = 3;
427 }
428
429 message UEAggregate_MaximumBitrate_ExtIEs
430 {
431     google.protobuf.UInt64Value id_extended_uEaggregateMaximumBitRateDownlink = 1;
432     google.protobuf.UInt64Value id_extended_uEaggregateMaximumBitRateUplink = 2;
433 }
434
435 message DL_Forwarding
436 {
437     enum Value {
438         protobuf_unspecified = 0;
439         dL_forwardingProposed = 1;
440     }
441     Value value = 1;
442 }
443
444 message DuplicationActivation
445 {
446     enum Value {
447         protobuf_unspecified = 0;
448         active = 1;
449         inactive = 2;
450     }
451     Value value = 1;
452 }
453
454 message MeNBResourceCoordinationInformation
455 {
456     ECGI eUTRA_Cell_ID = 1;
457     string uLCoordinationInformation = 2;
458     google.protobuf.StringValue dLCoordinationInformation = 3;
459     repeated MeNBResourceCoordinationInformationExtIEs iE_Extensions = 4;
460 }
461
462 message MeNBResourceCoordinationInformationExtIEs
463 {
464     NRCGI id_NRCGI = 1;
465     MeNBCoordinationAssistanceInformation id_MeNBCoordinationAssistanceInformation = 2;
466 }
467
468 message MeNBCoordinationAssistanceInformation
469 {
470     enum Value {
471         protobuf_unspecified = 0;
472         coordination_not_required = 1;
473     }
474     Value value = 1;
475 }
476
477 message COUNTvalue
478 {
479     uint32 pDCP_SN = 1;
480     uint32 hFN = 2;
481 }
482
483 message COUNTValueExtended
484 {
485     uint32 pDCP_SNExtended = 1;
486     uint32 hFNModified = 2;
487 }
488
489 message COUNTvaluePDCP_SNlength18
490 {
491     uint32 pDCP_SNlength18 = 1;
492     uint32 hFNforPDCP_SNlength18 = 2;
493 }
494
495 message ExpectedUEBehaviour
496 {
497     ExpectedUEActivityBehaviour expectedActivity = 1;
498     ExpectedHOInterval expectedHOInterval = 2;
499 }
500
501 message ExpectedUEActivityBehaviour
502 {
503    google.protobuf.UInt32Value expectedActivityPeriod = 1;
504    google.protobuf.UInt32Value expectedIdlePeriod = 2;
505    SourceOfUEActivityBehaviourInformation sourceOfUEActivityBehaviourInformation = 3;
506    repeated ExpectedUEActivityBehaviour_ExtIEs iE_Extensions = 4;
507 }
508
509 message ExpectedUEActivityBehaviour_ExtIEs
510 {
511 }
512
513 message ExpectedHOInterval
514 {
515     enum Value {
516         protobuf_unspecified = 0;
517         sec15 = 1;
518         sec30 = 2;
519         sec60 = 3;
520         sec90 = 4;
521         sec120 = 5;
522         sec180 = 6;
523         long_time = 7;
524     }
525     Value value = 1;
526 }
527
528 message SourceOfUEActivityBehaviourInformation
529 {
530     enum Value {
531         protobuf_unspecified = 0;
532         subscription_information = 1;
533         statistics = 2;
534     }
535     Value value = 1;
536 }
537
538 message SGNB_Addition_Trigger_Ind
539 {
540     enum Value {
541         protobuf_unspecified = 0;
542         sn_change = 1;
543         inter_eNB_HO = 2;
544         intra_eNB_HO = 3;
545     }
546     Value value = 1;
547 }