summaryrefslogtreecommitdiff
path: root/epan/dissectors/asn1/x2ap/x2ap.cnf
blob: a6a93ac69505807f98f13836331f034a1b428f27 (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
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
# x2ap.cnf
# x2ap conformation file
# Copyright 2007 Anders Broman

#.OPT
PER
ALIGNED
#.END

#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
#.END

#.PDU
X2AP-PDU

#.MAKE_ENUM
ProtocolIE-ID
ProcedureCode

#.USE_VALS_EXT
CauseRadioNetwork
ProcedureCode
ProtocolIE-ID
OffsetOfNbiotChannelNumberToEARFCN

#.TYPE_RENAME
ProtocolIE-Field/value     ProtocolIE_Field_value
PrivateIE-Field/value      PrivateIE_Field_value
InitiatingMessage/value    InitiatingMessage_value
SuccessfulOutcome/value    SuccessfulOutcome_value
UnsuccessfulOutcome/value  UnsuccessfulOutcome_value

#.FIELD_RENAME
ProtocolExtensionField/id extension_id
PrivateIE-Field/id private_id
InitiatingMessage/value initiatingMessage_value

ProtocolIE-Field/value protocolIE_Field_value
SuccessfulOutcome/value successfulOutcome_value
PrivateIE-Field/value privateIE_Field_value

#.OMIT_ASSIGNMENT
Presence
ProtocolIE-FieldPair
ProtocolIE-ContainerList
ProtocolIE-ContainerPair
ProtocolIE-ContainerPairList
#.END

#.FN_BODY ProtocolIE-ID  VAL_PTR = &x2ap_data->protocol_ie_id
  struct x2ap_private_data *x2ap_data = x2ap_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(x2ap_data->protocol_ie_id, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
  }
#.END

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

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

#.FN_BODY  ProcedureCode  VAL_PTR = &x2ap_data->procedure_code
  struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
%(DEFAULT_BODY)s
#.END

#.FN_PARS InitiatingMessage/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_InitiatingMessageValue

#.FN_PARS SuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_SuccessfulOutcomeValue

#.FN_PARS UnsuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue

#.FN_BODY TargeteNBtoSource-eNBTransparentContainer  VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;

%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;

  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargeteNBtoSource_eNBTransparentContainer);
  dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.TYPE_ATTR
ProtocolExtensionID TYPE = FT_UINT8  DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &x2ap_ProtocolIE_ID_vals_ext
#.END

#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
# For details on the Transport Layer Address, see
# ref. [8], [19]
# [8] 3GPP TS 36.424: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); X2 data transport".
# [19] 3GPP TS 36.414: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1 data transport".
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;
  int len;

%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;

  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress);
  if (len == 32) {
    /* IPv4 */
     proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
  } else if (len == 128) {
    /* IPv6 */
     proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
  } else if (len == 160) {
    /* IPv4 */
     proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
    /* IPv6 */
     proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
  }

#.TYPE_ATTR
Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
#.FN_BODY Port-Number 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);
  }

#.FN_BODY RRC-Context VAL_PTR = &parameter_tvb
# Includes the RRC Handover Preparation Information message as defined in
# subclause 10.2.2 of [9].
# [9] 3GPP TS 36.331: "Evolved Universal Terrestrial Radio Access (E-UTRAN); Radio Resource
# Control (RRC) Protocol Specification".
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;

%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;

  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRC_Context);
  if (g_x2ap_dissect_rrc_context_as == X2AP_RRC_CONTEXT_NBIOT) {
    dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  } else {
    dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  }

#.FN_BODY UE-HistoryInformationFromTheUE VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_HistoryInformationFromTheUE);
  dissect_lte_rrc_VisitedCellInfoList_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.FN_BODY ReportCharacteristics VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_ReportCharacteristics_PRBPeriodic,
      &hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic,
      &hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic,
      &hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
      &hf_x2ap_ReportCharacteristics_ABSStatusPeriodic,
      &hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic,
      &hf_x2ap_ReportCharacteristics_CSIReportPeriodic,
      &hf_x2ap_ReportCharacteristics_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
  }

#.FN_BODY MeasurementFailureCause-Item/measurementFailedReportCharacteristics VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;

  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, FALSE, &parameter_tvb, NULL);

  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic,
      &hf_x2ap_measurementFailedReportCharacteristics_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_measurementFailedReportCharacteristics);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
  }

#.FN_BODY UE-RLF-Report-Container VAL_PTR = &parameter_tvb
 tvbuff_t *parameter_tvb;
 proto_tree *subtree = NULL;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container);
  dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.FN_BODY UE-RLF-Report-Container-for-extended-bands VAL_PTR = &parameter_tvb
 tvbuff_t *parameter_tvb;
 proto_tree *subtree = NULL;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container_for_extended_bands);
  dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.FN_BODY MeNBtoSeNBContainer VAL_PTR = &parameter_tvb
 tvbuff_t *parameter_tvb;
 proto_tree *subtree = NULL;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSeNBContainer);
  dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.FN_BODY SeNBtoMeNBContainer VAL_PTR = &parameter_tvb
 tvbuff_t *parameter_tvb;
 proto_tree *subtree = NULL;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SeNBtoMeNBContainer);
  dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);

#.FN_BODY EUTRANTraceID VAL_PTR = &parameter_tvb
 tvbuff_t *parameter_tvb;
 proto_tree *subtree = NULL;
%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;
  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EUTRANTraceID);
  dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
  proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
  proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);

#.FN_BODY InterfacesToTrace VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_interfacesToTrace_S1_MME,
      &hf_x2ap_interfacesToTrace_X2,
      &hf_x2ap_interfacesToTrace_Uu,
      &hf_x2ap_interfacesToTrace_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_InterfacesToTrace);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }

#.FN_BODY TraceCollectionEntityIPAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;
  int len;

%(DEFAULT_BODY)s
  if (!parameter_tvb)
    return offset;

  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TraceCollectionEntityIPAddress);
  if (len == 32) {
    /* IPv4 */
     proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
  } else if (len == 128) {
    /* IPv6 */
     proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 0, 16, ENC_NA);
  } else if (len == 160) {
    /* IPv4 */
     proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
    /* IPv6 */
     proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 4, 16, ENC_NA);
  }

#.TYPE_ATTR
TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY TAC 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
LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY LAC 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);
  }

#.FN_BODY PLMN-Identity  VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
  proto_tree *subtree;

%(DEFAULT_BODY)s

  if(tvb_reported_length(tvb)==0)
    return offset;

  if (!parameter_tvb)
    return offset;

  subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_PLMN_Identity);
  dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);

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

#.TYPE_ATTR
MME-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
#.FN_BODY MME-Code 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, 1, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
MME-Group-ID TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY MME-Group-ID 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);
  }

#.FN_BODY EncryptionAlgorithms VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_encryptionAlgorithms_EEA1,
      &hf_x2ap_encryptionAlgorithms_EEA2,
      &hf_x2ap_encryptionAlgorithms_EEA3,
      &hf_x2ap_encryptionAlgorithms_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EncryptionAlgorithms);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
  }

#.FN_BODY IntegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_integrityProtectionAlgorithms_EIA1,
      &hf_x2ap_integrityProtectionAlgorithms_EIA2,
      &hf_x2ap_integrityProtectionAlgorithms_EIA3,
      &hf_x2ap_integrityProtectionAlgorithms_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_IntegrityProtectionAlgorithms);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
Time-UE-StayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds

#.TYPE_ATTR
Time-UE-StayedInCell-EnhancedGranularity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt)

#.TYPE_ATTR
MobilityParametersInformation/handoverTriggerChange DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)

#.TYPE_ATTR
MobilityParametersModificationRange/handoverTriggerChangeLowerLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)

#.TYPE_ATTR
MobilityParametersModificationRange/handoverTriggerChangeUpperLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)

#.FN_BODY MeasurementsToActivate VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_measurementsToActivate_M1,
      &hf_x2ap_measurementsToActivate_M2,
      &hf_x2ap_measurementsToActivate_M3,
      &hf_x2ap_measurementsToActivate_M4,
      &hf_x2ap_measurementsToActivate_M5,
      &hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered,
      &hf_x2ap_measurementsToActivate_M6,
      &hf_x2ap_measurementsToActivate_M7,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeasurementsToActivate);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
Threshold-RSRP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRP_fmt)

#.TYPE_ATTR
Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRQ_fmt)

#.FN_BODY MDT-Location-Info VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_MDT_Location_Info_GNSS,
      &hf_x2ap_MDT_Location_Info_E_CID,
      &hf_x2ap_MDT_Location_Info_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MDT_Location_Info);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
ExpectedActivityPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds

#.TYPE_ATTR
ExpectedIdlePeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds

#.TYPE_ATTR
RSRPMeasurementResult/_item/rSRPMeasured DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRP_fmt)

#.FN_BODY DynamicNAICSInformation/transmissionModes VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  if(parameter_tvb){
    const gint *fields[] = {
      &hf_x2ap_MDT_transmissionModes_tm1,
      &hf_x2ap_MDT_transmissionModes_tm2,
      &hf_x2ap_MDT_transmissionModes_tm3,
      &hf_x2ap_MDT_transmissionModes_tm4,
      &hf_x2ap_MDT_transmissionModes_tm6,
      &hf_x2ap_MDT_transmissionModes_tm8,
      &hf_x2ap_MDT_transmissionModes_tm9,
      &hf_x2ap_MDT_transmissionModes_tm10,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_transmissionModes);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }

#.TYPE_ATTR
LHN-ID TYPE=FT_STRING DISPLAY = STR_UNICODE
#.FN_BODY LHN-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
  tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
  actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);

#.FN_BODY X2AP-Message VAL_PTR = &parameter_tvb
  tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
  if (parameter_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_X2AP_Message);
    dissect_X2AP_PDU_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  }
#.END

#.FN_HDR HandoverRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
#.FN_HDR HandoverRequestAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
#.FN_HDR HandoverPreparationFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
#.FN_HDR SNStatusTransfer
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
#.FN_HDR UEContextRelease
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
#.FN_HDR HandoverCancel
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
#.FN_HDR ErrorIndication
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
#.FN_HDR ResetRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
#.FN_HDR ResetResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
#.FN_HDR X2SetupRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest");
#.FN_HDR X2SetupResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse");
#.FN_HDR X2SetupFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure");
#.FN_HDR LoadInformation
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation");
#.FN_HDR ENBConfigurationUpdate
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
#.FN_HDR ENBConfigurationUpdateAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
#.FN_HDR ENBConfigurationUpdateFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
#.FN_HDR ResourceStatusRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
#.FN_HDR ResourceStatusResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
#.FN_HDR ResourceStatusFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
#.FN_HDR ResourceStatusUpdate
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
#.FN_HDR PrivateMessage
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
#.FN_HDR HandoverReport
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport");
#.FN_HDR RLFIndication
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication");
#.FN_HDR MobilityChangeRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest");
#.FN_HDR MobilityChangeAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge");
#.FN_HDR MobilityChangeFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure");
#.FN_HDR CellActivationRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
#.FN_HDR CellActivationResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
#.FN_HDR CellActivationFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
#.FN_HDR X2Release
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release");
#.FN_HDR X2APMessageTransfer
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer");
#.FN_HDR X2RemovalRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest");
#.FN_HDR X2RemovalResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse");
#.FN_HDR X2RemovalFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure");
#.FN_HDR SeNBAdditionRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest");
#.FN_HDR SeNBAdditionRequestAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge");
#.FN_HDR SeNBAdditionRequestReject
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject");
#.FN_HDR SeNBReconfigurationComplete
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete");
#.FN_HDR SeNBModificationRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest");
#.FN_HDR SeNBModificationRequestAcknowledge
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge");
#.FN_HDR SeNBModificationRequestReject
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject");
#.FN_HDR SeNBModificationRequired
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired");
#.FN_HDR SeNBModificationConfirm
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm");
#.FN_HDR SeNBModificationRefuse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse");
#.FN_HDR SeNBReleaseRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest");
#.FN_HDR SeNBReleaseRequired
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired");
#.FN_HDR SeNBReleaseConfirm
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm");
#.FN_HDR SeNBCounterCheckRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest");
#.FN_HDR RetrieveUEContextRequest
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
#.FN_HDR RetrieveUEContextResponse
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
#.FN_HDR RetrieveUEContextFailure
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");

