aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/e1ap/e1ap.cnf
blob: 8e62acc3e5f39b4cdce84952d4ae5ececb92a9f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
# e1ap.cnf
# e1ap conformation file

#.OPT
PER
ALIGNED
#.END

#.USE_VALS_EXT
CauseRadioNetwork
ProcedureCode
ProtocolIE-ID
T-Reordering
ULDataSplitThreshold

#.EXPORTS

#.PDU
E1AP-PDU

#.MAKE_ENUM
ProcedureCode
ProtocolIE-ID

#.NO_EMIT

#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
Presence
ProtocolIE-ContainerList
ProtocolExtensionID
#.END


#.TYPE_RENAME
InitiatingMessage/value InitiatingMessage_value
SuccessfulOutcome/value SuccessfulOutcome_value
UnsuccessfulOutcome/value UnsuccessfulOutcome_value

#.FIELD_RENAME
InitiatingMessage/value initiatingMessagevalue
UnsuccessfulOutcome/value unsuccessfulOutcome_value
SuccessfulOutcome/value successfulOutcome_value
PrivateIE-Field/id private_id
ProtocolExtensionField/id ext_id
#PrivateIE-Field/value private_value
ProtocolIE-Field/value ie_field_value

#--- Parameterization is not supported in asn2wrs ---

#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E1AP-PROTOCOL-IES : IEsSetParam} ::=
# SEQUENCE (SIZE (lowerBound..upperBound)) OF
# ProtocolIE-Container {{IEsSetParam}}

# #.FN_PARS ProtocolIE-ContainerList
# MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
# MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
# #.FN_HDR ProtocolIE-ContainerList
#   static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
#     { "lowerBound", ASN1_PAR_INTEGER },
#     { "upperBound", ASN1_PAR_INTEGER },
#     { NULL, (asn1_par_type)0 }
#   };
#   asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
# #.END

#.FN_BODY ProtocolIE-ID VAL_PTR=&e1ap_data->protocol_ie_id
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
%(DEFAULT_BODY)s