#.ASSIGN_VALUE_TO_TYPE  # X2AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode

id-handoverPreparation					ProcedureCode
id-handoverCancel						ProcedureCode
id-loadIndication						ProcedureCode
id-errorIndication						ProcedureCode
id-snStatusTransfer						ProcedureCode
id-uEContextRelease						ProcedureCode
id-x2Setup								ProcedureCode
id-reset								ProcedureCode
id-eNBConfigurationUpdate				ProcedureCode
id-resourceStatusReportingInitiation	ProcedureCode
id-resourceStatusReporting				ProcedureCode
id-privateMessage						ProcedureCode
id-mobilitySettingsChange				ProcedureCode
id-rLFIndication						ProcedureCode
id-handoverReport						ProcedureCode
id-cellActivation						ProcedureCode
id-x2Release							ProcedureCode
id-x2APMessageTransfer						ProcedureCode
id-x2Removal							ProcedureCode
id-seNBAdditionPreparation					ProcedureCode
id-seNBReconfigurationCompletion				ProcedureCode
id-meNBinitiatedSeNBModificationPreparation			ProcedureCode
id-seNBinitiatedSeNBModification				ProcedureCode
id-meNBinitiatedSeNBRelease					ProcedureCode
id-seNBinitiatedSeNBRelease					ProcedureCode
id-seNBCounterCheck						ProcedureCode
id-retrieveUEContext						ProcedureCode


# ProtocolIE-ID