#.FN_FTR ProtocolIE-ID
  if (tree) {
    proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
                           val_to_str_ext(e1ap_data->protocol_ie_id, &e1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
  }

#.FN_PARS ProtocolIE-Field/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolIEFieldValue

# #.FN_BODY ProtocolExtensionID  VAL_PTR=&e1ap_data->protocol_extension_id
#   e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
# %(DEFAULT_BODY)s

#.FN_PARS ProtocolExtensionField/extensionValue  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue

#.FN_BODY ProcedureCode  VAL_PTR = &e1ap_data->procedure_code
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
%(DEFAULT_BODY)s
#.END

#.FN_PARS InitiatingMessage/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_InitiatingMessageValue
#.FN_HDR InitiatingMessage/value
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
  e1ap_data->message_type = INITIATING_MESSAGE;
#.FN_PARS SuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_SuccessfulOutcomeValue
#.FN_HDR SuccessfulOutcome/value
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
  e1ap_data->message_type = SUCCESSFUL_OUTCOME;
#.FN_PARS UnsuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
#.FN_HDR UnsuccessfulOutcome/value
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
  e1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
#.END

#.FN_HDR PrivateIE-ID
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
  e1ap_data->obj_id = NULL;

#.FN_BODY PrivateIE-ID/global  FN_VARIANT = _str  VAL_PTR = &e1ap_data->obj_id
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
%(DEFAULT_BODY)s

#.FN_BODY PrivateIE-Field/value
  e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
  if (e1ap_data->obj_id) {
    offset = call_per_oid_callback(e1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
  } else {
%(DEFAULT_BODY)s
  }

#.ASSIGN_VALUE_TO_TYPE  # E1AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode
id-reset                               ProcedureCode
id-errorIndication                     ProcedureCode
id-privateMessage                      ProcedureCode
id-gNB-CU-UP-E1Setup                   ProcedureCode
id-gNB-CU-CP-E1Setup                   ProcedureCode
id-gNB-CU-UP-ConfigurationUpdate       ProcedureCode
id-gNB-CU-CP-ConfigurationUpdate       ProcedureCode
id-e1Release                           ProcedureCode
id-bearerContextSetup                  ProcedureCode
id-bearerContextModification           ProcedureCode
id-bearerContextModificationRequired   ProcedureCode
id-bearerContextRelease                ProcedureCode
id-bearerContextReleaseRequest         ProcedureCode
id-bearerContextInactivityNotification ProcedureCode
id-dLDataNotification                  ProcedureCode
id-dataUsageReport                     ProcedureCode
id-gNB-CU-UP-CounterCheck              ProcedureCode
id-gNB-CU-UP-StatusIndication          ProcedureCode
id-uLDataNotification                  ProcedureCode
id-mRDC-DataUsageReport                ProcedureCode

# ProtocolIE-ID
id-Cause                                        ProtocolIE-ID
id-CriticalityDiagnostics                       ProtocolIE-ID
id-gNB-CU-CP-UE-E1AP-ID                         ProtocolIE-ID
id-gNB-CU-UP-UE-E1AP-ID                         ProtocolIE-ID
id-ResetType                                    ProtocolIE-ID
id-UE-associatedLogicalE1-ConnectionItem        ProtocolIE-ID
id-UE-associatedLogicalE1-ConnectionListResAck  ProtocolIE-ID
id-gNB-CU-UP-ID                                 ProtocolIE-ID
id-gNB-CU-UP-Name                               ProtocolIE-ID
id-gNB-CU-CP-Name                               ProtocolIE-ID
id-CNSupport                                    ProtocolIE-ID
id-SupportedPLMNs                               ProtocolIE-ID
id-TimeToWait                                   ProtocolIE-ID
id-SecurityInformation                          ProtocolIE-ID
id-UEDLAggregateMaximumBitRate                  ProtocolIE-ID
id-System-BearerContextSetupRequest             ProtocolIE-ID
id-System-BearerContextSetupResponse            ProtocolIE-ID
id-BearerContextStatusChange                    ProtocolIE-ID
id-System-BearerContextModificationRequest      ProtocolIE-ID
id-System-BearerContextModificationResponse     ProtocolIE-ID
id-System-BearerContextModificationConfirm      ProtocolIE-ID
id-System-BearerContextModificationRequired     ProtocolIE-ID
id-DRB-Status-List                              ProtocolIE-ID
id-ActivityNotificationLevel                    ProtocolIE-ID
id-ActivityInformation                          ProtocolIE-ID
id-Data-Usage-Report-List                       ProtocolIE-ID
id-New-UL-TNL-Information-Required              ProtocolIE-ID
id-GNB-CU-CP-TNLA-To-Add-List                   ProtocolIE-ID
id-GNB-CU-CP-TNLA-To-Remove-List                ProtocolIE-ID
id-GNB-CU-CP-TNLA-To-Update-List                ProtocolIE-ID
id-GNB-CU-CP-TNLA-Setup-List                    ProtocolIE-ID
id-GNB-CU-CP-TNLA-Failed-To-Setup-List          ProtocolIE-ID
id-DRB-To-Setup-List-EUTRAN                     ProtocolIE-ID
id-DRB-To-Modify-List-EUTRAN                    ProtocolIE-ID
id-DRB-To-Remove-List-EUTRAN                    ProtocolIE-ID
id-DRB-Required-To-Modify-List-EUTRAN           ProtocolIE-ID
id-DRB-Required-To-Remove-List-EUTRAN           ProtocolIE-ID
id-DRB-Setup-List-EUTRAN                        ProtocolIE-ID
id-DRB-Failed-List-EUTRAN                       ProtocolIE-ID
id-DRB-Modified-List-EUTRAN                     ProtocolIE-ID
id-DRB-Failed-To-Modify-List-EUTRAN             ProtocolIE-ID
id-DRB-Confirm-Modified-List-EUTRAN             ProtocolIE-ID
id-PDU-Session-Resource-To-Setup-List           ProtocolIE-ID
id-PDU-Session-Resource-To-Modify-List          ProtocolIE-ID
id-PDU-Session-Resource-To-Remove-List          ProtocolIE-ID
id-PDU-Session-Resource-Required-To-Modify-List ProtocolIE-ID
id-PDU-Session-Resource-Setup-List              ProtocolIE-ID
id-PDU-Session-Resource-Failed-List             ProtocolIE-ID
id-PDU-Session-Resource-Modified-List           ProtocolIE-ID
id-PDU-Session-Resource-Failed-To-Modify-List   ProtocolIE-ID
id-PDU-Session-Resource-Confirm-Modified-List   ProtocolIE-ID
id-DRB-To-Setup-Mod-List-EUTRAN                 ProtocolIE-ID
id-DRB-Setup-Mod-List-EUTRAN                    ProtocolIE-ID
id-DRB-Failed-Mod-List-EUTRAN                   ProtocolIE-ID
id-PDU-Session-Resource-Setup-Mod-List          ProtocolIE-ID
id-PDU-Session-Resource-Failed-Mod-List         ProtocolIE-ID
id-PDU-Session-Resource-To-Setup-Mod-List       ProtocolIE-ID
id-TransactionID                                ProtocolIE-ID
id-Serving-PLMN                                 ProtocolIE-ID
id-UE-Inactivity-Timer                          ProtocolIE-ID
id-System-GNB-CU-UP-CounterCheckRequest         ProtocolIE-ID
id-DRBs-Subject-To-Counter-Check-List-EUTRAN    ProtocolIE-ID
id-DRBs-Subject-To-Counter-Check-List-NG-RAN    ProtocolIE-ID
id-PPI                                          ProtocolIE-ID
id-gNB-CU-UP-Capacity                           ProtocolIE-ID
id-GNB-CU-UP-OverloadInformation                ProtocolIE-ID
id-UEDLMaximumIntegrityProtectedDataRate        ProtocolIE-ID
id-PDU-Session-To-Notify-List                   ProtocolIE-ID
id-PDU-Session-Resource-Data-Usage-List         ProtocolIE-ID
id-SNSSAI                                       ProtocolIE-ID
id-DataDiscardRequired                          ProtocolIE-ID
id-OldQoSFlowMap-ULendmarkerexpected            ProtocolIE-ID
id-DRB-QoS                                      ProtocolIE-ID
id-GNB-CU-UP-TNLA-To-Remove-List                ProtocolIE-ID
id-endpoint-IP-Address-and-Port                 ProtocolIE-ID
id-TNLAssociationTransportLayerAddressgNBCUUP   ProtocolIE-ID
id-RANUEID                                      ProtocolIE-ID
id-GNB-DU-ID                                    ProtocolIE-ID
id-CommonNetworkInstance                        ProtocolIE-ID
id-NetworkInstance                              ProtocolIE-ID
id-QoSFlowMappingIndication                     ProtocolIE-ID
#.END

#.REGISTER

#E1AP-PROTOCOL-IES
Cause                                        N e1ap.ies id-Cause
CriticalityDiagnostics                       N e1ap.ies id-CriticalityDiagnostics
GNB-CU-CP-UE-E1AP-ID                         N e1ap.ies id-gNB-CU-CP-UE-E1AP-ID
GNB-CU-UP-UE-E1AP-ID                         N e1ap.ies id-gNB-CU-UP-UE-E1AP-ID
ResetType                                    N e1ap.ies id-ResetType
UE-associatedLogicalE1-ConnectionItem        N e1ap.ies id-UE-associatedLogicalE1-ConnectionItem
UE-associatedLogicalE1-ConnectionListResAck  N e1ap.ies id-UE-associatedLogicalE1-ConnectionListResAck
GNB-CU-UP-ID                                 N e1ap.ies id-gNB-CU-UP-ID
GNB-CU-UP-Name                               N e1ap.ies id-gNB-CU-UP-Name
GNB-CU-CP-Name                               N e1ap.ies id-gNB-CU-CP-Name
CNSupport                                    N e1ap.ies id-CNSupport
SupportedPLMNs-List                          N e1ap.ies id-SupportedPLMNs
TimeToWait                                   N e1ap.ies id-TimeToWait
SecurityInformation                          N e1ap.ies id-SecurityInformation
BitRate                                      N e1ap.ies id-UEDLAggregateMaximumBitRate
System-BearerContextSetupRequest             N e1ap.ies id-System-BearerContextSetupRequest
System-BearerContextSetupResponse            N e1ap.ies id-System-BearerContextSetupResponse
BearerContextStatusChange                    N e1ap.ies id-BearerContextStatusChange
System-BearerContextModificationRequest      N e1ap.ies id-System-BearerContextModificationRequest
System-BearerContextModificationResponse     N e1ap.ies id-System-BearerContextModificationResponse
System-BearerContextModificationConfirm      N e1ap.ies id-System-BearerContextModificationConfirm
System-BearerContextModificationRequired     N e1ap.ies id-System-BearerContextModificationRequired
DRB-Status-List                              N e1ap.ies id-DRB-Status-List
ActivityNotificationLevel                    N e1ap.ies id-ActivityNotificationLevel
ActivityInformation                          N e1ap.ies id-ActivityInformation
Data-Usage-Report-List                       N e1ap.ies id-Data-Usage-Report-List
New-UL-TNL-Information-Required              N e1ap.ies id-New-UL-TNL-Information-Required
GNB-CU-CP-TNLA-To-Add-List                   N e1ap.ies id-GNB-CU-CP-TNLA-To-Add-List
GNB-CU-CP-TNLA-To-Remove-List                N e1ap.ies id-GNB-CU-CP-TNLA-To-Remove-List
GNB-CU-CP-TNLA-To-Update-List                N e1ap.ies id-GNB-CU-CP-TNLA-To-Update-List
GNB-CU-CP-TNLA-Setup-List                    N e1ap.ies id-GNB-CU-CP-TNLA-Setup-List
GNB-CU-CP-TNLA-Failed-To-Setup-List          N e1ap.ies id-GNB-CU-CP-TNLA-Failed-To-Setup-List
DRB-To-Setup-List-EUTRAN                     N e1ap.ies id-DRB-To-Setup-List-EUTRAN
DRB-To-Modify-List-EUTRAN                    N e1ap.ies id-DRB-To-Modify-List-EUTRAN
DRB-To-Remove-List-EUTRAN                    N e1ap.ies id-DRB-To-Remove-List-EUTRAN
DRB-Required-To-Modify-List-EUTRAN           N e1ap.ies id-DRB-Required-To-Modify-List-EUTRAN
DRB-Required-To-Remove-List-EUTRAN           N e1ap.ies id-DRB-Required-To-Remove-List-EUTRAN
DRB-Setup-List-EUTRAN                        N e1ap.ies id-DRB-Setup-List-EUTRAN
DRB-Failed-List-EUTRAN                       N e1ap.ies id-DRB-Failed-List-EUTRAN
DRB-Modified-List-EUTRAN                     N e1ap.ies id-DRB-Modified-List-EUTRAN
DRB-Failed-To-Modify-List-EUTRAN             N e1ap.ies id-DRB-Failed-To-Modify-List-EUTRAN
DRB-Confirm-Modified-List-EUTRAN             N e1ap.ies id-DRB-Confirm-Modified-List-EUTRAN
PDU-Session-Resource-To-Setup-List           N e1ap.ies id-PDU-Session-Resource-To-Setup-List
PDU-Session-Resource-To-Modify-List          N e1ap.ies id-PDU-Session-Resource-To-Modify-List
PDU-Session-Resource-To-Remove-List          N e1ap.ies id-PDU-Session-Resource-To-Remove-List
PDU-Session-Resource-Required-To-Modify-List N e1ap.ies id-PDU-Session-Resource-Required-To-Modify-List
PDU-Session-Resource-Setup-List              N e1ap.ies id-PDU-Session-Resource-Setup-List
PDU-Session-Resource-Failed-List             N e1ap.ies id-PDU-Session-Resource-Failed-List
PDU-Session-Resource-Modified-List           N e1ap.ies id-PDU-Session-Resource-Modified-List
PDU-Session-Resource-Failed-To-Modify-List   N e1ap.ies id-PDU-Session-Resource-Failed-To-Modify-List
PDU-Session-Resource-Confirm-Modified-List   N e1ap.ies id-PDU-Session-Resource-Confirm-Modified-List
DRB-To-Setup-Mod-List-EUTRAN                 N e1ap.ies id-DRB-To-Setup-Mod-List-EUTRAN
DRB-Setup-Mod-List-EUTRAN                    N e1ap.ies id-DRB-Setup-Mod-List-EUTRAN
DRB-Failed-Mod-List-EUTRAN                   N e1ap.ies id-DRB-Failed-Mod-List-EUTRAN
PDU-Session-Resource-Setup-Mod-List          N e1ap.ies id-PDU-Session-Resource-Setup-Mod-List
PDU-Session-Resource-Failed-Mod-List         N e1ap.ies id-PDU-Session-Resource-Failed-Mod-List
PDU-Session-Resource-To-Setup-Mod-List       N e1ap.ies id-PDU-Session-Resource-To-Setup-Mod-List
TransactionID                                N e1ap.ies id-TransactionID
PLMN-Identity                                N e1ap.ies id-Serving-PLMN
Inactivity-Timer                             N e1ap.ies id-UE-Inactivity-Timer
System-GNB-CU-UP-CounterCheckRequest         N e1ap.ies id-System-GNB-CU-UP-CounterCheckRequest
DRBs-Subject-To-Counter-Check-List-EUTRAN    N e1ap.ies id-DRBs-Subject-To-Counter-Check-List-EUTRAN
DRBs-Subject-To-Counter-Check-List-NG-RAN    N e1ap.ies id-DRBs-Subject-To-Counter-Check-List-NG-RAN
PPI                                          N e1ap.ies id-PPI
GNB-CU-UP-Capacity                           N e1ap.ies id-gNB-CU-UP-Capacity
GNB-CU-UP-OverloadInformation                N e1ap.ies id-GNB-CU-UP-OverloadInformation
BitRate                                      N e1ap.ies id-UEDLMaximumIntegrityProtectedDataRate
PDU-Session-To-Notify-List                   N e1ap.ies id-PDU-Session-To-Notify-List
PDU-Session-Resource-Data-Usage-List         N e1ap.ies id-PDU-Session-Resource-Data-Usage-List
DataDiscardRequired                          N e1ap.ies id-DataDiscardRequired
GNB-CU-UP-TNLA-To-Remove-List                N e1ap.ies id-GNB-CU-UP-TNLA-To-Remove-List
Endpoint-IP-address-and-port                 N e1ap.ies id-endpoint-IP-Address-and-Port
RANUEID                                      N e1ap.ies id-RANUEID
GNB-DU-ID                                    N e1ap.ies id-GNB-DU-ID

#E1AP-PROTOCOL-EXTENSION
SNSSAI                                       N e1ap.extension id-SNSSAI
QoS-Flow-List                                N e1ap.extension id-OldQoSFlowMap-ULendmarkerexpected
QoSFlowLevelQoSParameters                    N e1ap.extension id-DRB-QoS
CP-TNL-Information                           N e1ap.extension id-TNLAssociationTransportLayerAddressgNBCUUP
CommonNetworkInstance                        N e1ap.extension id-CommonNetworkInstance
NetworkInstance                              N e1ap.extension id-NetworkInstance
QoS-Flow-Mapping-Indication                  N e1ap.extension id-QoSFlowMappingIndication

#E1AP-ELEMENTARY-PROCEDURE
Reset                                    N e1ap.proc.imsg id-reset
ResetAcknowledge                         N e1ap.proc.sout id-reset

ErrorIndication                          N e1ap.proc.imsg id-errorIndication

GNB-CU-UP-E1SetupRequest                 N e1ap.proc.imsg id-gNB-CU-UP-E1Setup
GNB-CU-UP-E1SetupResponse                N e1ap.proc.sout id-gNB-CU-UP-E1Setup
GNB-CU-UP-E1SetupFailure                 N e1ap.proc.uout id-gNB-CU-UP-E1Setup

GNB-CU-CP-E1SetupRequest                 N e1ap.proc.imsg id-gNB-CU-CP-E1Setup
GNB-CU-CP-E1SetupResponse                N e1ap.proc.sout id-gNB-CU-CP-E1Setup
GNB-CU-CP-E1SetupFailure                 N e1ap.proc.uout id-gNB-CU-CP-E1Setup

GNB-CU-UP-ConfigurationUpdate            N e1ap.proc.imsg id-gNB-CU-UP-ConfigurationUpdate
GNB-CU-UP-ConfigurationUpdateAcknowledge N e1ap.proc.sout id-gNB-CU-UP-ConfigurationUpdate
GNB-CU-UP-ConfigurationUpdateFailure     N e1ap.proc.uout id-gNB-CU-UP-ConfigurationUpdate

GNB-CU-CP-ConfigurationUpdate            N e1ap.proc.imsg id-gNB-CU-CP-ConfigurationUpdate
GNB-CU-CP-ConfigurationUpdateAcknowledge N e1ap.proc.sout id-gNB-CU-CP-ConfigurationUpdate
GNB-CU-CP-ConfigurationUpdateFailure     N e1ap.proc.uout id-gNB-CU-CP-ConfigurationUpdate

E1ReleaseRequest                         N e1ap.proc.imsg id-e1Release
E1ReleaseResponse                        N e1ap.proc.sout id-e1Release

BearerContextSetupRequest                N e1ap.proc.imsg id-bearerContextSetup
BearerContextSetupResponse               N e1ap.proc.sout id-bearerContextSetup
BearerContextSetupFailure                N e1ap.proc.uout id-bearerContextSetup

BearerContextModificationRequest         N e1ap.proc.imsg id-bearerContextModification
BearerContextModificationResponse        N e1ap.proc.sout id-bearerContextModification
BearerContextModificationFailure         N e1ap.proc.uout id-bearerContextModification

BearerContextModificationRequired        N e1ap.proc.imsg id-bearerContextModificationRequired
BearerContextModificationConfirm         N e1ap.proc.sout id-bearerContextModificationRequired

BearerContextReleaseCommand              N e1ap.proc.imsg id-bearerContextRelease
BearerContextReleaseComplete             N e1ap.proc.sout id-bearerContextRelease

BearerContextReleaseRequest              N e1ap.proc.imsg id-bearerContextReleaseRequest

BearerContextInactivityNotification      N e1ap.proc.imsg id-bearerContextInactivityNotification

DLDataNotification                       N e1ap.proc.imsg id-dLDataNotification

ULDataNotification                       N e1ap.proc.imsg id-uLDataNotification

DataUsageReport                          N e1ap.proc.imsg id-dataUsageReport

GNB-CU-UP-CounterCheckRequest            N e1ap.proc.imsg id-gNB-CU-UP-CounterCheck

GNB-CU-UP-StatusIndication               N e1ap.proc.imsg id-gNB-CU-UP-StatusIndication

PrivateMessage                           N e1ap.proc.imsg id-privateMessage

MRDC-DataUsageReport                     N e1ap.proc.imsg id-mRDC-DataUsageReport

#.FN_BODY PLMN-Identity  VAL_PTR = &param_tvb
  tvbuff_t *param_tvb = NULL;
%(DEFAULT_BODY)s
  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_PLMN_Identity);
    dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
  }