id-E-RABs-Admitted-Item														ProtocolIE-ID
id-E-RABs-Admitted-List														ProtocolIE-ID
id-E-RAB-Item																ProtocolIE-ID
id-E-RABs-NotAdmitted-List													ProtocolIE-ID
id-E-RABs-ToBeSetup-Item													ProtocolIE-ID
id-Cause																	ProtocolIE-ID
id-CellInformation															ProtocolIE-ID
id-CellInformation-Item														ProtocolIE-ID
id-New-eNB-UE-X2AP-ID														ProtocolIE-ID
id-Old-eNB-UE-X2AP-ID														ProtocolIE-ID
id-TargetCell-ID															ProtocolIE-ID
id-TargeteNBtoSource-eNBTransparentContainer								ProtocolIE-ID
id-TraceActivation															ProtocolIE-ID
id-UE-ContextInformation													ProtocolIE-ID
id-UE-HistoryInformation													ProtocolIE-ID
id-UE-X2AP-ID																ProtocolIE-ID
id-CriticalityDiagnostics													ProtocolIE-ID
id-E-RABs-SubjectToStatusTransfer-List										ProtocolIE-ID
id-E-RABs-SubjectToStatusTransfer-Item										ProtocolIE-ID
id-ServedCells																ProtocolIE-ID
id-GlobalENB-ID																ProtocolIE-ID
id-TimeToWait																ProtocolIE-ID
id-GUMMEI-ID																ProtocolIE-ID
id-GUGroupIDList															ProtocolIE-ID
id-ServedCellsToAdd															ProtocolIE-ID
id-ServedCellsToModify														ProtocolIE-ID
id-ServedCellsToDelete														ProtocolIE-ID
id-Registration-Request														ProtocolIE-ID
id-CellToReport																ProtocolIE-ID
id-ReportingPeriodicity														ProtocolIE-ID
id-CellToReport-Item														ProtocolIE-ID
id-CellMeasurementResult													ProtocolIE-ID
id-CellMeasurementResult-Item												ProtocolIE-ID
id-GUGroupIDToAddList														ProtocolIE-ID
id-GUGroupIDToDeleteList													ProtocolIE-ID
id-SRVCCOperationPossible													ProtocolIE-ID
id-Measurement-ID															ProtocolIE-ID
id-ReportCharacteristics													ProtocolIE-ID
id-ENB1-Measurement-ID														ProtocolIE-ID
id-ENB2-Measurement-ID														ProtocolIE-ID
id-Number-of-Antennaports													ProtocolIE-ID
id-CompositeAvailableCapacityGroup											ProtocolIE-ID
id-ENB1-Cell-ID																ProtocolIE-ID
id-ENB2-Cell-ID																ProtocolIE-ID
id-ENB2-Proposed-Mobility-Parameters										ProtocolIE-ID
id-ENB1-Mobility-Parameters													ProtocolIE-ID
id-ENB2-Mobility-Parameters-Modification-Range								ProtocolIE-ID
id-FailureCellPCI															ProtocolIE-ID
id-Re-establishmentCellECGI													ProtocolIE-ID
id-FailureCellCRNTI															ProtocolIE-ID
id-ShortMAC-I																ProtocolIE-ID
id-SourceCellECGI															ProtocolIE-ID
id-FailureCellECGI															ProtocolIE-ID
id-HandoverReportType														ProtocolIE-ID
id-PRACH-Configuration														ProtocolIE-ID
id-MBSFN-Subframe-Info														ProtocolIE-ID
id-ServedCellsToActivate													ProtocolIE-ID
id-ActivatedCellList														ProtocolIE-ID
id-DeactivationIndication													ProtocolIE-ID
id-UE-RLF-Report-Container													ProtocolIE-ID
id-ABSInformation															ProtocolIE-ID
id-InvokeIndication															ProtocolIE-ID
id-ABS-Status																ProtocolIE-ID
id-PartialSuccessIndicator													ProtocolIE-ID
id-MeasurementInitiationResult-List											ProtocolIE-ID
id-MeasurementInitiationResult-Item											ProtocolIE-ID
id-MeasurementFailureCause-Item												ProtocolIE-ID
id-CompleteFailureCauseInformation-List										ProtocolIE-ID
id-CompleteFailureCauseInformation-Item										ProtocolIE-ID
id-CSG-Id																	ProtocolIE-ID
id-CSGMembershipStatus														ProtocolIE-ID
id-MDTConfiguration															ProtocolIE-ID
id-ManagementBasedMDTallowed												ProtocolIE-ID
id-RRCConnSetupIndicator													ProtocolIE-ID
id-NeighbourTAC																ProtocolIE-ID
id-Time-UE-StayedInCell-EnhancedGranularity									ProtocolIE-ID
id-RRCConnReestabIndicator													ProtocolIE-ID
id-MBMS-Service-Area-List													ProtocolIE-ID
id-HO-cause																	ProtocolIE-ID
id-TargetCellInUTRAN														ProtocolIE-ID
id-MobilityInformation														ProtocolIE-ID
id-SourceCellCRNTI															ProtocolIE-ID
id-MultibandInfoList														ProtocolIE-ID
id-M3Configuration															ProtocolIE-ID
id-M4Configuration															ProtocolIE-ID
id-M5Configuration															ProtocolIE-ID
id-MDT-Location-Info														ProtocolIE-ID
id-ManagementBasedMDTPLMNList												ProtocolIE-ID
id-SignallingBasedMDTPLMNList												ProtocolIE-ID
id-ReceiveStatusOfULPDCPSDUsExtended										ProtocolIE-ID
id-ULCOUNTValueExtended														ProtocolIE-ID
id-DLCOUNTValueExtended														ProtocolIE-ID
id-eARFCNExtension															ProtocolIE-ID
id-UL-EARFCNExtension														ProtocolIE-ID
id-DL-EARFCNExtension														ProtocolIE-ID
id-AdditionalSpecialSubframe-Info											ProtocolIE-ID
id-Masked-IMEISV															ProtocolIE-ID
id-IntendedULDLConfiguration												ProtocolIE-ID
id-ExtendedULInterferenceOverloadInfo										ProtocolIE-ID
id-RNL-Header																ProtocolIE-ID
id-x2APMessage																ProtocolIE-ID
id-ProSeAuthorized															ProtocolIE-ID
id-ExpectedUEBehaviour														ProtocolIE-ID
id-UE-HistoryInformationFromTheUE											ProtocolIE-ID
id-DynamicDLTransmissionInformation											ProtocolIE-ID
id-UE-RLF-Report-Container-for-extended-bands								ProtocolIE-ID
id-CoMPInformation															ProtocolIE-ID
id-ReportingPeriodicityRSRPMR												ProtocolIE-ID
id-RSRPMRList																ProtocolIE-ID
id-MeNB-UE-X2AP-ID															ProtocolIE-ID
id-SeNB-UE-X2AP-ID															ProtocolIE-ID
id-UE-SecurityCapabilities													ProtocolIE-ID
id-SeNBSecurityKey															ProtocolIE-ID
id-SeNBUEAggregateMaximumBitRate											ProtocolIE-ID
id-ServingPLMN																ProtocolIE-ID
id-E-RABs-ToBeAdded-List													ProtocolIE-ID
id-E-RABs-ToBeAdded-Item													ProtocolIE-ID
id-MeNBtoSeNBContainer														ProtocolIE-ID
id-E-RABs-Admitted-ToBeAdded-List											ProtocolIE-ID
id-E-RABs-Admitted-ToBeAdded-Item											ProtocolIE-ID
id-SeNBtoMeNBContainer														ProtocolIE-ID
id-ResponseInformationSeNBReconfComp										ProtocolIE-ID
id-UE-ContextInformationSeNBModReq											ProtocolIE-ID
id-E-RABs-ToBeAdded-ModReqItem												ProtocolIE-ID
id-E-RABs-ToBeModified-ModReqItem											ProtocolIE-ID
id-E-RABs-ToBeReleased-ModReqItem											ProtocolIE-ID
id-E-RABs-Admitted-ToBeAdded-ModAckList										ProtocolIE-ID
id-E-RABs-Admitted-ToBeModified-ModAckList									ProtocolIE-ID
id-E-RABs-Admitted-ToBeReleased-ModAckList									ProtocolIE-ID
id-E-RABs-Admitted-ToBeAdded-ModAckItem										ProtocolIE-ID
id-E-RABs-Admitted-ToBeModified-ModAckItem									ProtocolIE-ID
id-E-RABs-Admitted-ToBeReleased-ModAckItem									ProtocolIE-ID
id-E-RABs-ToBeReleased-ModReqd												ProtocolIE-ID
id-E-RABs-ToBeReleased-ModReqdItem											ProtocolIE-ID
id-SCGChangeIndication														ProtocolIE-ID
id-E-RABs-ToBeReleased-List-RelReq											ProtocolIE-ID
id-E-RABs-ToBeReleased-RelReqItem											ProtocolIE-ID
id-E-RABs-ToBeReleased-List-RelConf											ProtocolIE-ID
id-E-RABs-ToBeReleased-RelConfItem											ProtocolIE-ID
id-E-RABs-SubjectToCounterCheck-List										ProtocolIE-ID
id-E-RABs-SubjectToCounterCheckItem											ProtocolIE-ID
id-CoverageModificationList													ProtocolIE-ID
id-ReportingPeriodicityCSIR													ProtocolIE-ID
id-CSIReportList															ProtocolIE-ID
id-UEID																		ProtocolIE-ID
id-enhancedRNTP																ProtocolIE-ID
id-ProSeUEtoNetworkRelaying													ProtocolIE-ID
id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18									ProtocolIE-ID
id-ULCOUNTValuePDCP-SNlength18												ProtocolIE-ID
id-DLCOUNTValuePDCP-SNlength18												ProtocolIE-ID
id-UE-ContextReferenceAtSeNB												ProtocolIE-ID
id-UE-ContextKeptIndicator													ProtocolIE-ID
id-New-eNB-UE-X2AP-ID-Extension												ProtocolIE-ID
id-Old-eNB-UE-X2AP-ID-Extension												ProtocolIE-ID
id-MeNB-UE-X2AP-ID-Extension												ProtocolIE-ID
id-SeNB-UE-X2AP-ID-Extension												ProtocolIE-ID
id-LHN-ID																	ProtocolIE-ID
id-FreqBandIndicatorPriority												ProtocolIE-ID
id-M6Configuration															ProtocolIE-ID
id-M7Configuration															ProtocolIE-ID
id-Tunnel-Information-for-BBF												ProtocolIE-ID
id-SIPTO-BearerDeactivationIndication										ProtocolIE-ID
id-GW-TransportLayerAddress													ProtocolIE-ID
id-Correlation-ID															ProtocolIE-ID
id-SIPTO-Correlation-ID														ProtocolIE-ID
id-SIPTO-L-GW-TransportLayerAddress											ProtocolIE-ID
id-X2RemovalThreshold														ProtocolIE-ID
id-CellReportingIndicator													ProtocolIE-ID
id-BearerType																ProtocolIE-ID
id-resumeID																	ProtocolIE-ID
id-UE-ContextInformationRetrieve											ProtocolIE-ID
id-E-RABs-ToBeSetupRetrieve-Item											ProtocolIE-ID
id-NewEUTRANCellIdentifier													ProtocolIE-ID
id-OffsetOfNbiotChannelNumberToDL-EARFCN									ProtocolIE-ID
id-OffsetOfNbiotChannelNumberToUL-EARFCN									ProtocolIE-ID