#.TYPE_ATTR
PortNumber TYPE = FT_UINT16 DISPLAY = BASE_DEC

#.FN_BODY PortNumber VAL_PTR = &parameter_tvb HF_INDEX = -1
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec

#.FN_BODY DRB-Usage-Report-Item/startTimeStamp VAL_PTR = &timestamp_tvb
  tvbuff_t *timestamp_tvb = NULL;
%(DEFAULT_BODY)s

#.FN_FTR DRB-Usage-Report-Item/startTimeStamp
  if (timestamp_tvb) {
    proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
  }

#.FN_BODY DRB-Usage-Report-Item/endTimeStamp VAL_PTR = &timestamp_tvb
  tvbuff_t *timestamp_tvb = NULL;
%(DEFAULT_BODY)s

#.FN_FTR DRB-Usage-Report-Item/endTimeStamp
  if (timestamp_tvb) {
    proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
  }

#.TYPE_ATTR
DRB-Usage-Report-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets

#.TYPE_ATTR
DRB-Usage-Report-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets

#.TYPE_ATTR
MaxPacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_MaxPacketLossRate_fmt)

#.TYPE_ATTR
PacketDelayBudget DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_PacketDelayBudget_fmt)

#.TYPE_ATTR
AveragingWindow DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds

#.TYPE_ATTR
MaxDataBurstVolume DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_byte_bytes

#.TYPE_ATTR
Inactivity-Timer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds

#.FN_BODY TransportLayerAddress VAL_PTR = &param_tvb
  tvbuff_t *param_tvb = NULL;
%(DEFAULT_BODY)s
  if (param_tvb) {
    proto_tree *subtree;
    gint tvb_len;

    tvb_len = tvb_reported_length(param_tvb);
    subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_TransportLayerAddress);
    if (tvb_len == 4) {
      /* IPv4 */
       proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
    } else if (tvb_len == 16) {
      /* IPv6 */
       proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA);
    } else if (tvb_len == 20) {
      /* IPv4 */
       proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
      /* IPv6 */
       proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA);
    }
  }

#.FN_BODY MRDC-Data-Usage-Report-Item/startTimeStamp VAL_PTR = &timestamp_tvb
  tvbuff_t *timestamp_tvb = NULL;
%(DEFAULT_BODY)s

#.FN_FTR MRDC-Data-Usage-Report-Item/startTimeStamp
  if (timestamp_tvb) {
    proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
  }

#.FN_BODY MRDC-Data-Usage-Report-Item/endTimeStamp VAL_PTR = &timestamp_tvb
  tvbuff_t *timestamp_tvb = NULL;