#.REGISTER

#X2AP-PROTOCOL-IES
E-RABs-Admitted-Item						N x2ap.ies id-E-RABs-Admitted-Item
E-RABs-Admitted-List						N x2ap.ies id-E-RABs-Admitted-List
E-RAB-Item									N x2ap.ies id-E-RAB-Item
E-RAB-List									N x2ap.ies id-E-RABs-NotAdmitted-List
E-RABs-ToBeSetup-Item						N x2ap.ies id-E-RABs-ToBeSetup-Item
Cause										N x2ap.ies id-Cause
CellInformation-List						N x2ap.ies id-CellInformation
CellInformation-Item						N x2ap.ies id-CellInformation-Item
UE-X2AP-ID									N x2ap.ies id-New-eNB-UE-X2AP-ID
UE-X2AP-ID									N x2ap.ies id-Old-eNB-UE-X2AP-ID
ECGI										N x2ap.ies id-TargetCell-ID
TargeteNBtoSource-eNBTransparentContainer	N x2ap.ies id-TargeteNBtoSource-eNBTransparentContainer
TraceActivation								N x2ap.ies id-TraceActivation
UE-ContextInformation						N x2ap.ies id-UE-ContextInformation
UE-HistoryInformation						N x2ap.ies id-UE-HistoryInformation
UE-X2AP-ID									N x2ap.ies id-UE-X2AP-ID
CriticalityDiagnostics						N x2ap.ies id-CriticalityDiagnostics
E-RABs-SubjectToStatusTransfer-List			N x2ap.ies id-E-RABs-SubjectToStatusTransfer-List
E-RABs-SubjectToStatusTransfer-Item			N x2ap.ies id-E-RABs-SubjectToStatusTransfer-Item
ServedCells									N x2ap.ies id-ServedCells
GlobalENB-ID								N x2ap.ies id-GlobalENB-ID
TimeToWait									N x2ap.ies id-TimeToWait
GUMMEI										N x2ap.ies id-GUMMEI-ID
GUGroupIDList								N x2ap.ies id-GUGroupIDList
ServedCells									N x2ap.ies id-ServedCellsToAdd
ServedCellsToModify							N x2ap.ies id-ServedCellsToModify
Old-ECGIs									N x2ap.ies id-ServedCellsToDelete
Registration-Request						N x2ap.ies id-Registration-Request
CellToReport-List							N x2ap.ies id-CellToReport
ReportingPeriodicity						N x2ap.ies id-ReportingPeriodicity
CellToReport-Item							N x2ap.ies id-CellToReport-Item
CellMeasurementResult-List					N x2ap.ies id-CellMeasurementResult
CellMeasurementResult-Item					N x2ap.ies id-CellMeasurementResult-Item
GUGroupIDList								N x2ap.ies id-GUGroupIDToAddList
GUGroupIDList								N x2ap.ies id-GUGroupIDToDeleteList
SRVCCOperationPossible						N x2ap.ies id-SRVCCOperationPossible
# N x2ap.ies id-Measurement-ID
ReportCharacteristics						N x2ap.ies id-ReportCharacteristics
Measurement-ID								N x2ap.ies id-ENB1-Measurement-ID
Measurement-ID								N x2ap.ies id-ENB2-Measurement-ID
ECGI										N x2ap.ies id-ENB1-Cell-ID
ECGI										N x2ap.ies id-ENB2-Cell-ID
MobilityParametersInformation				N x2ap.ies id-ENB2-Proposed-Mobility-Parameters
MobilityParametersInformation				N x2ap.ies id-ENB1-Mobility-Parameters
MobilityParametersModificationRange			N x2ap.ies id-ENB2-Mobility-Parameters-Modification-Range
PCI											N x2ap.ies id-FailureCellPCI
ECGI										N x2ap.ies id-Re-establishmentCellECGI
CRNTI										N x2ap.ies id-FailureCellCRNTI
ShortMAC-I									N x2ap.ies id-ShortMAC-I
ECGI										N x2ap.ies id-SourceCellECGI
ECGI										N x2ap.ies id-FailureCellECGI
HandoverReportType							N x2ap.ies id-HandoverReportType
UE-RLF-Report-Container						N x2ap.ies id-UE-RLF-Report-Container
ServedCellsToActivate						N x2ap.ies id-ServedCellsToActivate
ActivatedCellList							N x2ap.ies id-ActivatedCellList
PartialSuccessIndicator						N x2ap.ies id-PartialSuccessIndicator
MeasurementInitiationResult-List			N x2ap.ies id-MeasurementInitiationResult-List
MeasurementInitiationResult-Item			N x2ap.ies id-MeasurementInitiationResult-Item
MeasurementFailureCause-Item				N x2ap.ies id-MeasurementFailureCause-Item
CompleteFailureCauseInformation-List		N x2ap.ies id-CompleteFailureCauseInformation-List
CompleteFailureCauseInformation-Item		N x2ap.ies id-CompleteFailureCauseInformation-Item
CSGMembershipStatus							N x2ap.ies id-CSGMembershipStatus
RRCConnSetupIndicator						N x2ap.ies id-RRCConnSetupIndicator
RRCConnReestabIndicator						N x2ap.ies id-RRCConnReestabIndicator
TargetCellInUTRAN							N x2ap.ies id-TargetCellInUTRAN
MobilityInformation							N x2ap.ies id-MobilityInformation
CRNTI										N x2ap.ies id-SourceCellCRNTI
Masked-IMEISV								N x2ap.ies id-Masked-IMEISV
RNL-Header									N x2ap.ies id-RNL-Header
X2AP-Message								N x2ap.ies id-x2APMessage
ProSeAuthorized							N x2ap.ies id-ProSeAuthorized
ExpectedUEBehaviour						N x2ap.ies id-ExpectedUEBehaviour
UE-HistoryInformationFromTheUE					N x2ap.ies id-UE-HistoryInformationFromTheUE
UE-RLF-Report-Container-for-extended-bands			N x2ap.ies id-UE-RLF-Report-Container-for-extended-bands
ReportingPeriodicityRSRPMR					N x2ap.ies id-ReportingPeriodicityRSRPMR
UE-X2AP-ID							N x2ap.ies id-MeNB-UE-X2AP-ID
UE-X2AP-ID							N x2ap.ies id-SeNB-UE-X2AP-ID
UESecurityCapabilities						N x2ap.ies id-UE-SecurityCapabilities
SeNBSecurityKey							N x2ap.ies id-SeNBSecurityKey
UEAggregateMaximumBitRate					N x2ap.ies id-SeNBUEAggregateMaximumBitRate
PLMN-Identity							N x2ap.ies id-ServingPLMN
E-RABs-ToBeAdded-List						N x2ap.ies id-E-RABs-ToBeAdded-List
E-RABs-ToBeAdded-Item						N x2ap.ies id-E-RABs-ToBeAdded-Item
MeNBtoSeNBContainer						N x2ap.ies id-MeNBtoSeNBContainer
E-RABs-Admitted-ToBeAdded-List					N x2ap.ies id-E-RABs-Admitted-ToBeAdded-List
E-RABs-Admitted-ToBeAdded-Item					N x2ap.ies id-E-RABs-Admitted-ToBeAdded-Item
SeNBtoMeNBContainer						N x2ap.ies id-SeNBtoMeNBContainer
ResponseInformationSeNBReconfComp				N x2ap.ies id-ResponseInformationSeNBReconfComp
UE-ContextInformationSeNBModReq					N x2ap.ies id-UE-ContextInformationSeNBModReq
E-RABs-ToBeAdded-ModReqItem					N x2ap.ies id-E-RABs-ToBeAdded-ModReqItem
E-RABs-ToBeModified-ModReqItem					N x2ap.ies id-E-RABs-ToBeModified-ModReqItem
E-RABs-ToBeReleased-ModReqItem					N x2ap.ies id-E-RABs-ToBeReleased-ModReqItem
E-RABs-Admitted-ToBeAdded-ModAckList				N x2ap.ies id-E-RABs-Admitted-ToBeAdded-ModAckList
E-RABs-Admitted-ToBeModified-ModAckList				N x2ap.ies id-E-RABs-Admitted-ToBeModified-ModAckList
E-RABs-Admitted-ToBeReleased-ModAckList				N x2ap.ies id-E-RABs-Admitted-ToBeReleased-ModAckList
E-RABs-Admitted-ToBeAdded-ModAckItem				N x2ap.ies id-E-RABs-Admitted-ToBeAdded-ModAckItem
E-RABs-Admitted-ToBeModified-ModAckItem				N x2ap.ies id-E-RABs-Admitted-ToBeModified-ModAckItem
E-RABs-Admitted-ToReleased-ModAckItem				N x2ap.ies id-E-RABs-Admitted-ToBeReleased-ModAckItem
E-RABs-ToBeReleased-ModReqd					N x2ap.ies id-E-RABs-ToBeReleased-ModReqd
E-RABs-ToBeReleased-ModReqdItem					N x2ap.ies id-E-RABs-ToBeReleased-ModReqdItem
SCGChangeIndication						N x2ap.ies id-SCGChangeIndication
E-RABs-ToBeReleased-List-RelReq					N x2ap.ies id-E-RABs-ToBeReleased-List-RelReq
E-RABs-ToBeReleased-RelReqItem					N x2ap.ies id-E-RABs-ToBeReleased-RelReqItem
E-RABs-ToBeReleased-List-RelConf				N x2ap.ies id-E-RABs-ToBeReleased-List-RelConf
E-RABs-ToBeReleased-RelConfItem					N x2ap.ies id-E-RABs-ToBeReleased-RelConfItem
E-RABs-SubjectToCounterCheck-List				N x2ap.ies id-E-RABs-SubjectToCounterCheck-List
E-RABs-SubjectToCounterCheckItem				N x2ap.ies id-E-RABs-SubjectToCounterCheckItem
CoverageModificationList					N x2ap.ies id-CoverageModificationList
ReportingPeriodicityCSIR					N x2ap.ies id-ReportingPeriodicityCSIR
UE-ContextReferenceAtSeNB					N x2ap.ies id-UE-ContextReferenceAtSeNB
UE-ContextKeptIndicator						N x2ap.ies id-UE-ContextKeptIndicator
UE-X2AP-ID-Extension						N x2ap.ies id-New-eNB-UE-X2AP-ID-Extension
UE-X2AP-ID-Extension						N x2ap.ies id-Old-eNB-UE-X2AP-ID-Extension
UE-X2AP-ID-Extension						N x2ap.ies id-MeNB-UE-X2AP-ID-Extension
UE-X2AP-ID-Extension						N x2ap.ies id-SeNB-UE-X2AP-ID-Extension
LHN-ID								N x2ap.ies id-LHN-ID
TunnelInformation						N x2ap.ies id-Tunnel-Information-for-BBF
SIPTOBearerDeactivationIndication				N x2ap.ies id-SIPTO-BearerDeactivationIndication
TransportLayerAddress						N x2ap.ies id-GW-TransportLayerAddress
TransportLayerAddress						N x2ap.ies id-SIPTO-L-GW-TransportLayerAddress
X2BenefitValue							N x2ap.ies id-X2RemovalThreshold
ResumeID							N x2ap.ies id-resumeID
UE-ContextInformationRetrieve					N x2ap.ies id-UE-ContextInformationRetrieve
E-RABs-ToBeSetupRetrieve-Item					N x2ap.ies id-E-RABs-ToBeSetupRetrieve-Item
EUTRANCellIdentifier						N x2ap.ies id-NewEUTRANCellIdentifier