%(DEFAULT_BODY)s

#.FN_FTR MRDC-Data-Usage-Report-Item/endTimeStamp
  if (timestamp_tvb) {
    proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
  }

#.TYPE_ATTR
MRDC-Data-Usage-Report-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets

#.TYPE_ATTR
MRDC-Data-Usage-Report-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets

#.FN_HDR Reset
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
#.FN_HDR ResetAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
#.FN_HDR ErrorIndication
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
#.FN_HDR GNB-CU-UP-E1SetupRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupRequest");
#.FN_HDR GNB-CU-UP-E1SetupResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupResponse");
#.FN_HDR GNB-CU-UP-E1SetupFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupFailure");
#.FN_HDR GNB-CU-CP-E1SetupRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupRequest");
#.FN_HDR GNB-CU-CP-E1SetupResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupResponse");
#.FN_HDR GNB-CU-CP-E1SetupFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupFailure");
#.FN_HDR GNB-CU-UP-ConfigurationUpdate
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdate");
#.FN_HDR GNB-CU-UP-ConfigurationUpdateAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateAcknowledge");
#.FN_HDR GNB-CU-UP-ConfigurationUpdateFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateFailure");
#.FN_HDR GNB-CU-CP-ConfigurationUpdate
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdate");
#.FN_HDR GNB-CU-CP-ConfigurationUpdateAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateAcknowledge");
#.FN_HDR GNB-CU-CP-ConfigurationUpdateFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateFailure");
#.FN_HDR E1ReleaseRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseRequest");
#.FN_HDR E1ReleaseResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseResponse");
#.FN_HDR BearerContextSetupRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupRequest");
#.FN_HDR BearerContextSetupResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupResponse");
#.FN_HDR BearerContextSetupFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupFailure");
#.FN_HDR BearerContextModificationRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequest");
#.FN_HDR BearerContextModificationResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationResponse");
#.FN_HDR BearerContextModificationFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationFailure");
#.FN_HDR BearerContextModificationRequired
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequired");
#.FN_HDR BearerContextModificationConfirm
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationConfirm");
#.FN_HDR BearerContextReleaseCommand
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseCommand");
#.FN_HDR BearerContextReleaseComplete
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseComplete");
#.FN_HDR BearerContextReleaseRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseRequest");
#.FN_HDR BearerContextInactivityNotification
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextInactivityNotification");
#.FN_HDR DLDataNotification
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDataNotification");
#.FN_HDR ULDataNotification
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDataNotification");
#.FN_HDR DataUsageReport
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataUsageReport");
#.FN_HDR GNB-CU-UP-CounterCheckRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
#.FN_HDR GNB-CU-UP-CounterCheckRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
#.FN_HDR PrivateMessage
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
#.FN_HDR MRDC-DataUsageReport
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MRDC-DataUsageReport");
#.END

#
# Editor modelines  -  https://www.wireshark.org/tools/modelines.html
#
# Local variables:
# c-basic-offset: 2
# tab-width: 8
# indent-tabs-mode: nil
# End:
#
# vi: set shiftwidth=2 tabstop=8 expandtab:
# :indentSize=2:tabSize=8:noTabs=true:
#