#X2AP-PROTOCOL-EXTENSION
Number-of-Antennaports						N x2ap.extension id-Number-of-Antennaports
CompositeAvailableCapacityGroup				N x2ap.extension id-CompositeAvailableCapacityGroup
PRACH-Configuration							N x2ap.extension id-PRACH-Configuration
MBSFN-Subframe-Infolist						N x2ap.extension id-MBSFN-Subframe-Info
DeactivationIndication						N x2ap.extension id-DeactivationIndication
ABSInformation								N x2ap.extension id-ABSInformation
InvokeIndication							N x2ap.extension id-InvokeIndication
ABS-Status									N x2ap.extension id-ABS-Status
CSG-Id										N x2ap.extension id-CSG-Id
MDT-Configuration							N x2ap.extension id-MDTConfiguration
ManagementBasedMDTallowed					N x2ap.extension id-ManagementBasedMDTallowed
TAC											N x2ap.extension id-NeighbourTAC
Time-UE-StayedInCell-EnhancedGranularity	N x2ap.extension id-Time-UE-StayedInCell-EnhancedGranularity
MBMS-Service-Area-Identity-List				N x2ap.extension id-MBMS-Service-Area-List
Cause										N x2ap.extension id-HO-cause
MultibandInfoList							N x2ap.extension id-MultibandInfoList
M3Configuration								N x2ap.extension id-M3Configuration
M4Configuration								N x2ap.extension id-M4Configuration
M5Configuration								N x2ap.extension id-M5Configuration
MDT-Location-Info							N x2ap.extension id-MDT-Location-Info
MDTPLMNList									N x2ap.extension id-ManagementBasedMDTPLMNList
MDTPLMNList									N x2ap.extension id-SignallingBasedMDTPLMNList
ReceiveStatusOfULPDCPSDUsExtended			N x2ap.extension id-ReceiveStatusOfULPDCPSDUsExtended
COUNTValueExtended							N x2ap.extension id-ULCOUNTValueExtended
COUNTValueExtended							N x2ap.extension id-DLCOUNTValueExtended
EARFCNExtension								N x2ap.extension id-eARFCNExtension
EARFCNExtension								N x2ap.extension id-UL-EARFCNExtension
EARFCNExtension								N x2ap.extension id-DL-EARFCNExtension
AdditionalSpecialSubframe-Info				N x2ap.extension id-AdditionalSpecialSubframe-Info
SubframeAssignment							N x2ap.extension id-IntendedULDLConfiguration
ExtendedULInterferenceOverloadInfo			N x2ap.extension id-ExtendedULInterferenceOverloadInfo
DynamicDLTransmissionInformation				N x2ap.extension id-DynamicDLTransmissionInformation
CoMPInformation							N x2ap.extension id-CoMPInformation
RSRPMRList							N x2ap.extension id-RSRPMRList
CSIReportList							N x2ap.extension id-CSIReportList
UEID								N x2ap.extension id-UEID
EnhancedRNTP							N x2ap.extension id-enhancedRNTP
ProSeUEtoNetworkRelaying					N x2ap.extension id-ProSeUEtoNetworkRelaying
ReceiveStatusOfULPDCPSDUsPDCP-SNlength18			N x2ap.extension id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18
COUNTvaluePDCP-SNlength18					N x2ap.extension id-ULCOUNTValuePDCP-SNlength18
COUNTvaluePDCP-SNlength18					N x2ap.extension id-DLCOUNTValuePDCP-SNlength18
FreqBandIndicatorPriority					N x2ap.extension id-FreqBandIndicatorPriority
M6Configuration							N x2ap.extension id-M6Configuration
M7Configuration							N x2ap.extension id-M7Configuration
Correlation-ID							N x2ap.extension id-Correlation-ID
Correlation-ID							N x2ap.extension id-SIPTO-Correlation-ID
CellReportingIndicator						N x2ap.extension id-CellReportingIndicator
BearerType							N x2ap.extension id-BearerType
OffsetOfNbiotChannelNumberToEARFCN				N x2ap.extension id-OffsetOfNbiotChannelNumberToDL-EARFCN
OffsetOfNbiotChannelNumberToEARFCN				N x2ap.extension id-OffsetOfNbiotChannelNumberToUL-EARFCN

# X2AP-PDU-Descriptions.asn  Interface Elementary Procedures
#X2AP-ELEMENTARY-PROCEDURE
HandoverRequest						N x2ap.proc.imsg id-handoverPreparation
HandoverRequestAcknowledge			N x2ap.proc.sout id-handoverPreparation
HandoverPreparationFailure			N x2ap.proc.uout id-handoverPreparation

SNStatusTransfer					N x2ap.proc.imsg id-snStatusTransfer

UEContextRelease					N x2ap.proc.imsg id-uEContextRelease

HandoverCancel						N x2ap.proc.imsg id-handoverCancel

ErrorIndication						N x2ap.proc.imsg id-errorIndication

ResetRequest						N x2ap.proc.imsg id-reset
ResetResponse						N x2ap.proc.sout id-reset

X2SetupRequest						N x2ap.proc.imsg id-x2Setup
X2SetupResponse						N x2ap.proc.sout id-x2Setup
X2SetupFailure						N x2ap.proc.uout id-x2Setup

LoadInformation						N x2ap.proc.imsg id-loadIndication

ENBConfigurationUpdate				N x2ap.proc.imsg id-eNBConfigurationUpdate
ENBConfigurationUpdateAcknowledge	N x2ap.proc.sout id-eNBConfigurationUpdate
ENBConfigurationUpdateFailure		N x2ap.proc.uout id-eNBConfigurationUpdate

ResourceStatusRequest				N x2ap.proc.imsg id-resourceStatusReportingInitiation
ResourceStatusResponse				N x2ap.proc.sout id-resourceStatusReportingInitiation
ResourceStatusFailure				N x2ap.proc.uout id-resourceStatusReportingInitiation

ResourceStatusUpdate				N x2ap.proc.imsg id-resourceStatusReporting

PrivateMessage						N x2ap.proc.imsg id-privateMessage

HandoverReport						N x2ap.proc.imsg id-handoverReport

RLFIndication						N x2ap.proc.imsg id-rLFIndication

MobilityChangeRequest				N x2ap.proc.imsg id-mobilitySettingsChange
MobilityChangeAcknowledge			N x2ap.proc.sout id-mobilitySettingsChange
MobilityChangeFailure				N x2ap.proc.uout id-mobilitySettingsChange

CellActivationRequest				N x2ap.proc.imsg id-cellActivation
CellActivationResponse				N x2ap.proc.sout id-cellActivation
CellActivationFailure				N x2ap.proc.uout id-cellActivation

X2Release							N x2ap.proc.imsg id-x2Release

X2APMessageTransfer					N x2ap.proc.imsg id-x2APMessageTransfer

X2RemovalRequest				N x2ap.proc.imsg id-x2Removal
X2RemovalResponse				N x2ap.proc.sout id-x2Removal
X2RemovalFailure				N x2ap.proc.uout id-x2Removal

SeNBAdditionRequest				N x2ap.proc.imsg id-seNBAdditionPreparation
SeNBAdditionRequestAcknowledge			N x2ap.proc.sout id-seNBAdditionPreparation
SeNBAdditionRequestReject			N x2ap.proc.uout id-seNBAdditionPreparation

SeNBReconfigurationComplete			N x2ap.proc.imsg id-seNBReconfigurationCompletion

SeNBModificationRequest				N x2ap.proc.imsg id-meNBinitiatedSeNBModificationPreparation
SeNBModificationRequestAcknowledge		N x2ap.proc.sout id-meNBinitiatedSeNBModificationPreparation
SeNBModificationRequestReject			N x2ap.proc.uout id-meNBinitiatedSeNBModificationPreparation

SeNBModificationRequired			N x2ap.proc.imsg id-seNBinitiatedSeNBModification
SeNBModificationConfirm				N x2ap.proc.sout id-seNBinitiatedSeNBModification
SeNBModificationRefuse				N x2ap.proc.uout id-seNBinitiatedSeNBModification

SeNBReleaseRequest				N x2ap.proc.imsg id-meNBinitiatedSeNBRelease

SeNBReleaseRequired				N x2ap.proc.imsg id-seNBinitiatedSeNBRelease
SeNBReleaseConfirm				N x2ap.proc.sout id-seNBinitiatedSeNBRelease

SeNBCounterCheckRequest				N x2ap.proc.imsg id-seNBCounterCheck

RetrieveUEContextRequest			N x2ap.proc.imsg id-retrieveUEContext
RetrieveUEContextResponse			N x2ap.proc.sout id-retrieveUEContext
RetrieveUEContextFailure			N x2ap.proc.uout id-retrieveUEContext
#.END