Coverage Report

Created: 2026-06-30 07:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-e2ap.c
Line
Count
Source
1
/* Do not modify this file. Changes will be overwritten.                      */
2
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3
/* packet-e2ap.c                                                              */
4
/* asn2wrs.py -q -L -p e2ap -c ./e2ap.cnf -s ./packet-e2ap-template -D . -O ../.. E2AP-CommonDataTypes.asn E2AP-Constants.asn E2AP-Containers.asn E2AP-IEs.asn E2AP-PDU-Contents.asn E2AP-PDU-Descriptions.asn e2sm-v3.01.asn e2sm-rc-v1.03.asn e2sm-kpm-v3.00.asn e2sm-ni-v1.00.asn */
5
6
/* packet-e2ap.c
7
 * Routines for E2APApplication Protocol (e2ap) packet dissection
8
 * Copyright 2021, Martin Mathieson
9
 *
10
 * Wireshark - Network traffic analyzer
11
 * By Gerald Combs <gerald@wireshark.org>
12
 * Copyright 1998 Gerald Combs
13
 *
14
 * SPDX-License-Identifier: GPL-2.0-or-later
15
 *
16
 * References: ORAN-WG3.E2AP-v03.00, ORAN-WG3.E2SM-KPM-v03.00, ORAN-WG3.E2SM-RC.03.00
17
 */
18
19
#include "config.h"
20
21
#include <epan/packet.h>
22
#include <epan/strutil.h>
23
#include <epan/asn1.h>
24
#include <epan/prefs.h>
25
#include <epan/expert.h>
26
#include <epan/proto_data.h>
27
#include <epan/conversation.h>
28
#include <epan/to_str.h>
29
#include <epan/oids.h>
30
#include <epan/tap.h>
31
#include <epan/stats_tree.h>
32
#include <wsutil/array.h>
33
34
#include "packet-e2ap.h"
35
#include "packet-per.h"
36
#include "packet-ntp.h"
37
#include "packet-sctp.h"
38
39
/* Dissector will use SCTP PPID 70, 71 or 72 or SCTP port 37464. */
40
14
#define SCTP_PORT_E2AP 37464
41
42
/* RC Version (can't infer from OIDs..) */
43
enum manual_rc_version_choice {
44
    RC_Version_1=1,
45
    RC_Version_3=3
46
};
47
/* Default to later available version */
48
static int e2ap_rc_version_pref_choice = (int)RC_Version_3;
49
50
void proto_register_e2ap(void);
51
void proto_reg_handoff_e2ap(void);
52
53
static dissector_handle_t e2ap_handle;
54
55
92
#define maxProtocolIEs                 65535
56
2
#define maxnoofErrors                  256
57
6
#define maxofE2nodeComponents          1024
58
8
#define maxofRANfunctionID             256
59
12
#define maxofRICactionID               16
60
7
#define maxofTNLA                      32
61
1
#define maxofRICrequestID              1024
62
0
#define maxE1APid                      65535
63
0
#define maxF1APid                      4
64
0
#define maxEARFCN                      65535
65
0
#define maxNRARFCN                     3279165
66
0
#define maxnoofNrCellBands             32
67
0
#define maxnoofMessages                65535
68
0
#define maxnoofE2InfoChanges           65535
69
0
#define maxnoofUEInfoChanges           65535
70
0
#define maxnoofRRCstate                8
71
0
#define maxnoofParametersToReport      65535
72
0
#define maxnoofPolicyConditions        65535
73
0
#define maxnoofAssociatedRANParameters 65535
74
0
#define maxnoofUEID                    65535
75
0
#define maxnoofCellID                  65535
76
0
#define maxnoofRANOutcomeParameters    255
77
0
#define maxnoofParametersinStructure   65535
78
0
#define maxnoofItemsinList             65535
79
0
#define maxnoofUEInfo                  65535
80
0
#define maxnoofCellInfo                65535
81
0
#define maxnoofUEeventInfo             65535
82
0
#define maxnoofRANparamTest            255
83
0
#define maxnoofNeighbourCell           65535
84
0
#define maxnoofRICStyles               63
85
0
#define maxnoofCallProcessTypes        65535
86
0
#define maxnoofCallProcessBreakpoints  65535
87
0
#define maxnoofInsertIndication        65535
88
0
#define maxnoofControlAction           65535
89
0
#define maxnoofPolicyAction            65535
90
0
#define maxnoofInsertIndicationActions 63
91
0
#define maxnoofMulCtrlActions          63
92
#define maxnoofCells                   16384
93
0
#define maxnoofMeasurementInfo         65535
94
0
#define maxnoofLabelInfo               2147483647
95
0
#define maxnoofMeasurementRecord       65535
96
0
#define maxnoofMeasurementValue        2147483647
97
0
#define maxnoofConditionInfo           32768
98
0
#define maxnoofConditionInfoPerSub     32768
99
0
#define maxnoofUEIDPerSub              65535
100
0
#define maxnoofUEMeasReport            65535
101
0
#define maxnoofBin                     65535
102
0
#define maxofInterfaceProtocolTests    15
103
0
#define maxofRANueGroups               255
104
0
#define maxofActionParameters          255
105
0
#define maxofRANparameters             65535
106
0
#define maxofNItypes                   63
107
0
#define maxofRICstyles                 63
108
109
typedef enum _ProcedureCode_enum {
110
  id_E2setup   =   1,
111
  id_ErrorIndication =   2,
112
  id_Reset     =   3,
113
  id_RICcontrol =   4,
114
  id_RICindication =   5,
115
  id_RICserviceQuery =   6,
116
  id_RICserviceUpdate =   7,
117
  id_RICsubscription =   8,
118
  id_RICsubscriptionDelete =   9,
119
  id_E2nodeConfigurationUpdate =  10,
120
  id_E2connectionUpdate =  11,
121
  id_RICsubscriptionDeleteRequired =  12,
122
  id_E2removal =  13,
123
  id_RICsubscriptionModification =  14,
124
  id_RICsubscriptionModificationRequired =  15,
125
  id_RICquery  =  16
126
} ProcedureCode_enum;
127
128
typedef enum _ProtocolIE_ID_enum {
129
  id_Cause     =   1,
130
  id_CriticalityDiagnostics =   2,
131
  id_GlobalE2node_ID =   3,
132
  id_GlobalRIC_ID =   4,
133
  id_RANfunctionID =   5,
134
  id_RANfunctionID_Item =   6,
135
  id_RANfunctionIEcause_Item =   7,
136
  id_RANfunction_Item =   8,
137
  id_RANfunctionsAccepted =   9,
138
  id_RANfunctionsAdded =  10,
139
  id_RANfunctionsDeleted =  11,
140
  id_RANfunctionsModified =  12,
141
  id_RANfunctionsRejected =  13,
142
  id_RICaction_Admitted_Item =  14,
143
  id_RICactionID =  15,
144
  id_RICaction_NotAdmitted_Item =  16,
145
  id_RICactions_Admitted =  17,
146
  id_RICactions_NotAdmitted =  18,
147
  id_RICaction_ToBeSetup_Item =  19,
148
  id_RICcallProcessID =  20,
149
  id_RICcontrolAckRequest =  21,
150
  id_RICcontrolHeader =  22,
151
  id_RICcontrolMessage =  23,
152
  id_RICcontrolStatus =  24,
153
  id_RICindicationHeader =  25,
154
  id_RICindicationMessage =  26,
155
  id_RICindicationSN =  27,
156
  id_RICindicationType =  28,
157
  id_RICrequestID =  29,
158
  id_RICsubscriptionDetails =  30,
159
  id_TimeToWait =  31,
160
  id_RICcontrolOutcome =  32,
161
  id_E2nodeComponentConfigUpdate =  33,
162
  id_E2nodeComponentConfigUpdate_Item =  34,
163
  id_E2nodeComponentConfigUpdateAck =  35,
164
  id_E2nodeComponentConfigUpdateAck_Item =  36,
165
  id_E2connectionSetup =  39,
166
  id_E2connectionSetupFailed =  40,
167
  id_E2connectionSetupFailed_Item =  41,
168
  id_E2connectionFailed_Item =  42,
169
  id_E2connectionUpdate_Item =  43,
170
  id_E2connectionUpdateAdd =  44,
171
  id_E2connectionUpdateModify =  45,
172
  id_E2connectionUpdateRemove =  46,
173
  id_E2connectionUpdateRemove_Item =  47,
174
  id_TNLinformation =  48,
175
  id_TransactionID =  49,
176
  id_E2nodeComponentConfigAddition =  50,
177
  id_E2nodeComponentConfigAddition_Item =  51,
178
  id_E2nodeComponentConfigAdditionAck =  52,
179
  id_E2nodeComponentConfigAdditionAck_Item =  53,
180
  id_E2nodeComponentConfigRemoval =  54,
181
  id_E2nodeComponentConfigRemoval_Item =  55,
182
  id_E2nodeComponentConfigRemovalAck =  56,
183
  id_E2nodeComponentConfigRemovalAck_Item =  57,
184
  id_E2nodeTNLassociationRemoval =  58,
185
  id_E2nodeTNLassociationRemoval_Item =  59,
186
  id_RICsubscriptionToBeRemoved =  60,
187
  id_RICsubscription_withCause_Item =  61,
188
  id_RICsubscriptionStartTime =  62,
189
  id_RICsubscriptionEndTime =  63,
190
  id_RICeventTriggerDefinitionToBeModified =  64,
191
  id_RICactionsToBeRemovedForModification_List =  65,
192
  id_RICaction_ToBeRemovedForModification_Item =  66,
193
  id_RICactionsToBeModifiedForModification_List =  67,
194
  id_RICaction_ToBeModifiedForModification_Item =  68,
195
  id_RICactionsToBeAddedForModification_List =  69,
196
  id_RICaction_ToBeAddedForModification_Item =  70,
197
  id_RICactionsRemovedForModification_List =  71,
198
  id_RICaction_RemovedForModification_Item =  72,
199
  id_RICactionsFailedToBeRemovedForModification_List =  73,
200
  id_RICaction_FailedToBeRemovedForModification_Item =  74,
201
  id_RICactionsModifiedForModification_List =  75,
202
  id_RICaction_ModifiedForModification_Item =  76,
203
  id_RICactionsFailedToBeModifiedForModification_List =  77,
204
  id_RICaction_FailedToBeModifiedForModification_Item =  78,
205
  id_RICactionsAddedForModification_List =  79,
206
  id_RICaction_AddedForModification_Item =  80,
207
  id_RICactionsFailedToBeAddedForModification_List =  81,
208
  id_RICaction_FailedToBeAddedForModification_Item =  82,
209
  id_RICactionsRequiredToBeModified_List =  83,
210
  id_RICaction_RequiredToBeModified_Item =  84,
211
  id_RICactionsRequiredToBeRemoved_List =  85,
212
  id_RICaction_RequiredToBeRemoved_Item =  86,
213
  id_RICactionsConfirmedForModification_List =  87,
214
  id_RICaction_ConfirmedForModification_Item =  88,
215
  id_RICactionsRefusedToBeModified_List =  89,
216
  id_RICaction_RefusedToBeModified_Item =  90,
217
  id_RICactionsConfirmedForRemoval_List =  91,
218
  id_RICaction_ConfirmedForRemoval_Item =  92,
219
  id_RICactionsRefusedToBeRemoved_List =  93,
220
  id_RICaction_RefusedToBeRemoved_Item =  94,
221
  id_RICqueryHeader =  95,
222
  id_RICqueryDefinition =  96,
223
  id_RICqueryOutcome =  97
224
} ProtocolIE_ID_enum;
225
226
/* Initialize the protocol and registered fields */
227
static int proto_e2ap;
228
static int hf_e2ap_Cause_PDU;                     /* Cause */
229
static int hf_e2ap_CriticalityDiagnostics_PDU;    /* CriticalityDiagnostics */
230
static int hf_e2ap_GlobalE2node_ID_PDU;           /* GlobalE2node_ID */
231
static int hf_e2ap_GlobalRIC_ID_PDU;              /* GlobalRIC_ID */
232
static int hf_e2ap_RANfunctionID_PDU;             /* RANfunctionID */
233
static int hf_e2ap_RICactionID_PDU;               /* RICactionID */
234
static int hf_e2ap_RICcallProcessID_PDU;          /* RICcallProcessID */
235
static int hf_e2ap_RICcontrolAckRequest_PDU;      /* RICcontrolAckRequest */
236
static int hf_e2ap_RICcontrolHeader_PDU;          /* RICcontrolHeader */
237
static int hf_e2ap_RICcontrolMessage_PDU;         /* RICcontrolMessage */
238
static int hf_e2ap_RICcontrolOutcome_PDU;         /* RICcontrolOutcome */
239
static int hf_e2ap_RICeventTriggerDefinition_PDU;  /* RICeventTriggerDefinition */
240
static int hf_e2ap_RICindicationHeader_PDU;       /* RICindicationHeader */
241
static int hf_e2ap_RICindicationMessage_PDU;      /* RICindicationMessage */
242
static int hf_e2ap_RICindicationSN_PDU;           /* RICindicationSN */
243
static int hf_e2ap_RICindicationType_PDU;         /* RICindicationType */
244
static int hf_e2ap_RICrequestID_PDU;              /* RICrequestID */
245
static int hf_e2ap_RICsubscriptionTime_PDU;       /* RICsubscriptionTime */
246
static int hf_e2ap_RICqueryHeader_PDU;            /* RICqueryHeader */
247
static int hf_e2ap_RICqueryDefinition_PDU;        /* RICqueryDefinition */
248
static int hf_e2ap_RICqueryOutcome_PDU;           /* RICqueryOutcome */
249
static int hf_e2ap_TimeToWait_PDU;                /* TimeToWait */
250
static int hf_e2ap_TNLinformation_PDU;            /* TNLinformation */
251
static int hf_e2ap_TransactionID_PDU;             /* TransactionID */
252
static int hf_e2ap_RICsubscriptionRequest_PDU;    /* RICsubscriptionRequest */
253
static int hf_e2ap_RICsubscriptionDetails_PDU;    /* RICsubscriptionDetails */
254
static int hf_e2ap_RICaction_ToBeSetup_Item_PDU;  /* RICaction_ToBeSetup_Item */
255
static int hf_e2ap_RICsubscriptionResponse_PDU;   /* RICsubscriptionResponse */
256
static int hf_e2ap_RICaction_Admitted_List_PDU;   /* RICaction_Admitted_List */
257
static int hf_e2ap_RICaction_Admitted_Item_PDU;   /* RICaction_Admitted_Item */
258
static int hf_e2ap_RICaction_NotAdmitted_List_PDU;  /* RICaction_NotAdmitted_List */
259
static int hf_e2ap_RICaction_NotAdmitted_Item_PDU;  /* RICaction_NotAdmitted_Item */
260
static int hf_e2ap_RICsubscriptionFailure_PDU;    /* RICsubscriptionFailure */
261
static int hf_e2ap_RICsubscriptionDeleteRequest_PDU;  /* RICsubscriptionDeleteRequest */
262
static int hf_e2ap_RICsubscriptionDeleteResponse_PDU;  /* RICsubscriptionDeleteResponse */
263
static int hf_e2ap_RICsubscriptionDeleteFailure_PDU;  /* RICsubscriptionDeleteFailure */
264
static int hf_e2ap_RICsubscriptionDeleteRequired_PDU;  /* RICsubscriptionDeleteRequired */
265
static int hf_e2ap_RICsubscription_List_withCause_PDU;  /* RICsubscription_List_withCause */
266
static int hf_e2ap_RICsubscription_withCause_Item_PDU;  /* RICsubscription_withCause_Item */
267
static int hf_e2ap_RICsubscriptionModificationRequest_PDU;  /* RICsubscriptionModificationRequest */
268
static int hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU;  /* RICactions_ToBeRemovedForModification_List */
269
static int hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU;  /* RICaction_ToBeRemovedForModification_Item */
270
static int hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU;  /* RICactions_ToBeModifiedForModification_List */
271
static int hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU;  /* RICaction_ToBeModifiedForModification_Item */
272
static int hf_e2ap_RICactions_ToBeAddedForModification_List_PDU;  /* RICactions_ToBeAddedForModification_List */
273
static int hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU;  /* RICaction_ToBeAddedForModification_Item */
274
static int hf_e2ap_RICsubscriptionModificationResponse_PDU;  /* RICsubscriptionModificationResponse */
275
static int hf_e2ap_RICactions_RemovedForModification_List_PDU;  /* RICactions_RemovedForModification_List */
276
static int hf_e2ap_RICaction_RemovedForModification_Item_PDU;  /* RICaction_RemovedForModification_Item */
277
static int hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU;  /* RICactions_FailedToBeRemovedForModification_List */
278
static int hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU;  /* RICaction_FailedToBeRemovedForModification_Item */
279
static int hf_e2ap_RICactions_ModifiedForModification_List_PDU;  /* RICactions_ModifiedForModification_List */
280
static int hf_e2ap_RICaction_ModifiedForModification_Item_PDU;  /* RICaction_ModifiedForModification_Item */
281
static int hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU;  /* RICactions_FailedToBeModifiedForModification_List */
282
static int hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU;  /* RICaction_FailedToBeModifiedForModification_Item */
283
static int hf_e2ap_RICactions_AddedForModification_List_PDU;  /* RICactions_AddedForModification_List */
284
static int hf_e2ap_RICaction_AddedForModification_Item_PDU;  /* RICaction_AddedForModification_Item */
285
static int hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU;  /* RICactions_FailedToBeAddedForModification_List */
286
static int hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU;  /* RICaction_FailedToBeAddedForModification_Item */
287
static int hf_e2ap_RICsubscriptionModificationFailure_PDU;  /* RICsubscriptionModificationFailure */
288
static int hf_e2ap_RICsubscriptionModificationRequired_PDU;  /* RICsubscriptionModificationRequired */
289
static int hf_e2ap_RICactions_RequiredToBeModified_List_PDU;  /* RICactions_RequiredToBeModified_List */
290
static int hf_e2ap_RICaction_RequiredToBeModified_Item_PDU;  /* RICaction_RequiredToBeModified_Item */
291
static int hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU;  /* RICactions_RequiredToBeRemoved_List */
292
static int hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU;  /* RICaction_RequiredToBeRemoved_Item */
293
static int hf_e2ap_RICsubscriptionModificationConfirm_PDU;  /* RICsubscriptionModificationConfirm */
294
static int hf_e2ap_RICactions_ConfirmedForModification_List_PDU;  /* RICactions_ConfirmedForModification_List */
295
static int hf_e2ap_RICaction_ConfirmedForModification_Item_PDU;  /* RICaction_ConfirmedForModification_Item */
296
static int hf_e2ap_RICactions_RefusedToBeModified_List_PDU;  /* RICactions_RefusedToBeModified_List */
297
static int hf_e2ap_RICaction_RefusedToBeModified_Item_PDU;  /* RICaction_RefusedToBeModified_Item */
298
static int hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU;  /* RICactions_ConfirmedForRemoval_List */
299
static int hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU;  /* RICaction_ConfirmedForRemoval_Item */
300
static int hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU;  /* RICactions_RefusedToBeRemoved_List */
301
static int hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU;  /* RICaction_RefusedToBeRemoved_Item */
302
static int hf_e2ap_RICsubscriptionModificationRefuse_PDU;  /* RICsubscriptionModificationRefuse */
303
static int hf_e2ap_RICindication_PDU;             /* RICindication */
304
static int hf_e2ap_RICcontrolRequest_PDU;         /* RICcontrolRequest */
305
static int hf_e2ap_RICcontrolAcknowledge_PDU;     /* RICcontrolAcknowledge */
306
static int hf_e2ap_RICcontrolFailure_PDU;         /* RICcontrolFailure */
307
static int hf_e2ap_RICQueryRequest_PDU;           /* RICQueryRequest */
308
static int hf_e2ap_RICQueryResponse_PDU;          /* RICQueryResponse */
309
static int hf_e2ap_RICQueryFailure_PDU;           /* RICQueryFailure */
310
static int hf_e2ap_ErrorIndication_PDU;           /* ErrorIndication */
311
static int hf_e2ap_E2setupRequest_PDU;            /* E2setupRequest */
312
static int hf_e2ap_E2setupResponse_PDU;           /* E2setupResponse */
313
static int hf_e2ap_E2setupFailure_PDU;            /* E2setupFailure */
314
static int hf_e2ap_E2connectionUpdate_PDU;        /* E2connectionUpdate */
315
static int hf_e2ap_E2connectionUpdate_List_PDU;   /* E2connectionUpdate_List */
316
static int hf_e2ap_E2connectionUpdate_Item_PDU;   /* E2connectionUpdate_Item */
317
static int hf_e2ap_E2connectionUpdateRemove_List_PDU;  /* E2connectionUpdateRemove_List */
318
static int hf_e2ap_E2connectionUpdateRemove_Item_PDU;  /* E2connectionUpdateRemove_Item */
319
static int hf_e2ap_E2connectionUpdateAcknowledge_PDU;  /* E2connectionUpdateAcknowledge */
320
static int hf_e2ap_E2connectionSetupFailed_List_PDU;  /* E2connectionSetupFailed_List */
321
static int hf_e2ap_E2connectionSetupFailed_Item_PDU;  /* E2connectionSetupFailed_Item */
322
static int hf_e2ap_E2connectionUpdateFailure_PDU;  /* E2connectionUpdateFailure */
323
static int hf_e2ap_E2nodeConfigurationUpdate_PDU;  /* E2nodeConfigurationUpdate */
324
static int hf_e2ap_E2nodeComponentConfigAddition_List_PDU;  /* E2nodeComponentConfigAddition_List */
325
static int hf_e2ap_E2nodeComponentConfigAddition_Item_PDU;  /* E2nodeComponentConfigAddition_Item */
326
static int hf_e2ap_E2nodeComponentConfigUpdate_List_PDU;  /* E2nodeComponentConfigUpdate_List */
327
static int hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU;  /* E2nodeComponentConfigUpdate_Item */
328
static int hf_e2ap_E2nodeComponentConfigRemoval_List_PDU;  /* E2nodeComponentConfigRemoval_List */
329
static int hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU;  /* E2nodeComponentConfigRemoval_Item */
330
static int hf_e2ap_E2nodeTNLassociationRemoval_List_PDU;  /* E2nodeTNLassociationRemoval_List */
331
static int hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU;  /* E2nodeTNLassociationRemoval_Item */
332
static int hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU;  /* E2nodeConfigurationUpdateAcknowledge */
333
static int hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU;  /* E2nodeComponentConfigAdditionAck_List */
334
static int hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU;  /* E2nodeComponentConfigAdditionAck_Item */
335
static int hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU;  /* E2nodeComponentConfigUpdateAck_List */
336
static int hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU;  /* E2nodeComponentConfigUpdateAck_Item */
337
static int hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU;  /* E2nodeComponentConfigRemovalAck_List */
338
static int hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU;  /* E2nodeComponentConfigRemovalAck_Item */
339
static int hf_e2ap_E2nodeConfigurationUpdateFailure_PDU;  /* E2nodeConfigurationUpdateFailure */
340
static int hf_e2ap_ResetRequest_PDU;              /* ResetRequest */
341
static int hf_e2ap_ResetResponse_PDU;             /* ResetResponse */
342
static int hf_e2ap_RICserviceUpdate_PDU;          /* RICserviceUpdate */
343
static int hf_e2ap_RANfunctions_List_PDU;         /* RANfunctions_List */
344
static int hf_e2ap_RANfunction_Item_PDU;          /* RANfunction_Item */
345
static int hf_e2ap_RANfunctionsID_List_PDU;       /* RANfunctionsID_List */
346
static int hf_e2ap_RANfunctionID_Item_PDU;        /* RANfunctionID_Item */
347
static int hf_e2ap_RICserviceUpdateAcknowledge_PDU;  /* RICserviceUpdateAcknowledge */
348
static int hf_e2ap_RANfunctionsIDcause_List_PDU;  /* RANfunctionsIDcause_List */
349
static int hf_e2ap_RANfunctionIDcause_Item_PDU;   /* RANfunctionIDcause_Item */
350
static int hf_e2ap_RICserviceUpdateFailure_PDU;   /* RICserviceUpdateFailure */
351
static int hf_e2ap_RICserviceQuery_PDU;           /* RICserviceQuery */
352
static int hf_e2ap_E2RemovalRequest_PDU;          /* E2RemovalRequest */
353
static int hf_e2ap_E2RemovalResponse_PDU;         /* E2RemovalResponse */
354
static int hf_e2ap_E2RemovalFailure_PDU;          /* E2RemovalFailure */
355
static int hf_e2ap_E2AP_PDU_PDU;                  /* E2AP_PDU */
356
static int hf_e2ap_E2SM_RC_EventTrigger_PDU;      /* E2SM_RC_EventTrigger */
357
static int hf_e2ap_E2SM_RC_ActionDefinition_PDU;  /* E2SM_RC_ActionDefinition */
358
static int hf_e2ap_E2SM_RC_IndicationHeader_PDU;  /* E2SM_RC_IndicationHeader */
359
static int hf_e2ap_E2SM_RC_IndicationMessage_PDU;  /* E2SM_RC_IndicationMessage */
360
static int hf_e2ap_E2SM_RC_CallProcessID_PDU;     /* E2SM_RC_CallProcessID */
361
static int hf_e2ap_E2SM_RC_ControlHeader_PDU;     /* E2SM_RC_ControlHeader */
362
static int hf_e2ap_E2SM_RC_ControlMessage_PDU;    /* E2SM_RC_ControlMessage */
363
static int hf_e2ap_E2SM_RC_ControlOutcome_PDU;    /* E2SM_RC_ControlOutcome */
364
static int hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU;  /* E2SM_RC_RANFunctionDefinition */
365
static int hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU;  /* E2SM_KPM_EventTriggerDefinition */
366
static int hf_e2ap_E2SM_KPM_ActionDefinition_PDU;  /* E2SM_KPM_ActionDefinition */
367
static int hf_e2ap_E2SM_KPM_IndicationHeader_PDU;  /* E2SM_KPM_IndicationHeader */
368
static int hf_e2ap_E2SM_KPM_IndicationMessage_PDU;  /* E2SM_KPM_IndicationMessage */
369
static int hf_e2ap_E2SM_KPM_RANfunction_Description_PDU;  /* E2SM_KPM_RANfunction_Description */
370
static int hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU;  /* E2SM_NI_EventTriggerDefinition */
371
static int hf_e2ap_E2SM_NI_ActionDefinition_PDU;  /* E2SM_NI_ActionDefinition */
372
static int hf_e2ap_E2SM_NI_IndicationHeader_PDU;  /* E2SM_NI_IndicationHeader */
373
static int hf_e2ap_E2SM_NI_IndicationMessage_PDU;  /* E2SM_NI_IndicationMessage */
374
static int hf_e2ap_E2SM_NI_CallProcessID_PDU;     /* E2SM_NI_CallProcessID */
375
static int hf_e2ap_E2SM_NI_ControlHeader_PDU;     /* E2SM_NI_ControlHeader */
376
static int hf_e2ap_E2SM_NI_ControlMessage_PDU;    /* E2SM_NI_ControlMessage */
377
static int hf_e2ap_E2SM_NI_ControlOutcome_PDU;    /* E2SM_NI_ControlOutcome */
378
static int hf_e2ap_E2SM_NI_RANfunction_Description_PDU;  /* E2SM_NI_RANfunction_Description */
379
static int hf_e2ap_ProtocolIE_Container_item;     /* ProtocolIE_Field */
380
static int hf_e2ap_id;                            /* ProtocolIE_ID */
381
static int hf_e2ap_criticality;                   /* Criticality */
382
static int hf_e2ap_value;                         /* T_value */
383
static int hf_e2ap_ricRequest;                    /* CauseRICrequest */
384
static int hf_e2ap_ricService;                    /* CauseRICservice */
385
static int hf_e2ap_e2Node;                        /* CauseE2node */
386
static int hf_e2ap_transport;                     /* CauseTransport */
387
static int hf_e2ap_protocol;                      /* CauseProtocol */
388
static int hf_e2ap_misc;                          /* CauseMisc */
389
static int hf_e2ap_procedureCode;                 /* ProcedureCode */
390
static int hf_e2ap_triggeringMessage;             /* TriggeringMessage */
391
static int hf_e2ap_procedureCriticality;          /* Criticality */
392
static int hf_e2ap_ricRequestorID;                /* RICrequestID */
393
static int hf_e2ap_iEsCriticalityDiagnostics;     /* CriticalityDiagnostics_IE_List */
394
static int hf_e2ap_CriticalityDiagnostics_IE_List_item;  /* CriticalityDiagnostics_IE_Item */
395
static int hf_e2ap_iECriticality;                 /* Criticality */
396
static int hf_e2ap_iE_ID;                         /* ProtocolIE_ID */
397
static int hf_e2ap_typeOfError;                   /* TypeOfError */
398
static int hf_e2ap_e2nodeComponentRequestPart;    /* T_e2nodeComponentRequestPart */
399
static int hf_e2ap_e2nodeComponentResponsePart;   /* T_e2nodeComponentResponsePart */
400
static int hf_e2ap_updateOutcome;                 /* T_updateOutcome */
401
static int hf_e2ap_failureCause;                  /* Cause */
402
static int hf_e2ap_e2nodeComponentInterfaceTypeNG;  /* T_e2nodeComponentInterfaceTypeNG */
403
static int hf_e2ap_e2nodeComponentInterfaceTypeXn;  /* T_e2nodeComponentInterfaceTypeXn */
404
static int hf_e2ap_e2nodeComponentInterfaceTypeE1;  /* T_e2nodeComponentInterfaceTypeE1 */
405
static int hf_e2ap_e2nodeComponentInterfaceTypeF1;  /* T_e2nodeComponentInterfaceTypeF1 */
406
static int hf_e2ap_e2nodeComponentInterfaceTypeW1;  /* E2nodeComponentInterfaceW1 */
407
static int hf_e2ap_e2nodeComponentInterfaceTypeS1;  /* T_e2nodeComponentInterfaceTypeS1 */
408
static int hf_e2ap_e2nodeComponentInterfaceTypeX2;  /* T_e2nodeComponentInterfaceTypeX2 */
409
static int hf_e2ap_gNB_CU_UP_ID;                  /* GNB_CU_UP_ID */
410
static int hf_e2ap_gNB_DU_ID;                     /* GNB_DU_ID */
411
static int hf_e2ap_amf_name;                      /* AMFName */
412
static int hf_e2ap_mme_name;                      /* MMEname */
413
static int hf_e2ap_global_eNB_ID;                 /* GlobalENB_ID */
414
static int hf_e2ap_global_en_gNB_ID;              /* GlobalenGNB_ID */
415
static int hf_e2ap_global_NG_RAN_Node_ID;         /* GlobalNG_RANNode_ID */
416
static int hf_e2ap_ng_eNB_DU_ID;                  /* NGENB_DU_ID */
417
static int hf_e2ap_macro_eNB_ID;                  /* BIT_STRING_SIZE_20 */
418
static int hf_e2ap_home_eNB_ID;                   /* BIT_STRING_SIZE_28 */
419
static int hf_e2ap_short_Macro_eNB_ID;            /* BIT_STRING_SIZE_18 */
420
static int hf_e2ap_long_Macro_eNB_ID;             /* BIT_STRING_SIZE_21 */
421
static int hf_e2ap_enb_ID_macro;                  /* BIT_STRING_SIZE_20 */
422
static int hf_e2ap_enb_ID_shortmacro;             /* BIT_STRING_SIZE_18 */
423
static int hf_e2ap_enb_ID_longmacro;              /* BIT_STRING_SIZE_21 */
424
static int hf_e2ap_gnb_id_bit_string;             /* BIT_STRING_SIZE_22_32 */
425
static int hf_e2ap_gNB;                           /* GlobalE2node_gNB_ID */
426
static int hf_e2ap_en_gNB;                        /* GlobalE2node_en_gNB_ID */
427
static int hf_e2ap_ng_eNB;                        /* GlobalE2node_ng_eNB_ID */
428
static int hf_e2ap_eNB;                           /* GlobalE2node_eNB_ID */
429
static int hf_e2ap_en_gNB_CU_UP_ID;               /* GNB_CU_UP_ID */
430
static int hf_e2ap_en_gNB_DU_ID;                  /* GNB_DU_ID */
431
static int hf_e2ap_global_gNB_ID;                 /* GlobalgNB_ID */
432
static int hf_e2ap_global_ng_eNB_ID;              /* GlobalngeNB_ID */
433
static int hf_e2ap_ngENB_DU_ID;                   /* NGENB_DU_ID */
434
static int hf_e2ap_pLMN_Identity;                 /* PLMN_Identity */
435
static int hf_e2ap_eNB_ID;                        /* ENB_ID */
436
static int hf_e2ap_eNGNB_ID_choice;               /* ENGNB_ID */
437
static int hf_e2ap_plmn_id;                       /* PLMN_Identity */
438
static int hf_e2ap_gnb_id;                        /* T_gnb_id */
439
static int hf_e2ap_enb_id;                        /* ENB_ID_Choice */
440
static int hf_e2ap_gNB_01;                        /* GlobalgNB_ID */
441
static int hf_e2ap_ng_eNB_01;                     /* GlobalngeNB_ID */
442
static int hf_e2ap_ric_ID;                        /* BIT_STRING_SIZE_20 */
443
static int hf_e2ap_gnb_ID;                        /* BIT_STRING_SIZE_22_32 */
444
static int hf_e2ap_ricRequestorID_01;             /* INTEGER_0_65535 */
445
static int hf_e2ap_ricInstanceID;                 /* INTEGER_0_65535 */
446
static int hf_e2ap_ricSubsequentActionType;       /* RICsubsequentActionType */
447
static int hf_e2ap_ricTimeToWait;                 /* RICtimeToWait */
448
static int hf_e2ap_tnlAddress;                    /* T_tnlAddress */
449
static int hf_e2ap_tnlPort;                       /* T_tnlPort */
450
static int hf_e2ap_protocolIEs;                   /* ProtocolIE_Container */
451
static int hf_e2ap_ricEventTriggerDefinition;     /* RICeventTriggerDefinition */
452
static int hf_e2ap_ricAction_ToBeSetup_List;      /* RICactions_ToBeSetup_List */
453
static int hf_e2ap_RICactions_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
454
static int hf_e2ap_ricActionID;                   /* RICactionID */
455
static int hf_e2ap_ricActionType;                 /* RICactionType */
456
static int hf_e2ap_ricActionDefinition;           /* RICactionDefinition */
457
static int hf_e2ap_ricSubsequentAction;           /* RICsubsequentAction */
458
static int hf_e2ap_ricActionExecutionOrder;       /* RICactionExecutionOrder */
459
static int hf_e2ap_RICaction_Admitted_List_item;  /* ProtocolIE_SingleContainer */
460
static int hf_e2ap_RICaction_NotAdmitted_List_item;  /* ProtocolIE_SingleContainer */
461
static int hf_e2ap_cause;                         /* Cause */
462
static int hf_e2ap_RICsubscription_List_withCause_item;  /* ProtocolIE_SingleContainer */
463
static int hf_e2ap_ricRequestID;                  /* RICrequestID */
464
static int hf_e2ap_ranFunctionID;                 /* RANfunctionID */
465
static int hf_e2ap_RICactions_ToBeRemovedForModification_List_item;  /* ProtocolIE_SingleContainer */
466
static int hf_e2ap_RICactions_ToBeModifiedForModification_List_item;  /* ProtocolIE_SingleContainer */
467
static int hf_e2ap_RICactions_ToBeAddedForModification_List_item;  /* ProtocolIE_SingleContainer */
468
static int hf_e2ap_RICactions_RemovedForModification_List_item;  /* ProtocolIE_SingleContainer */
469
static int hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item;  /* ProtocolIE_SingleContainer */
470
static int hf_e2ap_RICactions_ModifiedForModification_List_item;  /* ProtocolIE_SingleContainer */
471
static int hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item;  /* ProtocolIE_SingleContainer */
472
static int hf_e2ap_RICactions_AddedForModification_List_item;  /* ProtocolIE_SingleContainer */
473
static int hf_e2ap_RICactions_FailedToBeAddedForModification_List_item;  /* ProtocolIE_SingleContainer */
474
static int hf_e2ap_RICactions_RequiredToBeModified_List_item;  /* ProtocolIE_SingleContainer */
475
static int hf_e2ap_RICactions_RequiredToBeRemoved_List_item;  /* ProtocolIE_SingleContainer */
476
static int hf_e2ap_RICactions_ConfirmedForModification_List_item;  /* ProtocolIE_SingleContainer */
477
static int hf_e2ap_RICactions_RefusedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
478
static int hf_e2ap_RICactions_ConfirmedForRemoval_List_item;  /* ProtocolIE_SingleContainer */
479
static int hf_e2ap_RICactions_RefusedToBeRemoved_List_item;  /* ProtocolIE_SingleContainer */
480
static int hf_e2ap_E2connectionUpdate_List_item;  /* ProtocolIE_SingleContainer */
481
static int hf_e2ap_tnlInformation;                /* TNLinformation */
482
static int hf_e2ap_tnlUsage;                      /* TNLusage */
483
static int hf_e2ap_E2connectionUpdateRemove_List_item;  /* ProtocolIE_SingleContainer */
484
static int hf_e2ap_E2connectionSetupFailed_List_item;  /* ProtocolIE_SingleContainer */
485
static int hf_e2ap_E2nodeComponentConfigAddition_List_item;  /* ProtocolIE_SingleContainer */
486
static int hf_e2ap_e2nodeComponentInterfaceType;  /* E2nodeComponentInterfaceType */
487
static int hf_e2ap_e2nodeComponentID;             /* E2nodeComponentID */
488
static int hf_e2ap_e2nodeComponentConfiguration;  /* E2nodeComponentConfiguration */
489
static int hf_e2ap_E2nodeComponentConfigUpdate_List_item;  /* ProtocolIE_SingleContainer */
490
static int hf_e2ap_E2nodeComponentConfigRemoval_List_item;  /* ProtocolIE_SingleContainer */
491
static int hf_e2ap_E2nodeTNLassociationRemoval_List_item;  /* ProtocolIE_SingleContainer */
492
static int hf_e2ap_tnlInformationRIC;             /* TNLinformation */
493
static int hf_e2ap_E2nodeComponentConfigAdditionAck_List_item;  /* ProtocolIE_SingleContainer */
494
static int hf_e2ap_e2nodeComponentConfigurationAck;  /* E2nodeComponentConfigurationAck */
495
static int hf_e2ap_E2nodeComponentConfigUpdateAck_List_item;  /* ProtocolIE_SingleContainer */
496
static int hf_e2ap_E2nodeComponentConfigRemovalAck_List_item;  /* ProtocolIE_SingleContainer */
497
static int hf_e2ap_RANfunctions_List_item;        /* ProtocolIE_SingleContainer */
498
static int hf_e2ap_ranFunctionDefinition;         /* RANfunctionDefinition */
499
static int hf_e2ap_ranFunctionRevision;           /* RANfunctionRevision */
500
static int hf_e2ap_ranFunctionOID;                /* RANfunctionOID */
501
static int hf_e2ap_RANfunctionsID_List_item;      /* ProtocolIE_SingleContainer */
502
static int hf_e2ap_RANfunctionsIDcause_List_item;  /* ProtocolIE_SingleContainer */
503
static int hf_e2ap_initiatingMessage;             /* InitiatingMessage */
504
static int hf_e2ap_successfulOutcome;             /* SuccessfulOutcome */
505
static int hf_e2ap_unsuccessfulOutcome;           /* UnsuccessfulOutcome */
506
static int hf_e2ap_initiatingMessagevalue;        /* InitiatingMessage_value */
507
static int hf_e2ap_successfulOutcome_value;       /* SuccessfulOutcome_value */
508
static int hf_e2ap_unsuccessfulOutcome_value;     /* UnsuccessfulOutcome_value */
509
static int hf_e2ap_nR_CGI;                        /* NR_CGI */
510
static int hf_e2ap_eUTRA_CGI;                     /* EUTRA_CGI */
511
static int hf_e2ap_nG;                            /* InterfaceID_NG */
512
static int hf_e2ap_xN;                            /* InterfaceID_Xn */
513
static int hf_e2ap_f1;                            /* InterfaceID_F1 */
514
static int hf_e2ap_e1;                            /* InterfaceID_E1 */
515
static int hf_e2ap_s1;                            /* InterfaceID_S1 */
516
static int hf_e2ap_x2;                            /* InterfaceID_X2 */
517
static int hf_e2ap_w1;                            /* InterfaceID_W1 */
518
static int hf_e2ap_guami;                         /* GUAMI */
519
static int hf_e2ap_global_NG_RAN_ID;              /* GlobalNGRANNodeID */
520
static int hf_e2ap_globalGNB_ID;                  /* GlobalGNB_ID */
521
static int hf_e2ap_gUMMEI;                        /* GUMMEI */
522
static int hf_e2ap_nodeType;                      /* T_nodeType */
523
static int hf_e2ap_global_ng_eNB_ID_01;           /* GlobalNgENB_ID */
524
static int hf_e2ap_interfaceProcedureID;          /* INTEGER */
525
static int hf_e2ap_messageType;                   /* T_messageType */
526
static int hf_e2ap_ranFunction_ShortName;         /* T_ranFunction_ShortName */
527
static int hf_e2ap_ranFunction_E2SM_OID;          /* PrintableString_SIZE_1_1000_ */
528
static int hf_e2ap_ranFunction_Description;       /* PrintableString_SIZE_1_150_ */
529
static int hf_e2ap_ranFunction_Instance;          /* INTEGER */
530
static int hf_e2ap_rrcType;                       /* T_rrcType */
531
static int hf_e2ap_lTE;                           /* RRCclass_LTE */
532
static int hf_e2ap_nR;                            /* RRCclass_NR */
533
static int hf_e2ap_messageID;                     /* INTEGER */
534
static int hf_e2ap_nR_01;                         /* NR_ARFCN */
535
static int hf_e2ap_eUTRA;                         /* E_UTRA_ARFCN */
536
static int hf_e2ap_nR_02;                         /* NR_PCI */
537
static int hf_e2ap_eUTRA_01;                      /* E_UTRA_PCI */
538
static int hf_e2ap_gNB_UEID;                      /* UEID_GNB */
539
static int hf_e2ap_gNB_DU_UEID;                   /* UEID_GNB_DU */
540
static int hf_e2ap_gNB_CU_UP_UEID;                /* UEID_GNB_CU_UP */
541
static int hf_e2ap_ng_eNB_UEID;                   /* UEID_NG_ENB */
542
static int hf_e2ap_ng_eNB_DU_UEID;                /* UEID_NG_ENB_DU */
543
static int hf_e2ap_en_gNB_UEID;                   /* UEID_EN_GNB */
544
static int hf_e2ap_eNB_UEID;                      /* UEID_ENB */
545
static int hf_e2ap_amf_UE_NGAP_ID;                /* AMF_UE_NGAP_ID */
546
static int hf_e2ap_gNB_CU_UE_F1AP_ID_List;        /* UEID_GNB_CU_F1AP_ID_List */
547
static int hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List;     /* UEID_GNB_CU_CP_E1AP_ID_List */
548
static int hf_e2ap_ran_UEID;                      /* RANUEID */
549
static int hf_e2ap_m_NG_RAN_UE_XnAP_ID;           /* NG_RANnodeUEXnAPID */
550
static int hf_e2ap_globalNG_RANNode_ID;           /* GlobalNGRANNodeID */
551
static int hf_e2ap_UEID_GNB_CU_CP_E1AP_ID_List_item;  /* UEID_GNB_CU_CP_E1AP_ID_Item */
552
static int hf_e2ap_gNB_CU_CP_UE_E1AP_ID;          /* GNB_CU_CP_UE_E1AP_ID */
553
static int hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item;  /* UEID_GNB_CU_CP_F1AP_ID_Item */
554
static int hf_e2ap_gNB_CU_UE_F1AP_ID;             /* GNB_CU_UE_F1AP_ID */
555
static int hf_e2ap_ng_eNB_CU_UE_W1AP_ID;          /* NGENB_CU_UE_W1AP_ID */
556
static int hf_e2ap_globalNgENB_ID;                /* GlobalNgENB_ID */
557
static int hf_e2ap_m_eNB_UE_X2AP_ID;              /* ENB_UE_X2AP_ID */
558
static int hf_e2ap_m_eNB_UE_X2AP_ID_Extension;    /* ENB_UE_X2AP_ID_Extension */
559
static int hf_e2ap_globalENB_ID;                  /* GlobalENB_ID */
560
static int hf_e2ap_mME_UE_S1AP_ID;                /* MME_UE_S1AP_ID */
561
static int hf_e2ap_pLMN_Identity_01;              /* PLMNIdentity */
562
static int hf_e2ap_mME_Group_ID;                  /* MME_Group_ID */
563
static int hf_e2ap_mME_Code;                      /* MME_Code */
564
static int hf_e2ap_pLMNIdentity;                  /* PLMNIdentity */
565
static int hf_e2ap_eUTRACellIdentity;             /* EUTRACellIdentity */
566
static int hf_e2ap_gNB_ID_choice;                 /* GNB_ID */
567
static int hf_e2ap_ngENB_ID;                      /* NgENB_ID */
568
static int hf_e2ap_gNB_ID;                        /* BIT_STRING_SIZE_22_32 */
569
static int hf_e2ap_aMFRegionID;                   /* AMFRegionID */
570
static int hf_e2ap_aMFSetID;                      /* AMFSetID */
571
static int hf_e2ap_aMFPointer;                    /* AMFPointer */
572
static int hf_e2ap_macroNgENB_ID;                 /* BIT_STRING_SIZE_20 */
573
static int hf_e2ap_shortMacroNgENB_ID;            /* BIT_STRING_SIZE_18 */
574
static int hf_e2ap_longMacroNgENB_ID;             /* BIT_STRING_SIZE_21 */
575
static int hf_e2ap_nRCellIdentity;                /* NRCellIdentity */
576
static int hf_e2ap_sST;                           /* SST */
577
static int hf_e2ap_sD;                            /* SD */
578
static int hf_e2ap_gNB_02;                        /* GlobalGNB_ID */
579
static int hf_e2ap_ng_eNB_02;                     /* GlobalNgENB_ID */
580
static int hf_e2ap_nRARFCN;                       /* INTEGER_0_maxNRARFCN */
581
static int hf_e2ap_NRFrequencyBand_List_item;     /* NRFrequencyBandItem */
582
static int hf_e2ap_freqBandIndicatorNr;           /* INTEGER_1_1024_ */
583
static int hf_e2ap_supportedSULBandList;          /* SupportedSULBandList */
584
static int hf_e2ap_nrARFCN;                       /* NR_ARFCN */
585
static int hf_e2ap_frequencyBand_List;            /* NRFrequencyBand_List */
586
static int hf_e2ap_frequencyShift7p5khz;          /* NRFrequencyShift7p5khz */
587
static int hf_e2ap_SupportedSULBandList_item;     /* SupportedSULFreqBandItem */
588
static int hf_e2ap_NeighborCell_List_item;        /* NeighborCell_Item */
589
static int hf_e2ap_ranType_Choice_NR;             /* NeighborCell_Item_Choice_NR */
590
static int hf_e2ap_ranType_Choice_EUTRA;          /* NeighborCell_Item_Choice_E_UTRA */
591
static int hf_e2ap_nR_PCI;                        /* NR_PCI */
592
static int hf_e2ap_fiveGS_TAC;                    /* FiveGS_TAC */
593
static int hf_e2ap_nR_mode_info;                  /* T_nR_mode_info */
594
static int hf_e2ap_nR_FreqInfo;                   /* NRFrequencyInfo */
595
static int hf_e2ap_x2_Xn_established;             /* T_x2_Xn_established */
596
static int hf_e2ap_hO_validated;                  /* T_hO_validated */
597
static int hf_e2ap_version;                       /* INTEGER_1_65535_ */
598
static int hf_e2ap_eUTRA_PCI;                     /* E_UTRA_PCI */
599
static int hf_e2ap_eUTRA_ARFCN;                   /* E_UTRA_ARFCN */
600
static int hf_e2ap_eUTRA_TAC;                     /* E_UTRA_TAC */
601
static int hf_e2ap_x2_Xn_established_01;          /* T_x2_Xn_established_01 */
602
static int hf_e2ap_hO_validated_01;               /* T_hO_validated_01 */
603
static int hf_e2ap_servingCellPCI;                /* ServingCell_PCI */
604
static int hf_e2ap_servingCellARFCN;              /* ServingCell_ARFCN */
605
static int hf_e2ap_neighborCell_List;             /* NeighborCell_List */
606
static int hf_e2ap_cellInfo_List;                 /* SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item */
607
static int hf_e2ap_cellInfo_List_item;            /* EventTrigger_Cell_Info_Item */
608
static int hf_e2ap_eventTriggerCellID;            /* RIC_EventTrigger_Cell_ID */
609
static int hf_e2ap_cellType;                      /* T_cellType */
610
static int hf_e2ap_cellType_Choice_Individual;    /* EventTrigger_Cell_Info_Item_Choice_Individual */
611
static int hf_e2ap_cellType_Choice_Group;         /* EventTrigger_Cell_Info_Item_Choice_Group */
612
static int hf_e2ap_logicalOR;                     /* LogicalOR */
613
static int hf_e2ap_cellGlobalID;                  /* CGI */
614
static int hf_e2ap_ranParameterTesting;           /* RANParameter_Testing */
615
static int hf_e2ap_ueInfo_List;                   /* SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item */
616
static int hf_e2ap_ueInfo_List_item;              /* EventTrigger_UE_Info_Item */
617
static int hf_e2ap_eventTriggerUEID;              /* RIC_EventTrigger_UE_ID */
618
static int hf_e2ap_ueType;                        /* T_ueType */
619
static int hf_e2ap_ueType_Choice_Individual;      /* EventTrigger_UE_Info_Item_Choice_Individual */
620
static int hf_e2ap_ueType_Choice_Group;           /* EventTrigger_UE_Info_Item_Choice_Group */
621
static int hf_e2ap_ueID;                          /* UEID */
622
static int hf_e2ap_ueEvent_List;                  /* SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item */
623
static int hf_e2ap_ueEvent_List_item;             /* EventTrigger_UEevent_Info_Item */
624
static int hf_e2ap_ueEventID;                     /* RIC_EventTrigger_UEevent_ID */
625
static int hf_e2ap_ranParameter_Definition_Choice;  /* RANParameter_Definition_Choice */
626
static int hf_e2ap_choiceLIST;                    /* RANParameter_Definition_Choice_LIST */
627
static int hf_e2ap_choiceSTRUCTURE;               /* RANParameter_Definition_Choice_STRUCTURE */
628
static int hf_e2ap_ranParameter_List;             /* SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item */
629
static int hf_e2ap_ranParameter_List_item;        /* RANParameter_Definition_Choice_LIST_Item */
630
static int hf_e2ap_ranParameter_ID;               /* RANParameter_ID */
631
static int hf_e2ap_ranParameter_name;             /* RANParameter_Name */
632
static int hf_e2ap_ranParameter_Definition;       /* RANParameter_Definition */
633
static int hf_e2ap_ranParameter_STRUCTURE;        /* SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item */
634
static int hf_e2ap_ranParameter_STRUCTURE_item;   /* RANParameter_Definition_Choice_STRUCTURE_Item */
635
static int hf_e2ap_valueBoolean;                  /* BOOLEAN */
636
static int hf_e2ap_valueInt;                      /* INTEGER */
637
static int hf_e2ap_valueReal;                     /* REAL */
638
static int hf_e2ap_valueBitS;                     /* BIT_STRING */
639
static int hf_e2ap_valueOctS;                     /* OCTET_STRING */
640
static int hf_e2ap_valuePrintableString;          /* PrintableString */
641
static int hf_e2ap_ranP_Choice_ElementTrue;       /* RANParameter_ValueType_Choice_ElementTrue */
642
static int hf_e2ap_ranP_Choice_ElementFalse;      /* RANParameter_ValueType_Choice_ElementFalse */
643
static int hf_e2ap_ranP_Choice_Structure;         /* RANParameter_ValueType_Choice_Structure */
644
static int hf_e2ap_ranP_Choice_List;              /* RANParameter_ValueType_Choice_List */
645
static int hf_e2ap_ranParameter_value;            /* RANParameter_Value */
646
static int hf_e2ap_ranParameter_Structure;        /* RANParameter_STRUCTURE */
647
static int hf_e2ap_ranParameter_List_01;          /* RANParameter_LIST */
648
static int hf_e2ap_sequence_of_ranParameters;     /* SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item */
649
static int hf_e2ap_sequence_of_ranParameters_item;  /* RANParameter_STRUCTURE_Item */
650
static int hf_e2ap_ranParameter_valueType;        /* RANParameter_ValueType */
651
static int hf_e2ap_list_of_ranParameter;          /* SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE */
652
static int hf_e2ap_list_of_ranParameter_item;     /* RANParameter_STRUCTURE */
653
static int hf_e2ap_RANParameter_Testing_item;     /* RANParameter_Testing_Item */
654
static int hf_e2ap_ranP_Choice_comparison;        /* T_ranP_Choice_comparison */
655
static int hf_e2ap_ranP_Choice_presence;          /* T_ranP_Choice_presence */
656
static int hf_e2ap_ranParameter_Type;             /* T_ranParameter_Type */
657
static int hf_e2ap_ranP_Choice_List_01;           /* RANParameter_Testing_Item_Choice_List */
658
static int hf_e2ap_ranP_Choice_Structure_01;      /* RANParameter_Testing_Item_Choice_Structure */
659
static int hf_e2ap_ranP_Choice_ElementTrue_01;    /* RANParameter_Testing_Item_Choice_ElementTrue */
660
static int hf_e2ap_ranP_Choice_ElementFalse_01;   /* RANParameter_Testing_Item_Choice_ElementFalse */
661
static int hf_e2ap_ranParameter_List_02;          /* RANParameter_Testing_LIST */
662
static int hf_e2ap_ranParameter_Structure_01;     /* RANParameter_Testing_STRUCTURE */
663
static int hf_e2ap_ranParameter_TestCondition;    /* RANParameter_TestingCondition */
664
static int hf_e2ap_ranParameter_Value;            /* RANParameter_Value */
665
static int hf_e2ap_RANParameter_Testing_LIST_item;  /* RANParameter_Testing_Item */
666
static int hf_e2ap_RANParameter_Testing_STRUCTURE_item;  /* RANParameter_Testing_Item */
667
static int hf_e2ap_ric_PolicyAction_ID;           /* RIC_ControlAction_ID */
668
static int hf_e2ap_ranParameters_List;            /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item */
669
static int hf_e2ap_ranParameters_List_item;       /* RIC_PolicyAction_RANParameter_Item */
670
static int hf_e2ap_ric_PolicyDecision;            /* T_ric_PolicyDecision */
671
static int hf_e2ap_ric_eventTrigger_formats;      /* T_ric_eventTrigger_formats */
672
static int hf_e2ap_eventTrigger_Format1;          /* E2SM_RC_EventTrigger_Format1 */
673
static int hf_e2ap_eventTrigger_Format2;          /* E2SM_RC_EventTrigger_Format2 */
674
static int hf_e2ap_eventTrigger_Format3;          /* E2SM_RC_EventTrigger_Format3 */
675
static int hf_e2ap_eventTrigger_Format4;          /* E2SM_RC_EventTrigger_Format4 */
676
static int hf_e2ap_eventTrigger_Format5;          /* E2SM_RC_EventTrigger_Format5 */
677
static int hf_e2ap_message_List;                  /* SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item */
678
static int hf_e2ap_message_List_item;             /* E2SM_RC_EventTrigger_Format1_Item */
679
static int hf_e2ap_globalAssociatedUEInfo;        /* EventTrigger_UE_Info */
680
static int hf_e2ap_ric_eventTriggerCondition_ID;  /* RIC_EventTriggerCondition_ID */
681
static int hf_e2ap_messageType_01;                /* MessageType_Choice */
682
static int hf_e2ap_messageDirection;              /* T_messageDirection */
683
static int hf_e2ap_associatedUEInfo;              /* EventTrigger_UE_Info */
684
static int hf_e2ap_associatedUEEvent;             /* EventTrigger_UEevent_Info */
685
static int hf_e2ap_messageType_Choice_NI;         /* MessageType_Choice_NI */
686
static int hf_e2ap_messageType_Choice_RRC;        /* MessageType_Choice_RRC */
687
static int hf_e2ap_nI_Type;                       /* InterfaceType */
688
static int hf_e2ap_nI_Identifier;                 /* InterfaceIdentifier */
689
static int hf_e2ap_nI_Message;                    /* Interface_MessageID */
690
static int hf_e2ap_rRC_Message;                   /* RRC_MessageID */
691
static int hf_e2ap_ric_callProcessType_ID;        /* RIC_CallProcessType_ID */
692
static int hf_e2ap_ric_callProcessBreakpoint_ID;  /* RIC_CallProcessBreakpoint_ID */
693
static int hf_e2ap_associatedE2NodeInfo;          /* RANParameter_Testing */
694
static int hf_e2ap_e2NodeInfoChange_List;         /* SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item */
695
static int hf_e2ap_e2NodeInfoChange_List_item;    /* E2SM_RC_EventTrigger_Format3_Item */
696
static int hf_e2ap_e2NodeInfoChange_ID;           /* INTEGER_1_512_ */
697
static int hf_e2ap_associatedCellInfo;            /* EventTrigger_Cell_Info */
698
static int hf_e2ap_uEInfoChange_List;             /* SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item */
699
static int hf_e2ap_uEInfoChange_List_item;        /* E2SM_RC_EventTrigger_Format4_Item */
700
static int hf_e2ap_triggerType;                   /* TriggerType_Choice */
701
static int hf_e2ap_triggerType_Choice_RRCstate;   /* TriggerType_Choice_RRCstate */
702
static int hf_e2ap_triggerType_Choice_UEID;       /* TriggerType_Choice_UEID */
703
static int hf_e2ap_triggerType_Choice_L2state;    /* TriggerType_Choice_L2state */
704
static int hf_e2ap_rrcState_List;                 /* SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item */
705
static int hf_e2ap_rrcState_List_item;            /* TriggerType_Choice_RRCstate_Item */
706
static int hf_e2ap_stateChangedTo;                /* RRC_State */
707
static int hf_e2ap_ueIDchange_ID;                 /* INTEGER_1_512_ */
708
static int hf_e2ap_associatedL2variables;         /* RANParameter_Testing */
709
static int hf_e2ap_onDemand;                      /* T_onDemand */
710
static int hf_e2ap_ric_Style_Type;                /* RIC_Style_Type */
711
static int hf_e2ap_ric_actionDefinition_formats;  /* T_ric_actionDefinition_formats */
712
static int hf_e2ap_actionDefinition_Format1;      /* E2SM_RC_ActionDefinition_Format1 */
713
static int hf_e2ap_actionDefinition_Format2;      /* E2SM_RC_ActionDefinition_Format2 */
714
static int hf_e2ap_actionDefinition_Format3;      /* E2SM_RC_ActionDefinition_Format3 */
715
static int hf_e2ap_actionDefinition_Format4;      /* E2SM_RC_ActionDefinition_Format4 */
716
static int hf_e2ap_ranP_ToBeReported_List;        /* SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item */
717
static int hf_e2ap_ranP_ToBeReported_List_item;   /* E2SM_RC_ActionDefinition_Format1_Item */
718
static int hf_e2ap_ric_PolicyConditions_List;     /* SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item */
719
static int hf_e2ap_ric_PolicyConditions_List_item;  /* E2SM_RC_ActionDefinition_Format2_Item */
720
static int hf_e2ap_ric_PolicyAction;              /* RIC_PolicyAction */
721
static int hf_e2ap_ric_PolicyConditionDefinition;  /* RANParameter_Testing */
722
static int hf_e2ap_ric_InsertIndication_ID;       /* RIC_InsertIndication_ID */
723
static int hf_e2ap_ranP_InsertIndication_List;    /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item */
724
static int hf_e2ap_ranP_InsertIndication_List_item;  /* E2SM_RC_ActionDefinition_Format3_Item */
725
static int hf_e2ap_ric_InsertStyle_List;          /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item */
726
static int hf_e2ap_ric_InsertStyle_List_item;     /* E2SM_RC_ActionDefinition_Format4_Style_Item */
727
static int hf_e2ap_requested_Insert_Style_Type;   /* RIC_Style_Type */
728
static int hf_e2ap_ric_InsertIndication_List;     /* SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item */
729
static int hf_e2ap_ric_InsertIndication_List_item;  /* E2SM_RC_ActionDefinition_Format4_Indication_Item */
730
static int hf_e2ap_ranP_InsertIndication_List_01;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item */
731
static int hf_e2ap_ranP_InsertIndication_List_item_01;  /* E2SM_RC_ActionDefinition_Format4_RANP_Item */
732
static int hf_e2ap_ric_indicationHeader_formats;  /* T_ric_indicationHeader_formats */
733
static int hf_e2ap_indicationHeader_Format1;      /* E2SM_RC_IndicationHeader_Format1 */
734
static int hf_e2ap_indicationHeader_Format2;      /* E2SM_RC_IndicationHeader_Format2 */
735
static int hf_e2ap_indicationHeader_Format3;      /* E2SM_RC_IndicationHeader_Format3 */
736
static int hf_e2ap_ric_InsertStyle_Type;          /* RIC_Style_Type */
737
static int hf_e2ap_ric_indicationMessage_formats;  /* T_ric_indicationMessage_formats */
738
static int hf_e2ap_indicationMessage_Format1;     /* E2SM_RC_IndicationMessage_Format1 */
739
static int hf_e2ap_indicationMessage_Format2;     /* E2SM_RC_IndicationMessage_Format2 */
740
static int hf_e2ap_indicationMessage_Format3;     /* E2SM_RC_IndicationMessage_Format3 */
741
static int hf_e2ap_indicationMessage_Format4;     /* E2SM_RC_IndicationMessage_Format4 */
742
static int hf_e2ap_indicationMessage_Format5;     /* E2SM_RC_IndicationMessage_Format5 */
743
static int hf_e2ap_indicationMessage_Format6;     /* E2SM_RC_IndicationMessage_Format6 */
744
static int hf_e2ap_ranP_Reported_List;            /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item */
745
static int hf_e2ap_ranP_Reported_List_item;       /* E2SM_RC_IndicationMessage_Format1_Item */
746
static int hf_e2ap_ueParameter_List;              /* SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item */
747
static int hf_e2ap_ueParameter_List_item;         /* E2SM_RC_IndicationMessage_Format2_Item */
748
static int hf_e2ap_ranP_List;                     /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item */
749
static int hf_e2ap_ranP_List_item;                /* E2SM_RC_IndicationMessage_Format2_RANParameter_Item */
750
static int hf_e2ap_cellInfo_List_01;              /* SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item */
751
static int hf_e2ap_cellInfo_List_item_01;         /* E2SM_RC_IndicationMessage_Format3_Item */
752
static int hf_e2ap_cellGlobal_ID;                 /* CGI */
753
static int hf_e2ap_cellContextInfo;               /* OCTET_STRING */
754
static int hf_e2ap_cellDeleted;                   /* BOOLEAN */
755
static int hf_e2ap_neighborRelation_Table;        /* NeighborRelation_Info */
756
static int hf_e2ap_ueInfo_List_01;                /* SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE */
757
static int hf_e2ap_ueInfo_List_item_01;           /* E2SM_RC_IndicationMessage_Format4_ItemUE */
758
static int hf_e2ap_cellInfo_List_02;              /* SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell */
759
static int hf_e2ap_cellInfo_List_item_02;         /* E2SM_RC_IndicationMessage_Format4_ItemCell */
760
static int hf_e2ap_ueContextInfo;                 /* OCTET_STRING */
761
static int hf_e2ap_ranP_Requested_List;           /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item */
762
static int hf_e2ap_ranP_Requested_List_item;      /* E2SM_RC_IndicationMessage_Format5_Item */
763
static int hf_e2ap_ric_InsertStyle_List_01;       /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item */
764
static int hf_e2ap_ric_InsertStyle_List_item_01;  /* E2SM_RC_IndicationMessage_Format6_Style_Item */
765
static int hf_e2ap_indicated_Insert_Style_Type;   /* RIC_Style_Type */
766
static int hf_e2ap_ric_InsertIndication_List_01;  /* SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item */
767
static int hf_e2ap_ric_InsertIndication_List_item_01;  /* E2SM_RC_IndicationMessage_Format6_Indication_Item */
768
static int hf_e2ap_ranP_InsertIndication_List_02;  /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item */
769
static int hf_e2ap_ranP_InsertIndication_List_item_02;  /* E2SM_RC_IndicationMessage_Format6_RANP_Item */
770
static int hf_e2ap_ric_callProcessID_formats;     /* T_ric_callProcessID_formats */
771
static int hf_e2ap_callProcessID_Format1;         /* E2SM_RC_CallProcessID_Format1 */
772
static int hf_e2ap_ric_callProcess_ID;            /* RAN_CallProcess_ID */
773
static int hf_e2ap_ric_controlHeader_formats;     /* T_ric_controlHeader_formats */
774
static int hf_e2ap_controlHeader_Format1;         /* E2SM_RC_ControlHeader_Format1 */
775
static int hf_e2ap_controlHeader_Format2;         /* E2SM_RC_ControlHeader_Format2 */
776
static int hf_e2ap_ric_ControlAction_ID;          /* RIC_ControlAction_ID */
777
static int hf_e2ap_ric_ControlDecision;           /* T_ric_ControlDecision */
778
static int hf_e2ap_ric_ControlDecision_01;        /* T_ric_ControlDecision_01 */
779
static int hf_e2ap_ric_controlMessage_formats;    /* T_ric_controlMessage_formats */
780
static int hf_e2ap_controlMessage_Format1;        /* E2SM_RC_ControlMessage_Format1 */
781
static int hf_e2ap_controlMessage_Format2;        /* E2SM_RC_ControlMessage_Format2 */
782
static int hf_e2ap_ranP_List_01;                  /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item */
783
static int hf_e2ap_ranP_List_item_01;             /* E2SM_RC_ControlMessage_Format1_Item */
784
static int hf_e2ap_ric_ControlStyle_List;         /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item */
785
static int hf_e2ap_ric_ControlStyle_List_item;    /* E2SM_RC_ControlMessage_Format2_Style_Item */
786
static int hf_e2ap_indicated_Control_Style_Type;  /* RIC_Style_Type */
787
static int hf_e2ap_ric_ControlAction_List;        /* SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item */
788
static int hf_e2ap_ric_ControlAction_List_item;   /* E2SM_RC_ControlMessage_Format2_ControlAction_Item */
789
static int hf_e2ap_ranP_List_02;                  /* E2SM_RC_ControlMessage_Format1 */
790
static int hf_e2ap_ric_controlOutcome_formats;    /* T_ric_controlOutcome_formats */
791
static int hf_e2ap_controlOutcome_Format1;        /* E2SM_RC_ControlOutcome_Format1 */
792
static int hf_e2ap_controlOutcome_Format2;        /* E2SM_RC_ControlOutcome_Format2 */
793
static int hf_e2ap_controlOutcome_Format3;        /* E2SM_RC_ControlOutcome_Format3 */
794
static int hf_e2ap_ranP_List_03;                  /* SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item */
795
static int hf_e2ap_ranP_List_item_02;             /* E2SM_RC_ControlOutcome_Format1_Item */
796
static int hf_e2ap_ric_ControlStyle_List_01;      /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item */
797
static int hf_e2ap_ric_ControlStyle_List_item_01;  /* E2SM_RC_ControlOutcome_Format2_Style_Item */
798
static int hf_e2ap_ric_ControlOutcome_List;       /* SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item */
799
static int hf_e2ap_ric_ControlOutcome_List_item;  /* E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item */
800
static int hf_e2ap_ranP_List_04;                  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item */
801
static int hf_e2ap_ranP_List_item_03;             /* E2SM_RC_ControlOutcome_Format2_RANP_Item */
802
static int hf_e2ap_ranP_List_05;                  /* SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item */
803
static int hf_e2ap_ranP_List_item_04;             /* E2SM_RC_ControlOutcome_Format3_Item */
804
static int hf_e2ap_ranFunction_Name;              /* RANfunction_Name */
805
static int hf_e2ap_ranFunctionDefinition_EventTrigger;  /* RANFunctionDefinition_EventTrigger */
806
static int hf_e2ap_ranFunctionDefinition_Report;  /* RANFunctionDefinition_Report */
807
static int hf_e2ap_ranFunctionDefinition_Insert;  /* RANFunctionDefinition_Insert */
808
static int hf_e2ap_ranFunctionDefinition_Control;  /* RANFunctionDefinition_Control */
809
static int hf_e2ap_ranFunctionDefinition_Policy;  /* RANFunctionDefinition_Policy */
810
static int hf_e2ap_ric_EventTriggerStyle_List;    /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item */
811
static int hf_e2ap_ric_EventTriggerStyle_List_item;  /* RANFunctionDefinition_EventTrigger_Style_Item */
812
static int hf_e2ap_ran_L2Parameters_List;         /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item */
813
static int hf_e2ap_ran_L2Parameters_List_item;    /* L2Parameters_RANParameter_Item */
814
static int hf_e2ap_ran_CallProcessTypes_List;     /* SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item */
815
static int hf_e2ap_ran_CallProcessTypes_List_item;  /* RANFunctionDefinition_EventTrigger_CallProcess_Item */
816
static int hf_e2ap_ran_UEIdentificationParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item */
817
static int hf_e2ap_ran_UEIdentificationParameters_List_item;  /* UEIdentification_RANParameter_Item */
818
static int hf_e2ap_ran_CellIdentificationParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item */
819
static int hf_e2ap_ran_CellIdentificationParameters_List_item;  /* CellIdentification_RANParameter_Item */
820
static int hf_e2ap_ric_EventTriggerStyle_Type;    /* RIC_Style_Type */
821
static int hf_e2ap_ric_EventTriggerStyle_Name;    /* RIC_Style_Name */
822
static int hf_e2ap_ric_EventTriggerFormat_Type;   /* RIC_Format_Type */
823
static int hf_e2ap_callProcessType_ID;            /* RIC_CallProcessType_ID */
824
static int hf_e2ap_callProcessType_Name;          /* RIC_CallProcessType_Name */
825
static int hf_e2ap_callProcessBreakpoints_List;   /* SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item */
826
static int hf_e2ap_callProcessBreakpoints_List_item;  /* RANFunctionDefinition_EventTrigger_Breakpoint_Item */
827
static int hf_e2ap_callProcessBreakpoint_ID;      /* RIC_CallProcessBreakpoint_ID */
828
static int hf_e2ap_callProcessBreakpoint_Name;    /* RIC_CallProcessBreakpoint_Name */
829
static int hf_e2ap_ran_CallProcessBreakpointParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item */
830
static int hf_e2ap_ran_CallProcessBreakpointParameters_List_item;  /* CallProcessBreakpoint_RANParameter_Item */
831
static int hf_e2ap_ric_ReportStyle_List;          /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item */
832
static int hf_e2ap_ric_ReportStyle_List_item;     /* RANFunctionDefinition_Report_Item */
833
static int hf_e2ap_ric_ReportStyle_Type;          /* RIC_Style_Type */
834
static int hf_e2ap_ric_ReportStyle_Name;          /* RIC_Style_Name */
835
static int hf_e2ap_ric_SupportedEventTriggerStyle_Type;  /* RIC_Style_Type */
836
static int hf_e2ap_ric_ReportActionFormat_Type;   /* RIC_Format_Type */
837
static int hf_e2ap_ric_IndicationHeaderFormat_Type;  /* RIC_Format_Type */
838
static int hf_e2ap_ric_IndicationMessageFormat_Type;  /* RIC_Format_Type */
839
static int hf_e2ap_ran_ReportParameters_List;     /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item */
840
static int hf_e2ap_ran_ReportParameters_List_item;  /* Report_RANParameter_Item */
841
static int hf_e2ap_ric_InsertStyle_List_02;       /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item */
842
static int hf_e2ap_ric_InsertStyle_List_item_02;  /* RANFunctionDefinition_Insert_Item */
843
static int hf_e2ap_ric_InsertStyle_Name;          /* RIC_Style_Name */
844
static int hf_e2ap_ric_ActionDefinitionFormat_Type;  /* RIC_Format_Type */
845
static int hf_e2ap_ric_InsertIndication_List_02;  /* SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item */
846
static int hf_e2ap_ric_InsertIndication_List_item_02;  /* RANFunctionDefinition_Insert_Indication_Item */
847
static int hf_e2ap_ric_CallProcessIDFormat_Type;  /* RIC_Format_Type */
848
static int hf_e2ap_ric_InsertIndication_Name;     /* RIC_InsertIndication_Name */
849
static int hf_e2ap_ran_InsertIndicationParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item */
850
static int hf_e2ap_ran_InsertIndicationParameters_List_item;  /* InsertIndication_RANParameter_Item */
851
static int hf_e2ap_ric_ControlStyle_List_02;      /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item */
852
static int hf_e2ap_ric_ControlStyle_List_item_02;  /* RANFunctionDefinition_Control_Item */
853
static int hf_e2ap_ric_ControlStyle_Type;         /* RIC_Style_Type */
854
static int hf_e2ap_ric_ControlStyle_Name;         /* RIC_Style_Name */
855
static int hf_e2ap_ric_ControlAction_List_01;     /* SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item */
856
static int hf_e2ap_ric_ControlAction_List_item_01;  /* RANFunctionDefinition_Control_Action_Item */
857
static int hf_e2ap_ric_ControlHeaderFormat_Type;  /* RIC_Format_Type */
858
static int hf_e2ap_ric_ControlMessageFormat_Type;  /* RIC_Format_Type */
859
static int hf_e2ap_ric_ControlOutcomeFormat_Type;  /* RIC_Format_Type */
860
static int hf_e2ap_ran_ControlOutcomeParameters_List;  /* SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item */
861
static int hf_e2ap_ran_ControlOutcomeParameters_List_item;  /* ControlOutcome_RANParameter_Item */
862
static int hf_e2ap_ric_ControlAction_Name;        /* RIC_ControlAction_Name */
863
static int hf_e2ap_ran_ControlActionParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item */
864
static int hf_e2ap_ran_ControlActionParameters_List_item;  /* ControlAction_RANParameter_Item */
865
static int hf_e2ap_ric_PolicyStyle_List;          /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item */
866
static int hf_e2ap_ric_PolicyStyle_List_item;     /* RANFunctionDefinition_Policy_Item */
867
static int hf_e2ap_ric_PolicyStyle_Type;          /* RIC_Style_Type */
868
static int hf_e2ap_ric_PolicyStyle_Name;          /* RIC_Style_Name */
869
static int hf_e2ap_ric_PolicyAction_List;         /* SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item */
870
static int hf_e2ap_ric_PolicyAction_List_item;    /* RANFunctionDefinition_Policy_Action_Item */
871
static int hf_e2ap_ric_PolicyAction_Name;         /* RIC_ControlAction_Name */
872
static int hf_e2ap_ran_PolicyActionParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item */
873
static int hf_e2ap_ran_PolicyActionParameters_List_item;  /* PolicyAction_RANParameter_Item */
874
static int hf_e2ap_ran_PolicyConditionParameters_List;  /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item */
875
static int hf_e2ap_ran_PolicyConditionParameters_List_item;  /* PolicyCondition_RANParameter_Item */
876
static int hf_e2ap_measName;                      /* MeasurementTypeName */
877
static int hf_e2ap_measID;                        /* MeasurementTypeID */
878
static int hf_e2ap_noLabel;                       /* T_noLabel */
879
static int hf_e2ap_plmnID;                        /* PLMNIdentity */
880
static int hf_e2ap_sliceID;                       /* S_NSSAI */
881
static int hf_e2ap_fiveQI;                        /* FiveQI */
882
static int hf_e2ap_qFI;                           /* QosFlowIdentifier */
883
static int hf_e2ap_qCI;                           /* QCI */
884
static int hf_e2ap_qCImax;                        /* QCI */
885
static int hf_e2ap_qCImin;                        /* QCI */
886
static int hf_e2ap_aRPmax;                        /* INTEGER_1_15_ */
887
static int hf_e2ap_aRPmin;                        /* INTEGER_1_15_ */
888
static int hf_e2ap_bitrateRange;                  /* INTEGER_1_65535_ */
889
static int hf_e2ap_layerMU_MIMO;                  /* INTEGER_1_65535_ */
890
static int hf_e2ap_sUM;                           /* T_sUM */
891
static int hf_e2ap_distBinX;                      /* INTEGER_1_65535_ */
892
static int hf_e2ap_distBinY;                      /* INTEGER_1_65535_ */
893
static int hf_e2ap_distBinZ;                      /* INTEGER_1_65535_ */
894
static int hf_e2ap_preLabelOverride;              /* T_preLabelOverride */
895
static int hf_e2ap_startEndInd;                   /* T_startEndInd */
896
static int hf_e2ap_min;                           /* T_min */
897
static int hf_e2ap_max;                           /* T_max */
898
static int hf_e2ap_avg;                           /* T_avg */
899
static int hf_e2ap_ssbIndex;                      /* INTEGER_1_65535_ */
900
static int hf_e2ap_nonGoB_BFmode_Index;           /* INTEGER_1_65535_ */
901
static int hf_e2ap_mIMO_mode_Index;               /* INTEGER_1_2_ */
902
static int hf_e2ap_testType;                      /* TestCond_Type */
903
static int hf_e2ap_testExpr;                      /* TestCond_Expression */
904
static int hf_e2ap_testValue;                     /* TestCond_Value */
905
static int hf_e2ap_gBR;                           /* T_gBR */
906
static int hf_e2ap_aMBR;                          /* T_aMBR */
907
static int hf_e2ap_isStat;                        /* T_isStat */
908
static int hf_e2ap_isCatM;                        /* T_isCatM */
909
static int hf_e2ap_rSRP;                          /* T_rSRP */
910
static int hf_e2ap_rSRQ;                          /* T_rSRQ */
911
static int hf_e2ap_ul_rSRP;                       /* T_ul_rSRP */
912
static int hf_e2ap_cQI;                           /* T_cQI */
913
static int hf_e2ap_fiveQI_01;                     /* T_fiveQI */
914
static int hf_e2ap_qCI_01;                        /* T_qCI */
915
static int hf_e2ap_sNSSAI;                        /* T_sNSSAI */
916
static int hf_e2ap_valueEnum;                     /* INTEGER */
917
static int hf_e2ap_valueBool;                     /* BOOLEAN */
918
static int hf_e2ap_valuePrtS;                     /* PrintableString */
919
static int hf_e2ap_binRangeListX;                 /* BinRangeList */
920
static int hf_e2ap_binRangeListY;                 /* BinRangeList */
921
static int hf_e2ap_binRangeListZ;                 /* BinRangeList */
922
static int hf_e2ap_BinRangeList_item;             /* BinRangeItem */
923
static int hf_e2ap_binIndex;                      /* BinIndex */
924
static int hf_e2ap_startValue;                    /* BinRangeValue */
925
static int hf_e2ap_endValue;                      /* BinRangeValue */
926
static int hf_e2ap_DistMeasurementBinRangeList_item;  /* DistMeasurementBinRangeItem */
927
static int hf_e2ap_measType;                      /* MeasurementType */
928
static int hf_e2ap_binRangeDef;                   /* BinRangeDefinition */
929
static int hf_e2ap_MeasurementInfoList_item;      /* MeasurementInfoItem */
930
static int hf_e2ap_labelInfoList;                 /* LabelInfoList */
931
static int hf_e2ap_LabelInfoList_item;            /* LabelInfoItem */
932
static int hf_e2ap_measLabel;                     /* MeasurementLabel */
933
static int hf_e2ap_MeasurementData_item;          /* MeasurementDataItem */
934
static int hf_e2ap_measRecord;                    /* MeasurementRecord */
935
static int hf_e2ap_incompleteFlag;                /* T_incompleteFlag */
936
static int hf_e2ap_MeasurementRecord_item;        /* MeasurementRecordItem */
937
static int hf_e2ap_integer;                       /* INTEGER_0_4294967295 */
938
static int hf_e2ap_real;                          /* REAL */
939
static int hf_e2ap_noValue;                       /* NULL */
940
static int hf_e2ap_MeasurementInfo_Action_List_item;  /* MeasurementInfo_Action_Item */
941
static int hf_e2ap_MeasurementCondList_item;      /* MeasurementCondItem */
942
static int hf_e2ap_matchingCond;                  /* MatchingCondList */
943
static int hf_e2ap_MeasurementCondUEidList_item;  /* MeasurementCondUEidItem */
944
static int hf_e2ap_matchingUEidList;              /* MatchingUEidList */
945
static int hf_e2ap_matchingUEidPerGP;             /* MatchingUEidPerGP */
946
static int hf_e2ap_MatchingCondList_item;         /* MatchingCondItem */
947
static int hf_e2ap_matchingCondChoice;            /* MatchingCondItem_Choice */
948
static int hf_e2ap_testCondInfo;                  /* TestCondInfo */
949
static int hf_e2ap_MatchingUEidList_item;         /* MatchingUEidItem */
950
static int hf_e2ap_MatchingUEidPerGP_item;        /* MatchingUEidPerGP_Item */
951
static int hf_e2ap_matchedPerGP;                  /* T_matchedPerGP */
952
static int hf_e2ap_noUEmatched;                   /* T_noUEmatched */
953
static int hf_e2ap_oneOrMoreUEmatched;            /* MatchingUEidList_PerGP */
954
static int hf_e2ap_MatchingUEidList_PerGP_item;   /* MatchingUEidItem_PerGP */
955
static int hf_e2ap_MatchingUeCondPerSubList_item;  /* MatchingUeCondPerSubItem */
956
static int hf_e2ap_MatchingUEidPerSubList_item;   /* MatchingUEidPerSubItem */
957
static int hf_e2ap_UEMeasurementReportList_item;  /* UEMeasurementReportItem */
958
static int hf_e2ap_measReport;                    /* E2SM_KPM_IndicationMessage_Format1 */
959
static int hf_e2ap_eventDefinition_formats;       /* T_eventDefinition_formats */
960
static int hf_e2ap_eventDefinition_Format1;       /* E2SM_KPM_EventTriggerDefinition_Format1 */
961
static int hf_e2ap_reportingPeriod;               /* INTEGER_1_4294967295 */
962
static int hf_e2ap_actionDefinition_formats;      /* T_actionDefinition_formats */
963
static int hf_e2ap_actionDefinition_Format1_01;   /* E2SM_KPM_ActionDefinition_Format1 */
964
static int hf_e2ap_actionDefinition_Format2_01;   /* E2SM_KPM_ActionDefinition_Format2 */
965
static int hf_e2ap_actionDefinition_Format3_01;   /* E2SM_KPM_ActionDefinition_Format3 */
966
static int hf_e2ap_actionDefinition_Format4_01;   /* E2SM_KPM_ActionDefinition_Format4 */
967
static int hf_e2ap_actionDefinition_Format5;      /* E2SM_KPM_ActionDefinition_Format5 */
968
static int hf_e2ap_measInfoList;                  /* MeasurementInfoList */
969
static int hf_e2ap_granulPeriod;                  /* GranularityPeriod */
970
static int hf_e2ap_distMeasBinRangeInfo;          /* DistMeasurementBinRangeList */
971
static int hf_e2ap_subscriptInfo;                 /* E2SM_KPM_ActionDefinition_Format1 */
972
static int hf_e2ap_measCondList;                  /* MeasurementCondList */
973
static int hf_e2ap_matchingUeCondList;            /* MatchingUeCondPerSubList */
974
static int hf_e2ap_subscriptionInfo;              /* E2SM_KPM_ActionDefinition_Format1 */
975
static int hf_e2ap_matchingUEidList_01;           /* MatchingUEidPerSubList */
976
static int hf_e2ap_indicationHeader_formats;      /* T_indicationHeader_formats */
977
static int hf_e2ap_indicationHeader_Format1_01;   /* E2SM_KPM_IndicationHeader_Format1 */
978
static int hf_e2ap_colletStartTime;               /* T_colletStartTime */
979
static int hf_e2ap_fileFormatversion;             /* PrintableString_SIZE_0_15_ */
980
static int hf_e2ap_senderName;                    /* PrintableString_SIZE_0_400_ */
981
static int hf_e2ap_senderType;                    /* PrintableString_SIZE_0_8_ */
982
static int hf_e2ap_vendorName;                    /* PrintableString_SIZE_0_32_ */
983
static int hf_e2ap_indicationMessage_formats;     /* T_indicationMessage_formats */
984
static int hf_e2ap_indicationMessage_Format1_01;  /* E2SM_KPM_IndicationMessage_Format1 */
985
static int hf_e2ap_indicationMessage_Format2_01;  /* E2SM_KPM_IndicationMessage_Format2 */
986
static int hf_e2ap_indicationMessage_Format3_01;  /* E2SM_KPM_IndicationMessage_Format3 */
987
static int hf_e2ap_measData;                      /* MeasurementData */
988
static int hf_e2ap_measCondUEidList;              /* MeasurementCondUEidList */
989
static int hf_e2ap_ueMeasReportList;              /* UEMeasurementReportList */
990
static int hf_e2ap_ric_EventTriggerStyle_List_01;  /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item */
991
static int hf_e2ap_ric_EventTriggerStyle_List_item_01;  /* RIC_EventTriggerStyle_Item */
992
static int hf_e2ap_ric_ReportStyle_List_01;       /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item */
993
static int hf_e2ap_ric_ReportStyle_List_item_01;  /* RIC_ReportStyle_Item */
994
static int hf_e2ap_ric_ActionFormat_Type;         /* RIC_Format_Type */
995
static int hf_e2ap_measInfo_Action_List;          /* MeasurementInfo_Action_List */
996
static int hf_e2ap_eventDefinition_Format1_01;    /* E2SM_NI_EventTriggerDefinition_Format1 */
997
static int hf_e2ap_interface_type;                /* NI_Type */
998
static int hf_e2ap_interface_ID;                  /* NI_Identifier */
999
static int hf_e2ap_interfaceDirection;            /* NI_Direction */
1000
static int hf_e2ap_interfaceMessageType;          /* NI_MessageType */
1001
static int hf_e2ap_interfaceProtocolIE_List;      /* SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item */
1002
static int hf_e2ap_interfaceProtocolIE_List_item;  /* NI_ProtocolIE_Item */
1003
static int hf_e2ap_action_Definition_Format;      /* E2SM_NI_ActionDefinitionFormat */
1004
static int hf_e2ap_actionDefinition_Format1_02;   /* E2SM_NI_ActionDefinition_Format1 */
1005
static int hf_e2ap_actionDefinition_Format2_02;   /* E2SM_NI_ActionDefinition_Format2 */
1006
static int hf_e2ap_actionParameter_List;          /* SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item */
1007
static int hf_e2ap_actionParameter_List_item;     /* RANparameter_Item */
1008
static int hf_e2ap_ranUEgroup_List;               /* SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item */
1009
static int hf_e2ap_ranUEgroup_List_item;          /* RANueGroup_Item */
1010
static int hf_e2ap_indicationHeader_Format1_02;   /* E2SM_NI_IndicationHeader_Format1 */
1011
static int hf_e2ap_timestamp;                     /* NI_TimeStamp */
1012
static int hf_e2ap_indicationMessage_Format1_02;  /* E2SM_NI_IndicationMessage_Format1 */
1013
static int hf_e2ap_interfaceMessage;              /* NI_Message */
1014
static int hf_e2ap_callProcessID_Format1_01;      /* E2SM_NI_CallProcessID_Format1 */
1015
static int hf_e2ap_callProcessID_Format2;         /* E2SM_NI_CallProcessID_Format2 */
1016
static int hf_e2ap_callProcess_ID;                /* RANcallProcess_ID_number */
1017
static int hf_e2ap_callProcess_ID_format2;        /* RANcallProcess_ID_string */
1018
static int hf_e2ap_controlHeader_Format1_01;      /* E2SM_NI_ControlHeader_Format1 */
1019
static int hf_e2ap_interface_Direction;           /* NI_Direction */
1020
static int hf_e2ap_ric_Control_Message_Priority;  /* RIC_Control_Message_Priority */
1021
static int hf_e2ap_controlMessage_Format1_01;     /* E2SM_NI_ControlMessage_Format1 */
1022
static int hf_e2ap_controlOutcome_Format1_01;     /* E2SM_NI_ControlOutcome_Format1 */
1023
static int hf_e2ap_outcomeElement_List;           /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item */
1024
static int hf_e2ap_outcomeElement_List_item;      /* RANparameter_Item */
1025
static int hf_e2ap_ni_Type_List;                  /* SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item */
1026
static int hf_e2ap_ni_Type_List_item;             /* E2SM_NI_RANfunction_Item */
1027
static int hf_e2ap_ric_EventTriggerStyle_List_02;  /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List */
1028
static int hf_e2ap_ric_EventTriggerStyle_List_item_02;  /* RIC_EventTriggerStyle_List */
1029
static int hf_e2ap_ric_ReportStyle_List_02;       /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List */
1030
static int hf_e2ap_ric_ReportStyle_List_item_02;  /* RIC_ReportStyle_List */
1031
static int hf_e2ap_ric_InsertStyle_List_03;       /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List */
1032
static int hf_e2ap_ric_InsertStyle_List_item_03;  /* RIC_InsertStyle_List */
1033
static int hf_e2ap_ric_ControlStyle_List_03;      /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List */
1034
static int hf_e2ap_ric_ControlStyle_List_item_03;  /* RIC_ControlStyle_List */
1035
static int hf_e2ap_ric_PolicyStyle_List_01;       /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List */
1036
static int hf_e2ap_ric_PolicyStyle_List_item_01;  /* RIC_PolicyStyle_List */
1037
static int hf_e2ap_global_ng_RAN_ID;              /* Global_ng_RAN_ID */
1038
static int hf_e2ap_global_eNB_ID_01;              /* Global_eNB_ID */
1039
static int hf_e2ap_global_en_gNB_ID_01;           /* Global_en_gNB_ID */
1040
static int hf_e2ap_global_gNB_DU_ID;              /* Global_gNB_DU_ID */
1041
static int hf_e2ap_global_gNB_CU_UP_ID;           /* Global_gNB_CU_UP_ID */
1042
static int hf_e2ap_s1MessageType;                 /* NI_MessageTypeS1 */
1043
static int hf_e2ap_x2MessageType;                 /* NI_MessageTypeX2 */
1044
static int hf_e2ap_ngMessageType;                 /* NI_MessageTypeNG */
1045
static int hf_e2ap_xnMessageType;                 /* NI_MessageTypeXn */
1046
static int hf_e2ap_f1MessageType;                 /* NI_MessageTypeF1 */
1047
static int hf_e2ap_e1MessageType;                 /* NI_MessageTypeE1 */
1048
static int hf_e2ap_typeOfMessage;                 /* TypeOfMessage */
1049
static int hf_e2ap_interfaceProtocolIE_ID;        /* NI_ProtocolIE_ID */
1050
static int hf_e2ap_interfaceProtocolIE_Test;      /* NI_ProtocolIE_Test */
1051
static int hf_e2ap_interfaceProtocolIE_Value;     /* NI_ProtocolIE_Value */
1052
static int hf_e2ap_ranImperativePolicy_List;      /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item */
1053
static int hf_e2ap_ranImperativePolicy_List_item;  /* RANparameter_Item */
1054
static int hf_e2ap_ranParameter_ID_01;            /* RANparameter_ID */
1055
static int hf_e2ap_ranParameter_Value_01;         /* RANparameter_Value */
1056
static int hf_e2ap_ranParameter_Name;             /* RANparameter_Name */
1057
static int hf_e2ap_ranParameter_Type_01;          /* RANparameter_Type */
1058
static int hf_e2ap_ranUEgroupID;                  /* RANueGroupID */
1059
static int hf_e2ap_ranUEgroupDefinition;          /* RANueGroupDefinition */
1060
static int hf_e2ap_ranPolicy;                     /* RANimperativePolicy */
1061
static int hf_e2ap_ranUEgroupDef_List;            /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item */
1062
static int hf_e2ap_ranUEgroupDef_List_item;       /* RANueGroupDef_Item */
1063
static int hf_e2ap_ranParameter_Test;             /* RANparameter_Test_Condition */
1064
static int hf_e2ap_ric_ControlFormat_Type;        /* RIC_Format_Type */
1065
static int hf_e2ap_ric_ControlOutcomeRanParaDef_List;  /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1066
static int hf_e2ap_ric_ControlOutcomeRanParaDef_List_item;  /* RANparameterDef_Item */
1067
static int hf_e2ap_ric_InsertActionFormat_Type;   /* RIC_Format_Type */
1068
static int hf_e2ap_ric_InsertRanParameterDef_List;  /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1069
static int hf_e2ap_ric_InsertRanParameterDef_List_item;  /* RANparameterDef_Item */
1070
static int hf_e2ap_ric_PolicyActionFormat_Type;   /* RIC_Format_Type */
1071
static int hf_e2ap_ric_PolicyRanParameterDef_List;  /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1072
static int hf_e2ap_ric_PolicyRanParameterDef_List_item;  /* RANparameterDef_Item */
1073
static int hf_e2ap_ric_ReportRanParameterDef_List;  /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1074
static int hf_e2ap_ric_ReportRanParameterDef_List_item;  /* RANparameterDef_Item */
1075
1076
static int hf_e2ap_unmapped_ran_function_id;
1077
static int hf_e2ap_ran_function_name_not_recognised;
1078
static int hf_e2ap_ran_function_setup_frame;
1079
/* TODO: for each RAN Function, also link forward to where setup is referenced (if at all?).  Maybe just first usage? */
1080
1081
static int hf_e2ap_dissector_version;
1082
static int hf_e2ap_frame_version;
1083
1084
static int hf_e2ap_timestamp_string;
1085
1086
1087
/* Initialize the subtree pointers */
1088
static int ett_e2ap;
1089
1090
static expert_field ei_e2ap_ran_function_names_no_match;
1091
static expert_field ei_e2ap_ran_function_id_not_mapped;
1092
static expert_field ei_e2ap_ran_function_dissector_mismatch;
1093
static expert_field ei_e2ap_ran_function_max_dissectors_registered;
1094
1095
static int ett_e2ap_ProtocolIE_Container;
1096
static int ett_e2ap_ProtocolIE_Field;
1097
static int ett_e2ap_Cause;
1098
static int ett_e2ap_CriticalityDiagnostics;
1099
static int ett_e2ap_CriticalityDiagnostics_IE_List;
1100
static int ett_e2ap_CriticalityDiagnostics_IE_Item;
1101
static int ett_e2ap_E2nodeComponentConfiguration;
1102
static int ett_e2ap_E2nodeComponentConfigurationAck;
1103
static int ett_e2ap_E2nodeComponentID;
1104
static int ett_e2ap_E2nodeComponentInterfaceE1;
1105
static int ett_e2ap_E2nodeComponentInterfaceF1;
1106
static int ett_e2ap_E2nodeComponentInterfaceNG;
1107
static int ett_e2ap_E2nodeComponentInterfaceS1;
1108
static int ett_e2ap_E2nodeComponentInterfaceX2;
1109
static int ett_e2ap_E2nodeComponentInterfaceXn;
1110
static int ett_e2ap_E2nodeComponentInterfaceW1;
1111
static int ett_e2ap_ENB_ID;
1112
static int ett_e2ap_ENB_ID_Choice;
1113
static int ett_e2ap_ENGNB_ID;
1114
static int ett_e2ap_GlobalE2node_ID;
1115
static int ett_e2ap_GlobalE2node_en_gNB_ID;
1116
static int ett_e2ap_GlobalE2node_eNB_ID;
1117
static int ett_e2ap_GlobalE2node_gNB_ID;
1118
static int ett_e2ap_GlobalE2node_ng_eNB_ID;
1119
static int ett_e2ap_GlobalENB_ID;
1120
static int ett_e2ap_GlobalenGNB_ID;
1121
static int ett_e2ap_GlobalgNB_ID;
1122
static int ett_e2ap_GlobalngeNB_ID;
1123
static int ett_e2ap_GlobalNG_RANNode_ID;
1124
static int ett_e2ap_GlobalRIC_ID;
1125
static int ett_e2ap_GNB_ID_Choice;
1126
static int ett_e2ap_RICrequestID;
1127
static int ett_e2ap_RICsubsequentAction;
1128
static int ett_e2ap_TNLinformation;
1129
static int ett_e2ap_RICsubscriptionRequest;
1130
static int ett_e2ap_RICsubscriptionDetails;
1131
static int ett_e2ap_RICactions_ToBeSetup_List;
1132
static int ett_e2ap_RICaction_ToBeSetup_Item;
1133
static int ett_e2ap_RICsubscriptionResponse;
1134
static int ett_e2ap_RICaction_Admitted_List;
1135
static int ett_e2ap_RICaction_Admitted_Item;
1136
static int ett_e2ap_RICaction_NotAdmitted_List;
1137
static int ett_e2ap_RICaction_NotAdmitted_Item;
1138
static int ett_e2ap_RICsubscriptionFailure;
1139
static int ett_e2ap_RICsubscriptionDeleteRequest;
1140
static int ett_e2ap_RICsubscriptionDeleteResponse;
1141
static int ett_e2ap_RICsubscriptionDeleteFailure;
1142
static int ett_e2ap_RICsubscriptionDeleteRequired;
1143
static int ett_e2ap_RICsubscription_List_withCause;
1144
static int ett_e2ap_RICsubscription_withCause_Item;
1145
static int ett_e2ap_RICsubscriptionModificationRequest;
1146
static int ett_e2ap_RICactions_ToBeRemovedForModification_List;
1147
static int ett_e2ap_RICaction_ToBeRemovedForModification_Item;
1148
static int ett_e2ap_RICactions_ToBeModifiedForModification_List;
1149
static int ett_e2ap_RICaction_ToBeModifiedForModification_Item;
1150
static int ett_e2ap_RICactions_ToBeAddedForModification_List;
1151
static int ett_e2ap_RICaction_ToBeAddedForModification_Item;
1152
static int ett_e2ap_RICsubscriptionModificationResponse;
1153
static int ett_e2ap_RICactions_RemovedForModification_List;
1154
static int ett_e2ap_RICaction_RemovedForModification_Item;
1155
static int ett_e2ap_RICactions_FailedToBeRemovedForModification_List;
1156
static int ett_e2ap_RICaction_FailedToBeRemovedForModification_Item;
1157
static int ett_e2ap_RICactions_ModifiedForModification_List;
1158
static int ett_e2ap_RICaction_ModifiedForModification_Item;
1159
static int ett_e2ap_RICactions_FailedToBeModifiedForModification_List;
1160
static int ett_e2ap_RICaction_FailedToBeModifiedForModification_Item;
1161
static int ett_e2ap_RICactions_AddedForModification_List;
1162
static int ett_e2ap_RICaction_AddedForModification_Item;
1163
static int ett_e2ap_RICactions_FailedToBeAddedForModification_List;
1164
static int ett_e2ap_RICaction_FailedToBeAddedForModification_Item;
1165
static int ett_e2ap_RICsubscriptionModificationFailure;
1166
static int ett_e2ap_RICsubscriptionModificationRequired;
1167
static int ett_e2ap_RICactions_RequiredToBeModified_List;
1168
static int ett_e2ap_RICaction_RequiredToBeModified_Item;
1169
static int ett_e2ap_RICactions_RequiredToBeRemoved_List;
1170
static int ett_e2ap_RICaction_RequiredToBeRemoved_Item;
1171
static int ett_e2ap_RICsubscriptionModificationConfirm;
1172
static int ett_e2ap_RICactions_ConfirmedForModification_List;
1173
static int ett_e2ap_RICaction_ConfirmedForModification_Item;
1174
static int ett_e2ap_RICactions_RefusedToBeModified_List;
1175
static int ett_e2ap_RICaction_RefusedToBeModified_Item;
1176
static int ett_e2ap_RICactions_ConfirmedForRemoval_List;
1177
static int ett_e2ap_RICaction_ConfirmedForRemoval_Item;
1178
static int ett_e2ap_RICactions_RefusedToBeRemoved_List;
1179
static int ett_e2ap_RICaction_RefusedToBeRemoved_Item;
1180
static int ett_e2ap_RICsubscriptionModificationRefuse;
1181
static int ett_e2ap_RICindication;
1182
static int ett_e2ap_RICcontrolRequest;
1183
static int ett_e2ap_RICcontrolAcknowledge;
1184
static int ett_e2ap_RICcontrolFailure;
1185
static int ett_e2ap_RICQueryRequest;
1186
static int ett_e2ap_RICQueryResponse;
1187
static int ett_e2ap_RICQueryFailure;
1188
static int ett_e2ap_ErrorIndication;
1189
static int ett_e2ap_E2setupRequest;
1190
static int ett_e2ap_E2setupResponse;
1191
static int ett_e2ap_E2setupFailure;
1192
static int ett_e2ap_E2connectionUpdate;
1193
static int ett_e2ap_E2connectionUpdate_List;
1194
static int ett_e2ap_E2connectionUpdate_Item;
1195
static int ett_e2ap_E2connectionUpdateRemove_List;
1196
static int ett_e2ap_E2connectionUpdateRemove_Item;
1197
static int ett_e2ap_E2connectionUpdateAcknowledge;
1198
static int ett_e2ap_E2connectionSetupFailed_List;
1199
static int ett_e2ap_E2connectionSetupFailed_Item;
1200
static int ett_e2ap_E2connectionUpdateFailure;
1201
static int ett_e2ap_E2nodeConfigurationUpdate;
1202
static int ett_e2ap_E2nodeComponentConfigAddition_List;
1203
static int ett_e2ap_E2nodeComponentConfigAddition_Item;
1204
static int ett_e2ap_E2nodeComponentConfigUpdate_List;
1205
static int ett_e2ap_E2nodeComponentConfigUpdate_Item;
1206
static int ett_e2ap_E2nodeComponentConfigRemoval_List;
1207
static int ett_e2ap_E2nodeComponentConfigRemoval_Item;
1208
static int ett_e2ap_E2nodeTNLassociationRemoval_List;
1209
static int ett_e2ap_E2nodeTNLassociationRemoval_Item;
1210
static int ett_e2ap_E2nodeConfigurationUpdateAcknowledge;
1211
static int ett_e2ap_E2nodeComponentConfigAdditionAck_List;
1212
static int ett_e2ap_E2nodeComponentConfigAdditionAck_Item;
1213
static int ett_e2ap_E2nodeComponentConfigUpdateAck_List;
1214
static int ett_e2ap_E2nodeComponentConfigUpdateAck_Item;
1215
static int ett_e2ap_E2nodeComponentConfigRemovalAck_List;
1216
static int ett_e2ap_E2nodeComponentConfigRemovalAck_Item;
1217
static int ett_e2ap_E2nodeConfigurationUpdateFailure;
1218
static int ett_e2ap_ResetRequest;
1219
static int ett_e2ap_ResetResponse;
1220
static int ett_e2ap_RICserviceUpdate;
1221
static int ett_e2ap_RANfunctions_List;
1222
static int ett_e2ap_RANfunction_Item;
1223
static int ett_e2ap_RANfunctionsID_List;
1224
static int ett_e2ap_RANfunctionID_Item;
1225
static int ett_e2ap_RICserviceUpdateAcknowledge;
1226
static int ett_e2ap_RANfunctionsIDcause_List;
1227
static int ett_e2ap_RANfunctionIDcause_Item;
1228
static int ett_e2ap_RICserviceUpdateFailure;
1229
static int ett_e2ap_RICserviceQuery;
1230
static int ett_e2ap_E2RemovalRequest;
1231
static int ett_e2ap_E2RemovalResponse;
1232
static int ett_e2ap_E2RemovalFailure;
1233
static int ett_e2ap_E2AP_PDU;
1234
static int ett_e2ap_InitiatingMessage;
1235
static int ett_e2ap_SuccessfulOutcome;
1236
static int ett_e2ap_UnsuccessfulOutcome;
1237
static int ett_e2ap_CGI;
1238
static int ett_e2ap_InterfaceIdentifier;
1239
static int ett_e2ap_InterfaceID_NG;
1240
static int ett_e2ap_InterfaceID_Xn;
1241
static int ett_e2ap_InterfaceID_F1;
1242
static int ett_e2ap_InterfaceID_E1;
1243
static int ett_e2ap_InterfaceID_S1;
1244
static int ett_e2ap_InterfaceID_X2;
1245
static int ett_e2ap_T_nodeType;
1246
static int ett_e2ap_InterfaceID_W1;
1247
static int ett_e2ap_Interface_MessageID;
1248
static int ett_e2ap_RANfunction_Name;
1249
static int ett_e2ap_RRC_MessageID;
1250
static int ett_e2ap_T_rrcType;
1251
static int ett_e2ap_ServingCell_ARFCN;
1252
static int ett_e2ap_ServingCell_PCI;
1253
static int ett_e2ap_UEID;
1254
static int ett_e2ap_UEID_GNB;
1255
static int ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List;
1256
static int ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item;
1257
static int ett_e2ap_UEID_GNB_CU_F1AP_ID_List;
1258
static int ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item;
1259
static int ett_e2ap_UEID_GNB_DU;
1260
static int ett_e2ap_UEID_GNB_CU_UP;
1261
static int ett_e2ap_UEID_NG_ENB;
1262
static int ett_e2ap_UEID_NG_ENB_DU;
1263
static int ett_e2ap_UEID_EN_GNB;
1264
static int ett_e2ap_UEID_ENB;
1265
static int ett_e2ap_GUMMEI;
1266
static int ett_e2ap_EUTRA_CGI;
1267
static int ett_e2ap_GlobalGNB_ID;
1268
static int ett_e2ap_GlobalNgENB_ID;
1269
static int ett_e2ap_GNB_ID;
1270
static int ett_e2ap_GUAMI;
1271
static int ett_e2ap_NgENB_ID;
1272
static int ett_e2ap_NR_CGI;
1273
static int ett_e2ap_S_NSSAI;
1274
static int ett_e2ap_GlobalNGRANNodeID;
1275
static int ett_e2ap_NR_ARFCN;
1276
static int ett_e2ap_NRFrequencyBand_List;
1277
static int ett_e2ap_NRFrequencyBandItem;
1278
static int ett_e2ap_NRFrequencyInfo;
1279
static int ett_e2ap_SupportedSULBandList;
1280
static int ett_e2ap_SupportedSULFreqBandItem;
1281
static int ett_e2ap_NeighborCell_List;
1282
static int ett_e2ap_NeighborCell_Item;
1283
static int ett_e2ap_NeighborCell_Item_Choice_NR;
1284
static int ett_e2ap_NeighborCell_Item_Choice_E_UTRA;
1285
static int ett_e2ap_NeighborRelation_Info;
1286
static int ett_e2ap_EventTrigger_Cell_Info;
1287
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item;
1288
static int ett_e2ap_EventTrigger_Cell_Info_Item;
1289
static int ett_e2ap_T_cellType;
1290
static int ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual;
1291
static int ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group;
1292
static int ett_e2ap_EventTrigger_UE_Info;
1293
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item;
1294
static int ett_e2ap_EventTrigger_UE_Info_Item;
1295
static int ett_e2ap_T_ueType;
1296
static int ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual;
1297
static int ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group;
1298
static int ett_e2ap_EventTrigger_UEevent_Info;
1299
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item;
1300
static int ett_e2ap_EventTrigger_UEevent_Info_Item;
1301
static int ett_e2ap_RANParameter_Definition;
1302
static int ett_e2ap_RANParameter_Definition_Choice;
1303
static int ett_e2ap_RANParameter_Definition_Choice_LIST;
1304
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item;
1305
static int ett_e2ap_RANParameter_Definition_Choice_LIST_Item;
1306
static int ett_e2ap_RANParameter_Definition_Choice_STRUCTURE;
1307
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item;
1308
static int ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item;
1309
static int ett_e2ap_RANParameter_Value;
1310
static int ett_e2ap_RANParameter_ValueType;
1311
static int ett_e2ap_RANParameter_ValueType_Choice_ElementTrue;
1312
static int ett_e2ap_RANParameter_ValueType_Choice_ElementFalse;
1313
static int ett_e2ap_RANParameter_ValueType_Choice_Structure;
1314
static int ett_e2ap_RANParameter_ValueType_Choice_List;
1315
static int ett_e2ap_RANParameter_STRUCTURE;
1316
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item;
1317
static int ett_e2ap_RANParameter_STRUCTURE_Item;
1318
static int ett_e2ap_RANParameter_LIST;
1319
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE;
1320
static int ett_e2ap_RANParameter_Testing;
1321
static int ett_e2ap_RANParameter_TestingCondition;
1322
static int ett_e2ap_RANParameter_Testing_Item;
1323
static int ett_e2ap_T_ranParameter_Type;
1324
static int ett_e2ap_RANParameter_Testing_Item_Choice_List;
1325
static int ett_e2ap_RANParameter_Testing_Item_Choice_Structure;
1326
static int ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue;
1327
static int ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse;
1328
static int ett_e2ap_RANParameter_Testing_LIST;
1329
static int ett_e2ap_RANParameter_Testing_STRUCTURE;
1330
static int ett_e2ap_RIC_PolicyAction;
1331
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item;
1332
static int ett_e2ap_RIC_PolicyAction_RANParameter_Item;
1333
static int ett_e2ap_E2SM_RC_EventTrigger;
1334
static int ett_e2ap_T_ric_eventTrigger_formats;
1335
static int ett_e2ap_E2SM_RC_EventTrigger_Format1;
1336
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item;
1337
static int ett_e2ap_E2SM_RC_EventTrigger_Format1_Item;
1338
static int ett_e2ap_MessageType_Choice;
1339
static int ett_e2ap_MessageType_Choice_NI;
1340
static int ett_e2ap_MessageType_Choice_RRC;
1341
static int ett_e2ap_E2SM_RC_EventTrigger_Format2;
1342
static int ett_e2ap_E2SM_RC_EventTrigger_Format3;
1343
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item;
1344
static int ett_e2ap_E2SM_RC_EventTrigger_Format3_Item;
1345
static int ett_e2ap_E2SM_RC_EventTrigger_Format4;
1346
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item;
1347
static int ett_e2ap_E2SM_RC_EventTrigger_Format4_Item;
1348
static int ett_e2ap_TriggerType_Choice;
1349
static int ett_e2ap_TriggerType_Choice_RRCstate;
1350
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item;
1351
static int ett_e2ap_TriggerType_Choice_RRCstate_Item;
1352
static int ett_e2ap_TriggerType_Choice_UEID;
1353
static int ett_e2ap_TriggerType_Choice_L2state;
1354
static int ett_e2ap_E2SM_RC_EventTrigger_Format5;
1355
static int ett_e2ap_E2SM_RC_ActionDefinition;
1356
static int ett_e2ap_T_ric_actionDefinition_formats;
1357
static int ett_e2ap_E2SM_RC_ActionDefinition_Format1;
1358
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item;
1359
static int ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item;
1360
static int ett_e2ap_E2SM_RC_ActionDefinition_Format2;
1361
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item;
1362
static int ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item;
1363
static int ett_e2ap_E2SM_RC_ActionDefinition_Format3;
1364
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item;
1365
static int ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item;
1366
static int ett_e2ap_E2SM_RC_ActionDefinition_Format4;
1367
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item;
1368
static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item;
1369
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item;
1370
static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item;
1371
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item;
1372
static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item;
1373
static int ett_e2ap_E2SM_RC_IndicationHeader;
1374
static int ett_e2ap_T_ric_indicationHeader_formats;
1375
static int ett_e2ap_E2SM_RC_IndicationHeader_Format1;
1376
static int ett_e2ap_E2SM_RC_IndicationHeader_Format2;
1377
static int ett_e2ap_E2SM_RC_IndicationHeader_Format3;
1378
static int ett_e2ap_E2SM_RC_IndicationMessage;
1379
static int ett_e2ap_T_ric_indicationMessage_formats;
1380
static int ett_e2ap_E2SM_RC_IndicationMessage_Format1;
1381
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item;
1382
static int ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item;
1383
static int ett_e2ap_E2SM_RC_IndicationMessage_Format2;
1384
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item;
1385
static int ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item;
1386
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
1387
static int ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
1388
static int ett_e2ap_E2SM_RC_IndicationMessage_Format3;
1389
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item;
1390
static int ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item;
1391
static int ett_e2ap_E2SM_RC_IndicationMessage_Format4;
1392
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE;
1393
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell;
1394
static int ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE;
1395
static int ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell;
1396
static int ett_e2ap_E2SM_RC_IndicationMessage_Format5;
1397
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item;
1398
static int ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item;
1399
static int ett_e2ap_E2SM_RC_IndicationMessage_Format6;
1400
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item;
1401
static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item;
1402
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item;
1403
static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item;
1404
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item;
1405
static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item;
1406
static int ett_e2ap_E2SM_RC_CallProcessID;
1407
static int ett_e2ap_T_ric_callProcessID_formats;
1408
static int ett_e2ap_E2SM_RC_CallProcessID_Format1;
1409
static int ett_e2ap_E2SM_RC_ControlHeader;
1410
static int ett_e2ap_T_ric_controlHeader_formats;
1411
static int ett_e2ap_E2SM_RC_ControlHeader_Format1;
1412
static int ett_e2ap_E2SM_RC_ControlHeader_Format2;
1413
static int ett_e2ap_E2SM_RC_ControlMessage;
1414
static int ett_e2ap_T_ric_controlMessage_formats;
1415
static int ett_e2ap_E2SM_RC_ControlMessage_Format1;
1416
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item;
1417
static int ett_e2ap_E2SM_RC_ControlMessage_Format1_Item;
1418
static int ett_e2ap_E2SM_RC_ControlMessage_Format2;
1419
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item;
1420
static int ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item;
1421
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item;
1422
static int ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item;
1423
static int ett_e2ap_E2SM_RC_ControlOutcome;
1424
static int ett_e2ap_T_ric_controlOutcome_formats;
1425
static int ett_e2ap_E2SM_RC_ControlOutcome_Format1;
1426
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item;
1427
static int ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item;
1428
static int ett_e2ap_E2SM_RC_ControlOutcome_Format2;
1429
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item;
1430
static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item;
1431
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item;
1432
static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item;
1433
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item;
1434
static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item;
1435
static int ett_e2ap_E2SM_RC_ControlOutcome_Format3;
1436
static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item;
1437
static int ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item;
1438
static int ett_e2ap_E2SM_RC_RANFunctionDefinition;
1439
static int ett_e2ap_RANFunctionDefinition_EventTrigger;
1440
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item;
1441
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item;
1442
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item;
1443
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item;
1444
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item;
1445
static int ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item;
1446
static int ett_e2ap_L2Parameters_RANParameter_Item;
1447
static int ett_e2ap_UEIdentification_RANParameter_Item;
1448
static int ett_e2ap_CellIdentification_RANParameter_Item;
1449
static int ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item;
1450
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item;
1451
static int ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item;
1452
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item;
1453
static int ett_e2ap_CallProcessBreakpoint_RANParameter_Item;
1454
static int ett_e2ap_RANFunctionDefinition_Report;
1455
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item;
1456
static int ett_e2ap_RANFunctionDefinition_Report_Item;
1457
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item;
1458
static int ett_e2ap_Report_RANParameter_Item;
1459
static int ett_e2ap_RANFunctionDefinition_Insert;
1460
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item;
1461
static int ett_e2ap_RANFunctionDefinition_Insert_Item;
1462
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item;
1463
static int ett_e2ap_RANFunctionDefinition_Insert_Indication_Item;
1464
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item;
1465
static int ett_e2ap_InsertIndication_RANParameter_Item;
1466
static int ett_e2ap_RANFunctionDefinition_Control;
1467
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item;
1468
static int ett_e2ap_RANFunctionDefinition_Control_Item;
1469
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item;
1470
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item;
1471
static int ett_e2ap_ControlOutcome_RANParameter_Item;
1472
static int ett_e2ap_RANFunctionDefinition_Control_Action_Item;
1473
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item;
1474
static int ett_e2ap_ControlAction_RANParameter_Item;
1475
static int ett_e2ap_RANFunctionDefinition_Policy;
1476
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item;
1477
static int ett_e2ap_RANFunctionDefinition_Policy_Item;
1478
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item;
1479
static int ett_e2ap_RANFunctionDefinition_Policy_Action_Item;
1480
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item;
1481
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item;
1482
static int ett_e2ap_PolicyAction_RANParameter_Item;
1483
static int ett_e2ap_PolicyCondition_RANParameter_Item;
1484
static int ett_e2ap_BinRangeValue;
1485
static int ett_e2ap_MeasurementType;
1486
static int ett_e2ap_MeasurementLabel;
1487
static int ett_e2ap_TestCondInfo;
1488
static int ett_e2ap_TestCond_Type;
1489
static int ett_e2ap_TestCond_Value;
1490
static int ett_e2ap_BinRangeDefinition;
1491
static int ett_e2ap_BinRangeList;
1492
static int ett_e2ap_BinRangeItem;
1493
static int ett_e2ap_DistMeasurementBinRangeList;
1494
static int ett_e2ap_DistMeasurementBinRangeItem;
1495
static int ett_e2ap_MeasurementInfoList;
1496
static int ett_e2ap_MeasurementInfoItem;
1497
static int ett_e2ap_LabelInfoList;
1498
static int ett_e2ap_LabelInfoItem;
1499
static int ett_e2ap_MeasurementData;
1500
static int ett_e2ap_MeasurementDataItem;
1501
static int ett_e2ap_MeasurementRecord;
1502
static int ett_e2ap_MeasurementRecordItem;
1503
static int ett_e2ap_MeasurementInfo_Action_List;
1504
static int ett_e2ap_MeasurementInfo_Action_Item;
1505
static int ett_e2ap_MeasurementCondList;
1506
static int ett_e2ap_MeasurementCondItem;
1507
static int ett_e2ap_MeasurementCondUEidList;
1508
static int ett_e2ap_MeasurementCondUEidItem;
1509
static int ett_e2ap_MatchingCondList;
1510
static int ett_e2ap_MatchingCondItem;
1511
static int ett_e2ap_MatchingCondItem_Choice;
1512
static int ett_e2ap_MatchingUEidList;
1513
static int ett_e2ap_MatchingUEidItem;
1514
static int ett_e2ap_MatchingUEidPerGP;
1515
static int ett_e2ap_MatchingUEidPerGP_Item;
1516
static int ett_e2ap_T_matchedPerGP;
1517
static int ett_e2ap_MatchingUEidList_PerGP;
1518
static int ett_e2ap_MatchingUEidItem_PerGP;
1519
static int ett_e2ap_MatchingUeCondPerSubList;
1520
static int ett_e2ap_MatchingUeCondPerSubItem;
1521
static int ett_e2ap_MatchingUEidPerSubList;
1522
static int ett_e2ap_MatchingUEidPerSubItem;
1523
static int ett_e2ap_UEMeasurementReportList;
1524
static int ett_e2ap_UEMeasurementReportItem;
1525
static int ett_e2ap_E2SM_KPM_EventTriggerDefinition;
1526
static int ett_e2ap_T_eventDefinition_formats;
1527
static int ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1;
1528
static int ett_e2ap_E2SM_KPM_ActionDefinition;
1529
static int ett_e2ap_T_actionDefinition_formats;
1530
static int ett_e2ap_E2SM_KPM_ActionDefinition_Format1;
1531
static int ett_e2ap_E2SM_KPM_ActionDefinition_Format2;
1532
static int ett_e2ap_E2SM_KPM_ActionDefinition_Format3;
1533
static int ett_e2ap_E2SM_KPM_ActionDefinition_Format4;
1534
static int ett_e2ap_E2SM_KPM_ActionDefinition_Format5;
1535
static int ett_e2ap_E2SM_KPM_IndicationHeader;
1536
static int ett_e2ap_T_indicationHeader_formats;
1537
static int ett_e2ap_E2SM_KPM_IndicationHeader_Format1;
1538
static int ett_e2ap_E2SM_KPM_IndicationMessage;
1539
static int ett_e2ap_T_indicationMessage_formats;
1540
static int ett_e2ap_E2SM_KPM_IndicationMessage_Format1;
1541
static int ett_e2ap_E2SM_KPM_IndicationMessage_Format2;
1542
static int ett_e2ap_E2SM_KPM_IndicationMessage_Format3;
1543
static int ett_e2ap_E2SM_KPM_RANfunction_Description;
1544
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item;
1545
static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item;
1546
static int ett_e2ap_RIC_EventTriggerStyle_Item;
1547
static int ett_e2ap_RIC_ReportStyle_Item;
1548
static int ett_e2ap_E2SM_NI_EventTriggerDefinition;
1549
static int ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1;
1550
static int ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item;
1551
static int ett_e2ap_E2SM_NI_ActionDefinition;
1552
static int ett_e2ap_E2SM_NI_ActionDefinitionFormat;
1553
static int ett_e2ap_E2SM_NI_ActionDefinition_Format1;
1554
static int ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item;
1555
static int ett_e2ap_E2SM_NI_ActionDefinition_Format2;
1556
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item;
1557
static int ett_e2ap_E2SM_NI_IndicationHeader;
1558
static int ett_e2ap_E2SM_NI_IndicationHeader_Format1;
1559
static int ett_e2ap_E2SM_NI_IndicationMessage;
1560
static int ett_e2ap_E2SM_NI_IndicationMessage_Format1;
1561
static int ett_e2ap_E2SM_NI_CallProcessID;
1562
static int ett_e2ap_E2SM_NI_CallProcessID_Format1;
1563
static int ett_e2ap_E2SM_NI_CallProcessID_Format2;
1564
static int ett_e2ap_E2SM_NI_ControlHeader;
1565
static int ett_e2ap_E2SM_NI_ControlHeader_Format1;
1566
static int ett_e2ap_E2SM_NI_ControlMessage;
1567
static int ett_e2ap_E2SM_NI_ControlMessage_Format1;
1568
static int ett_e2ap_E2SM_NI_ControlOutcome;
1569
static int ett_e2ap_E2SM_NI_ControlOutcome_Format1;
1570
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item;
1571
static int ett_e2ap_E2SM_NI_RANfunction_Description;
1572
static int ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item;
1573
static int ett_e2ap_E2SM_NI_RANfunction_Item;
1574
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List;
1575
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List;
1576
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List;
1577
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List;
1578
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List;
1579
static int ett_e2ap_Global_gNB_DU_ID;
1580
static int ett_e2ap_Global_gNB_CU_UP_ID;
1581
static int ett_e2ap_NI_Identifier;
1582
static int ett_e2ap_NI_MessageType;
1583
static int ett_e2ap_NI_MessageTypeApproach1;
1584
static int ett_e2ap_NI_ProtocolIE_Item;
1585
static int ett_e2ap_NI_ProtocolIE_Value;
1586
static int ett_e2ap_RANimperativePolicy;
1587
static int ett_e2ap_RANparameter_Item;
1588
static int ett_e2ap_RANparameterDef_Item;
1589
static int ett_e2ap_RANparameter_Value;
1590
static int ett_e2ap_RANueGroup_Item;
1591
static int ett_e2ap_RANueGroupDefinition;
1592
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item;
1593
static int ett_e2ap_RANueGroupDef_Item;
1594
static int ett_e2ap_RIC_ControlStyle_List;
1595
static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item;
1596
static int ett_e2ap_RIC_EventTriggerStyle_List;
1597
static int ett_e2ap_RIC_InsertStyle_List;
1598
static int ett_e2ap_RIC_PolicyStyle_List;
1599
static int ett_e2ap_RIC_ReportStyle_List;
1600
1601
1602
/* Forward declarations */
1603
static unsigned dissect_e2ap_RANfunction_Name(tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1604
1605
1606
static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1607
static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1608
static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1609
static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1610
static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1611
1612
static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1613
static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1614
static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1615
static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1616
static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1617
static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1618
static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1619
static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1620
static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1621
1622
static int dissect_E2SM_NI_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1623
static int dissect_E2SM_NI_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1624
static int dissect_E2SM_NI_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1625
static int dissect_E2SM_NI_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1626
static int dissect_E2SM_NI_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1627
static int dissect_E2SM_NI_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1628
static int dissect_E2SM_NI_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1629
static int dissect_E2SM_NI_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1630
static int dissect_E2SM_NI_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1631
1632
enum {
1633
  INITIATING_MESSAGE,
1634
  SUCCESSFUL_OUTCOME,
1635
  UNSUCCESSFUL_OUTCOME
1636
};
1637
1638
1639
/* E2AP stats - Tap interface */
1640
1641
static void set_stats_message_type(packet_info *pinfo, int type);
1642
1643
static const char * const st_str_packets      = "Total Packets";
1644
static const char * const st_str_packet_types = "E2AP Packet Types";
1645
1646
static int st_node_packets = -1;
1647
static int st_node_packet_types = -1;
1648
static int e2ap_tap;
1649
1650
struct e2ap_tap_t {
1651
    int e2ap_mtype;
1652
};
1653
1654
0
#define MTYPE_E2_CONNECTION_UPDATE             1
1655
0
#define MTYPE_E2_CONNECTION_UPDATE_ACK         2
1656
0
#define MTYPE_E2_CONNECTION_UPDATE_FAIL        3
1657
0
#define MTYPE_E2_CONFIGURATION_UPDATE          4
1658
0
#define MTYPE_E2_CONFIGURATION_UPDATE_ACK      5
1659
0
#define MTYPE_E2_CONFIGURATION_UPDATE_FAIL     6
1660
6
#define MTYPE_E2_SETUP_FAIL                    7
1661
4
#define MTYPE_E2_SETUP_REQUEST                 8
1662
0
#define MTYPE_E2_SETUP_RESPONSE                9
1663
6
#define MTYPE_ERROR_INDICATION                 10
1664
18
#define MTYPE_RESET_REQUEST                    11
1665
4
#define MTYPE_RESET_RESPONSE                   12
1666
30
#define MTYPE_RIC_CONTROL_ACK                  13
1667
36
#define MTYPE_RIC_CONTROL_FAIL                 14
1668
22
#define MTYPE_RIC_CONTROL_REQUEST              15
1669
22
#define MTYPE_RIC_IND                          16
1670
16
#define MTYPE_RIC_SERVICE_QUERY                17
1671
0
#define MTYPE_RIC_SERVICE_UPDATE               18
1672
0
#define MTYPE_RIC_SERVICE_UPDATE_ACK           19
1673
0
#define MTYPE_RIC_SERVICE_UPDATE_FAIL          20
1674
0
#define MTYPE_RIC_SUBSCRIPTION_FAIL            21
1675
0
#define MTYPE_RIC_SUBSCRIPTION_REQUEST         22
1676
4
#define MTYPE_RIC_SUBSCRIPTION_RESPONSE        23
1677
4
#define MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL     24
1678
0
#define MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST  25
1679
0
#define MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE 26
1680
0
#define MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED 27
1681
2
#define MTYPE_RIC_QUERY_REQUEST                28
1682
0
#define MTYPE_RIC_QUERY_RESPONSE               29
1683
0
#define MTYPE_RIC_QUERY_FAILURE                30
1684
1685
/* Value Strings. TODO: ext? */
1686
static const value_string mtype_names[] = {
1687
    { MTYPE_E2_CONNECTION_UPDATE,                "E2connectionUpdate"},
1688
    { MTYPE_E2_CONNECTION_UPDATE_ACK,            "E2connectionUpdateAcknowledge"},
1689
    { MTYPE_E2_CONNECTION_UPDATE_FAIL,           "E2connectionUpdateFailure"},
1690
    { MTYPE_E2_CONFIGURATION_UPDATE,             "E2nodeConfigurationUpdate"},
1691
    { MTYPE_E2_CONFIGURATION_UPDATE_ACK,         "E2nodeConfigurationUpdateAcknowledge"},
1692
    { MTYPE_E2_CONFIGURATION_UPDATE_FAIL,        "E2nodeConfigurationUpdateFailure"},
1693
    { MTYPE_E2_SETUP_FAIL,                       "E2setupFailure"},
1694
    { MTYPE_E2_SETUP_REQUEST,                    "E2setupRequest"},
1695
    { MTYPE_E2_SETUP_RESPONSE,                   "E2setupResponse"},
1696
    { MTYPE_ERROR_INDICATION,                    "ErrorIndication"},
1697
    { MTYPE_RESET_REQUEST,                       "ResetRequest"},
1698
    { MTYPE_RESET_RESPONSE,                      "ResetResponse"},
1699
    { MTYPE_RIC_CONTROL_ACK,                     "RICcontrolAcknowledge"},
1700
    { MTYPE_RIC_CONTROL_FAIL,                    "RICcontrolFailure"},
1701
    { MTYPE_RIC_CONTROL_REQUEST,                 "RICcontrolRequest"},
1702
    { MTYPE_RIC_IND,                             "RICindication"},
1703
    { MTYPE_RIC_SERVICE_QUERY,                   "RICserviceQuery"},
1704
    { MTYPE_RIC_SERVICE_UPDATE,                  "RICserviceUpdate"},
1705
    { MTYPE_RIC_SERVICE_UPDATE_ACK,              "RICserviceUpdateAcknowledge"},
1706
    { MTYPE_RIC_SERVICE_UPDATE_FAIL,             "RICserviceUpdateFailure"},
1707
    { MTYPE_RIC_SUBSCRIPTION_FAIL,               "RICsubscriptionFailure"},
1708
    { MTYPE_RIC_SUBSCRIPTION_REQUEST,            "RICsubscriptionRequest"},
1709
    { MTYPE_RIC_SUBSCRIPTION_RESPONSE,           "RICsubscriptionResponse"},
1710
    { MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL,        "RICsubscriptionDeleteFailure"},
1711
    { MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST,     "RICsubscriptionDeleteRequest"},
1712
    { MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE,    "RICsubscriptionDeleteResponse"},
1713
    { MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED,    "RICsubscriptionDeleteRequired"},
1714
    { MTYPE_RIC_QUERY_REQUEST,                   "RICQueryRequest"},
1715
    { MTYPE_RIC_QUERY_RESPONSE,                  "RICQueryResponse"},
1716
    { MTYPE_RIC_QUERY_FAILURE,                   "RICQueryFailure"},
1717
    { 0,  NULL }
1718
};
1719
1720
static proto_tree *top_tree;
1721
1722
static void set_message_label(asn1_ctx_t *actx, int type)
1723
87
{
1724
87
  const char *label = val_to_str_const(type, mtype_names, "Unknown");
1725
87
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
1726
87
  proto_item_append_text(top_tree, " (%s)", label);
1727
87
}
1728
1729
1730
1731
1732
/* Temporary private info to remember while dissecting frame */
1733
struct e2ap_private_data {
1734
  uint32_t procedure_code;
1735
  uint32_t protocol_ie_id;
1736
  uint32_t message_type;
1737
1738
  uint32_t ran_function_id;
1739
  uint32_t gnb_id_len;
1740
#define MAX_GNB_ID_BYTES 6
1741
  uint8_t gnb_id_bytes[MAX_GNB_ID_BYTES];
1742
  dissector_handle_t component_configuration_dissector;
1743
  struct e2ap_tap_t *stats_tap;
1744
};
1745
1746
/* Lookup temporary private info */
1747
static struct e2ap_private_data*
1748
e2ap_get_private_data(packet_info *pinfo)
1749
2.33k
{
1750
2.33k
  struct e2ap_private_data *e2ap_data = (struct e2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_e2ap, 0);
1751
2.33k
  if (!e2ap_data) {
1752
97
    e2ap_data = wmem_new0(pinfo->pool, struct e2ap_private_data);
1753
97
    p_add_proto_data(pinfo->pool, pinfo, proto_e2ap, 0, e2ap_data);
1754
97
  }
1755
2.33k
  return e2ap_data;
1756
2.33k
}
1757
1758
/****************************************************************************************************************/
1759
/* These are the strings that we look for at the beginning of RAN Function Description to identify RAN Function */
1760
/* Static table mapping from string -> ran_function */
1761
static const char* const g_ran_function_name_table[MAX_RANFUNCTIONS] =
1762
{
1763
    "ORAN-E2SM-KPM",
1764
    "ORAN-E2SM-RC",
1765
    "ORAN-E2SM-NI",
1766
    "{",              /* For now, CCC is the only JSON-based RAN Function, so just match opening */
1767
    "ORAN-E2SM-LLC"
1768
};
1769
1770
1771
1772
/* Per-conversation mapping: ranFunctionId -> ran_function+dissector */
1773
typedef struct {
1774
    uint32_t                       setup_frame;
1775
    uint32_t                       ran_function_id;
1776
    ran_function_t                 ran_function;
1777
    char                           oid[MAX_OID_LEN];       // i.e., OID from setupRequest
1778
    const ran_function_dissector_t *dissector;
1779
} ran_function_id_mapping_t;
1780
1781
typedef struct  {
1782
6
#define MAX_RANFUNCTION_ENTRIES 8
1783
    uint32_t                  num_entries;
1784
    ran_function_id_mapping_t entries[MAX_RANFUNCTION_ENTRIES];
1785
} ran_functionid_table_t;
1786
1787
static const char *ran_function_to_str(ran_function_t ran_function)
1788
0
{
1789
0
    switch (ran_function) {
1790
0
        case KPM_RANFUNCTIONS:
1791
0
            return "KPM";
1792
0
        case RC_RANFUNCTIONS:
1793
0
            return "RC";
1794
0
        case NI_RANFUNCTIONS:
1795
0
            return "NI";
1796
0
        case CCC_RANFUNCTIONS:
1797
0
            return "CCC";
1798
0
        case LLC_RANFUNCTIONS:
1799
0
            return "LLC";
1800
1801
0
        default:
1802
0
            return "Unknown";
1803
0
    }
1804
0
}
1805
1806
/* Table of RAN Function tables, indexed by gnbId (bytes) */
1807
typedef struct {
1808
3
#define MAX_GNBS 6
1809
    uint32_t num_gnbs;
1810
    struct {
1811
        uint8_t id_value[MAX_GNB_ID_BYTES];
1812
        uint32_t id_len;
1813
        ran_functionid_table_t *ran_function_table;
1814
    } gnb[MAX_GNBS];
1815
} gnb_ran_functions_t;
1816
1817
static gnb_ran_functions_t s_gnb_ran_functions_table;
1818
1819
1820
/* Table of available dissectors for each RAN function */
1821
typedef struct {
1822
    uint32_t                        num_available_dissectors;
1823
154
#define MAX_DISSECTORS_PER_RAN_FUNCTION 8
1824
    const ran_function_dissector_t* ran_function_dissectors[MAX_DISSECTORS_PER_RAN_FUNCTION];
1825
} ran_function_available_dissectors_t;
1826
1827
/* Available dissectors should be set here */
1828
static ran_function_available_dissectors_t g_ran_functions_available_dissectors[MAX_RANFUNCTIONS];
1829
1830
/* Will be called from outside this file by separate dissectors */
1831
void register_e2ap_ran_function_dissector(ran_function_t ran_function, const ran_function_dissector_t *dissector)
1832
154
{
1833
154
    if ((ran_function >= MIN_RANFUNCTIONS) && (ran_function < MAX_RANFUNCTIONS)) {
1834
154
        ran_function_available_dissectors_t *available_dissectors = &g_ran_functions_available_dissectors[ran_function];
1835
154
        if (available_dissectors->num_available_dissectors < MAX_DISSECTORS_PER_RAN_FUNCTION) {
1836
154
            available_dissectors->ran_function_dissectors[available_dissectors->num_available_dissectors++] = dissector;
1837
154
        }
1838
154
    }
1839
154
}
1840
1841
1842
/* Get RANfunctionID table from conversation data - create new if necessary */
1843
static ran_functionid_table_t* get_ran_functionid_table(packet_info *pinfo)
1844
22
{
1845
22
    conversation_t *p_conv;
1846
22
    ran_functionid_table_t *p_conv_data = NULL;
1847
1848
    /* Lookup conversation */
1849
22
    p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
1850
22
                               conversation_pt_to_endpoint_type(pinfo->ptype),
1851
22
                               pinfo->destport, pinfo->srcport, 0);
1852
22
    if (!p_conv) {
1853
        /* None, so create new data and set */
1854
5
        p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
1855
5
                                  conversation_pt_to_endpoint_type(pinfo->ptype),
1856
5
                                  pinfo->destport, pinfo->srcport, 0);
1857
5
        p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
1858
5
        conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
1859
5
    }
1860
17
    else {
1861
        /* Will return existing conversation data */
1862
17
        p_conv_data = (ran_functionid_table_t*)conversation_get_proto_data(p_conv, proto_e2ap);
1863
17
    }
1864
1865
22
    return p_conv_data;
1866
22
}
1867
1868
1869
/* Store new RANfunctionID -> Service Model mapping in table */
1870
void e2ap_store_ran_function_mapping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, const char *name)
1871
6
{
1872
6
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
1873
6
    ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
1874
1875
    /* Need these pointers not to be NULL */
1876
6
    if (!name || !table) {
1877
0
      return;
1878
0
    }
1879
1880
    /* Stop if already reached table limit */
1881
6
    if (table->num_entries == MAX_RANFUNCTION_ENTRIES) {
1882
0
        proto_tree_add_expert_format(tree, pinfo, &ei_e2ap_ran_function_max_dissectors_registered,
1883
0
                                     tvb, 0, 0,
1884
0
                                     "Dissector wants to register for %s, but max (%u) already reached",
1885
0
                                     name, MAX_RANFUNCTION_ENTRIES);
1886
0
        return;
1887
0
    }
1888
1889
6
    uint32_t ran_function_id = e2ap_data->ran_function_id;
1890
1891
6
    ran_function_t                 ran_function = MAX_RANFUNCTIONS;  /* i.e. invalid */
1892
6
    const ran_function_dissector_t *ran_function_dissector = NULL;
1893
1894
    /* Check known RAN function names */
1895
24
    for (int n=MIN_RANFUNCTIONS; n < MAX_RANFUNCTIONS; n++) {
1896
24
        if (strcmp(name, g_ran_function_name_table[n]) == 0) {
1897
6
            ran_function = n;
1898
1899
            /* Don't know OID yet, so for now, just choose first/only one */
1900
            /* TODO: is latest one likely to be more compatible? First fields (at least) come from E2SM.. */
1901
6
            if (g_ran_functions_available_dissectors[table->entries[n].ran_function].num_available_dissectors) {
1902
6
                ran_function_dissector = g_ran_functions_available_dissectors[table->entries[n].ran_function].ran_function_dissectors[0];
1903
6
            }
1904
6
            break;
1905
6
        }
1906
24
    }
1907
1908
    /* Nothing to do if no matches */
1909
6
    if (ran_function == MAX_RANFUNCTIONS) {
1910
0
        return;
1911
0
    }
1912
1913
    /* If ID already mapped, can stop here */
1914
9
    for (unsigned n=0; n < table->num_entries; n++) {
1915
5
        if (table->entries[n].ran_function_id == ran_function_id) {
1916
2
            return;
1917
2
        }
1918
5
    }
1919
1920
    /* OK, store this new entry */
1921
4
    unsigned idx = table->num_entries++;
1922
4
    table->entries[idx].setup_frame = pinfo->num;
1923
4
    table->entries[idx].ran_function_id = ran_function_id;
1924
4
    table->entries[idx].ran_function = ran_function;
1925
4
    table->entries[idx].dissector = ran_function_dissector;
1926
1927
    /* When add first entry, also want to set up table from gnbId -> table */
1928
4
    if (idx == 0) {
1929
3
        unsigned id_len = e2ap_data->gnb_id_len;
1930
3
        uint8_t *id_value = &e2ap_data->gnb_id_bytes[0];
1931
1932
3
        bool found = false;
1933
4
        for (unsigned n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
1934
1
            if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
1935
0
                (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
1936
                /* Already have an entry for this gnb. */
1937
0
                found = true;
1938
0
                break;
1939
0
            }
1940
1
        }
1941
1942
3
        if (!found) {
1943
            /* Add entry (if room for 1 more) */
1944
3
            uint32_t new_idx = s_gnb_ran_functions_table.num_gnbs;
1945
3
            if (new_idx < MAX_GNBS-1) {
1946
3
                s_gnb_ran_functions_table.gnb[new_idx].id_len = id_len;
1947
3
                memcpy(s_gnb_ran_functions_table.gnb[new_idx].id_value, id_value, id_len);
1948
3
                s_gnb_ran_functions_table.gnb[new_idx].ran_function_table = table;
1949
1950
3
                s_gnb_ran_functions_table.num_gnbs++;
1951
3
            }
1952
3
        }
1953
3
    }
1954
4
}
1955
1956
/* Look for Service Model function pointers, based on current RANFunctionID from frame */
1957
static const ran_function_dissector_t* lookup_ranfunction_dissector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb)
1958
11
{
1959
    /* Get ranFunctionID from this frame */
1960
11
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
1961
11
    unsigned ran_function_id = e2ap_data->ran_function_id;
1962
1963
    /* Get ranFunction table corresponding to this frame's conversation */
1964
11
    ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
1965
11
    if (!table) {
1966
        /* There is no ran function table associated with this frame's conversation info */
1967
2
        return NULL;
1968
2
    }
1969
1970
    /* Find the entry in this table corresponding to ran_function_id */
1971
15
    for (unsigned n=0; n < table->num_entries; n++) {
1972
6
        if (ran_function_id == table->entries[n].ran_function_id) {
1973
0
            if (tree) {
1974
                /* Point back at the setup frame where this ranfunction was mapped */
1975
0
                proto_item *ti = proto_tree_add_uint(tree, hf_e2ap_ran_function_setup_frame,
1976
0
                                                     tvb, 0, 0, table->entries[n].setup_frame);
1977
                /* Show that mapping */
1978
0
                proto_item_append_text(ti, " (%u -> %s)", table->entries[n].ran_function_id, ran_function_to_str(table->entries[n].ran_function));
1979
0
                proto_item_set_generated(ti);
1980
1981
                /* Also take the chance to compare signalled and available dissector */
1982
0
                char *frame_version = oid_resolved_from_string(pinfo->pool, table->entries[n].oid);
1983
0
                ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, frame_version);
1984
0
                proto_item_set_generated(ti);
1985
1986
                /* N.B. in case of RC, this won't work! Would also be nice to include minor_version, but string wouldn't match */
1987
0
                char dissector_version[16];
1988
0
                snprintf(dissector_version, 16, "%s v%u",
1989
0
                         ran_function_to_str(table->entries[n].ran_function),
1990
0
                         table->entries[n].dissector->major_version);
1991
0
                ti = proto_tree_add_string(tree, hf_e2ap_dissector_version, tvb, 0, 0, dissector_version);
1992
0
                proto_item_set_generated(ti);
1993
1994
0
                if ((table->entries[n].ran_function != RC_RANFUNCTIONS) && (strcmp(frame_version, dissector_version) != 0)) {
1995
                    /* Expert info for version mismatch!  Have given up on RC though... */
1996
0
                    expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_dissector_mismatch,
1997
0
                                           "Dissector version mismatch - frame is %s but dissector is %s",
1998
0
                                           frame_version, dissector_version);
1999
0
                }
2000
0
            }
2001
2002
            /* Return the dissector */
2003
0
            return table->entries[n].dissector;
2004
0
        }
2005
6
    }
2006
2007
9
    if (tree) {
2008
        /* No match found.. */
2009
9
        proto_item *ti = proto_tree_add_item(tree, hf_e2ap_unmapped_ran_function_id, tvb, 0, 0, ENC_NA);
2010
9
        expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_id_not_mapped,
2011
9
                               "Service Model not mapped for FunctionID %u", ran_function_id);
2012
9
    }
2013
2014
9
    return NULL;
2015
9
}
2016
2017
/* Return the oid associated with this frame's conversation */
2018
static char* lookup_ranfunction_oid(packet_info *pinfo)
2019
0
{
2020
    /* Get ranFunctionID from this frame */
2021
0
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2022
0
    unsigned ran_function_id = e2ap_data->ran_function_id;
2023
2024
    /* Get ranFunction table corresponding to this frame's conversation */
2025
0
    ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2026
0
    if (!table) {
2027
        /* There is no ran function table associated with this frame's conversation info */
2028
0
        return NULL;
2029
0
    }
2030
2031
    /* Find the entry in this table corresponding to ran_function_id */
2032
0
    for (unsigned n=0; n < table->num_entries; n++) {
2033
0
        if (ran_function_id == table->entries[n].ran_function_id) {
2034
0
            return (char*)(table->entries[n].oid);
2035
0
        }
2036
0
    }
2037
2038
    /* Not found */
2039
0
    return NULL;
2040
0
}
2041
2042
2043
/* We now know the OID - can we set a dissector that is an exact match from what has been signalled? */
2044
static void update_dissector_using_oid(packet_info *pinfo, ran_function_t ran_function)
2045
0
{
2046
0
    char *frame_oid = lookup_ranfunction_oid(pinfo);
2047
0
    if (frame_oid == NULL) {
2048
        /* TODO: error? */
2049
0
        return;
2050
0
    }
2051
2052
0
    bool found = false;
2053
2054
    /* Look at available dissectors for this RAN function */
2055
0
    ran_function_available_dissectors_t *available = &g_ran_functions_available_dissectors[ran_function];
2056
0
    if (!available->num_available_dissectors) {
2057
        /* Oops - none available at all! */
2058
0
        return;
2059
0
    }
2060
2061
    /* Get mapping in use */
2062
0
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2063
0
    unsigned ran_function_id = e2ap_data->ran_function_id;
2064
0
    ran_function_id_mapping_t *mapping = NULL;
2065
0
    ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2066
0
    if (!table) {
2067
0
        return;
2068
0
    }
2069
2070
    /* Find the entry in this table corresponding to ran_function_id */
2071
0
    for (unsigned n=0; n < table->num_entries; n++) {
2072
0
        if (ran_function_id == table->entries[n].ran_function_id) {
2073
0
            mapping = &(table->entries[n]);
2074
0
        }
2075
0
    }
2076
2077
0
    if (!mapping) {
2078
0
        return;
2079
0
    }
2080
2081
    /* Set dissector pointer in ran_function_id_mapping_t */
2082
0
    if (ran_function != RC_RANFUNCTIONS) {
2083
0
        for (uint32_t n=0; n < available->num_available_dissectors; n++) {
2084
            /* If exact match, set it */
2085
0
            if (strcmp(frame_oid, available->ran_function_dissectors[n]->oid) == 0) {
2086
0
                mapping->dissector = available->ran_function_dissectors[n];
2087
0
                found = true;
2088
0
                break;
2089
0
            }
2090
0
        }
2091
0
    }
2092
0
    else {
2093
        /* Special case for RC, which doesn't differentiate versions by OID. Lookup preference instead */
2094
0
        for (uint32_t n=0; n < available->num_available_dissectors; n++) {
2095
0
            if (available->ran_function_dissectors[n]->major_version == e2ap_rc_version_pref_choice) {
2096
0
                mapping->dissector = available->ran_function_dissectors[n];
2097
0
                found = true;
2098
0
                break;
2099
0
            }
2100
0
        }
2101
2102
0
    }
2103
2104
    /* If not exact match, just set to first one available (TODO: closest above better?) */
2105
0
    if (!found) {
2106
0
        mapping->dissector = available->ran_function_dissectors[0];
2107
0
    }
2108
0
}
2109
2110
2111
/* Update RANfunctionID -> Service Model mapping in table (now that we know OID) */
2112
void e2ap_update_ran_function_mapping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, const char *oid)
2113
5
{
2114
    /* Copy OID into table entry (so may be used to choose and be compared with chosen available dissector */
2115
5
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2116
5
    ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2117
    /* Make sure we have private and table data to compare */
2118
5
    if (!e2ap_data || !table) {
2119
0
        return;
2120
0
    }
2121
5
    ran_function_t ran_function = MAX_RANFUNCTIONS;
2122
14
    for (unsigned n=0; n < table->num_entries; n++) {
2123
9
        if (e2ap_data->ran_function_id == table->entries[n].ran_function_id) {
2124
3
            ran_function = table->entries[n].ran_function;
2125
3
            (void) g_strlcpy(table->entries[n].oid, oid, MAX_OID_LEN);
2126
3
        }
2127
9
    }
2128
2129
    /* Look up version from oid and show as generated field */
2130
5
    char *version = oid_resolved_from_string(pinfo->pool, oid);
2131
5
    proto_item *ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, version);
2132
5
    proto_item_set_generated(ti);
2133
2134
    /* Can now pick most appropriate dissector for this RAN Function name, based upon this OID and the available dissectors */
2135
5
    if (ran_function < MAX_RANFUNCTIONS) {
2136
3
        if (pinfo->fd->visited) {
2137
0
            update_dissector_using_oid(pinfo, ran_function);
2138
0
        }
2139
3
    }
2140
5
}
2141
2142
/* This will get used for E2nodeConfigurationUpdate, where we have a gnb-id but haven't seen E2setupRequest */
2143
static void update_conversation_from_gnb_id(asn1_ctx_t *actx)
2144
3
{
2145
3
    packet_info *pinfo = actx->pinfo;
2146
3
    struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2147
2148
    /* Look for conversation data */
2149
3
    conversation_t *p_conv;
2150
3
    ran_functionid_table_t *p_conv_data = NULL;
2151
2152
    /* Lookup conversation */
2153
3
    p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
2154
3
                               conversation_pt_to_endpoint_type(pinfo->ptype),
2155
3
                               pinfo->destport, pinfo->srcport, 0);
2156
2157
3
    if (!p_conv) {
2158
        /* None, so create new data and set */
2159
1
        p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
2160
1
                                  conversation_pt_to_endpoint_type(pinfo->ptype),
2161
1
                                  pinfo->destport, pinfo->srcport, 0);
2162
1
        p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
2163
1
        conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
2164
2165
        /* Look to see if we already know about the mappings in effect on this gNB */
2166
1
        unsigned id_len = e2ap_data->gnb_id_len;
2167
1
        uint8_t *id_value = &e2ap_data->gnb_id_bytes[0];
2168
2169
3
        for (unsigned n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
2170
2
            if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
2171
2
                (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
2172
2173
                /* Have an entry for this gnb.  Set direct pointer to existing data (used by original conversation). */
2174
                /* N.B. This means that no further updates for the gNB are expected on different conversations.. */
2175
0
                p_conv_data = s_gnb_ran_functions_table.gnb[n].ran_function_table;
2176
0
                conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
2177
2178
                /* TODO: may want to try to add a generated field to pass back to E2setupRequest where RAN function mappings were first seen? */
2179
0
                break;
2180
0
            }
2181
2
        }
2182
1
    }
2183
3
}
2184
2185
static dissector_handle_t json_handle;
2186
2187
static int dissect_E2SM_NI_JSON_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
2188
6
{
2189
    /* Send to JSON dissector */
2190
6
    return call_dissector_only(json_handle, tvb, pinfo, tree, NULL);
2191
6
}
2192
2193
2194
/* Dissector tables */
2195
static dissector_table_t e2ap_ies_dissector_table;
2196
2197
static dissector_table_t e2ap_extension_dissector_table;
2198
static dissector_table_t e2ap_proc_imsg_dissector_table;
2199
static dissector_table_t e2ap_proc_sout_dissector_table;
2200
static dissector_table_t e2ap_proc_uout_dissector_table;
2201
static dissector_table_t e2ap_n2_ie_type_dissector_table;
2202
2203
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2204
2205
/* Currently not used
2206
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2207
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
2208
*/
2209
2210
2211
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2212
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2213
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
2214
2215
2216
/*--- Cyclic dependencies ---*/
2217
2218
/* ProtocolIE-Field/value -> ProtocolIE-Field/value */
2219
static unsigned dissect_e2ap_T_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2220
2221
/* InitiatingMessage/value -> InitiatingMessage/value */
2222
static unsigned dissect_e2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2223
2224
/* SuccessfulOutcome/value -> SuccessfulOutcome/value */
2225
static unsigned dissect_e2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2226
2227
/* UnsuccessfulOutcome/value -> UnsuccessfulOutcome/value */
2228
static unsigned dissect_e2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2229
2230
/* RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-List -> RANParameter-Testing-LIST -> RANParameter-Testing-Item */
2231
/* RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-Structure -> RANParameter-Testing-STRUCTURE -> RANParameter-Testing-Item */
2232
static unsigned dissect_e2ap_RANParameter_Testing_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2233
2234
/* RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-LIST -> RANParameter-Definition-Choice-LIST/ranParameter-List -> RANParameter-Definition-Choice-LIST-Item -> RANParameter-Definition */
2235
/* RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-STRUCTURE -> RANParameter-Definition-Choice-STRUCTURE/ranParameter-STRUCTURE -> RANParameter-Definition-Choice-STRUCTURE-Item -> RANParameter-Definition */
2236
static unsigned dissect_e2ap_RANParameter_Definition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2237
2238
/* RANParameter-ValueType -> RANParameter-ValueType-Choice-Structure -> RANParameter-STRUCTURE -> RANParameter-STRUCTURE/sequence-of-ranParameters -> RANParameter-STRUCTURE-Item -> RANParameter-ValueType */
2239
static unsigned dissect_e2ap_RANParameter_ValueType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2240
2241
2242
2243
static const value_string e2ap_Criticality_vals[] = {
2244
  {   0, "reject" },
2245
  {   1, "ignore" },
2246
  {   2, "notify" },
2247
  { 0, NULL }
2248
};
2249
2250
2251
static unsigned
2252
1.39k
dissect_e2ap_Criticality(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2253
1.39k
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2254
1.39k
                                     3, NULL, false, 0, NULL);
2255
2256
1.39k
  return offset;
2257
1.39k
}
2258
2259
2260
static const value_string e2ap_ProcedureCode_vals[] = {
2261
  { id_E2setup, "id-E2setup" },
2262
  { id_ErrorIndication, "id-ErrorIndication" },
2263
  { id_Reset, "id-Reset" },
2264
  { id_RICcontrol, "id-RICcontrol" },
2265
  { id_RICindication, "id-RICindication" },
2266
  { id_RICserviceQuery, "id-RICserviceQuery" },
2267
  { id_RICserviceUpdate, "id-RICserviceUpdate" },
2268
  { id_RICsubscription, "id-RICsubscription" },
2269
  { id_RICsubscriptionDelete, "id-RICsubscriptionDelete" },
2270
  { id_E2nodeConfigurationUpdate, "id-E2nodeConfigurationUpdate" },
2271
  { id_E2connectionUpdate, "id-E2connectionUpdate" },
2272
  { id_RICsubscriptionDeleteRequired, "id-RICsubscriptionDeleteRequired" },
2273
  { id_E2removal, "id-E2removal" },
2274
  { id_RICsubscriptionModification, "id-RICsubscriptionModification" },
2275
  { id_RICsubscriptionModificationRequired, "id-RICsubscriptionModificationRequired" },
2276
  { id_RICquery, "id-RICquery" },
2277
  { 0, NULL }
2278
};
2279
2280
static value_string_ext e2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(e2ap_ProcedureCode_vals);
2281
2282
2283
static unsigned
2284
100
dissect_e2ap_ProcedureCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2285
100
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2286
100
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2287
100
                                                            0U, 255U, &e2ap_data->procedure_code, false);
2288
2289
  //col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s", val_to_str(actx->pinfo->pool, e2ap_data->procedure_code, e2ap_ProcedureCode_vals, "Unknown"));
2290
2291
100
  return offset;
2292
100
}
2293
2294
2295
static const value_string e2ap_ProtocolIE_ID_vals[] = {
2296
  { id_Cause, "id-Cause" },
2297
  { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
2298
  { id_GlobalE2node_ID, "id-GlobalE2node-ID" },
2299
  { id_GlobalRIC_ID, "id-GlobalRIC-ID" },
2300
  { id_RANfunctionID, "id-RANfunctionID" },
2301
  { id_RANfunctionID_Item, "id-RANfunctionID-Item" },
2302
  { id_RANfunctionIEcause_Item, "id-RANfunctionIEcause-Item" },
2303
  { id_RANfunction_Item, "id-RANfunction-Item" },
2304
  { id_RANfunctionsAccepted, "id-RANfunctionsAccepted" },
2305
  { id_RANfunctionsAdded, "id-RANfunctionsAdded" },
2306
  { id_RANfunctionsDeleted, "id-RANfunctionsDeleted" },
2307
  { id_RANfunctionsModified, "id-RANfunctionsModified" },
2308
  { id_RANfunctionsRejected, "id-RANfunctionsRejected" },
2309
  { id_RICaction_Admitted_Item, "id-RICaction-Admitted-Item" },
2310
  { id_RICactionID, "id-RICactionID" },
2311
  { id_RICaction_NotAdmitted_Item, "id-RICaction-NotAdmitted-Item" },
2312
  { id_RICactions_Admitted, "id-RICactions-Admitted" },
2313
  { id_RICactions_NotAdmitted, "id-RICactions-NotAdmitted" },
2314
  { id_RICaction_ToBeSetup_Item, "id-RICaction-ToBeSetup-Item" },
2315
  { id_RICcallProcessID, "id-RICcallProcessID" },
2316
  { id_RICcontrolAckRequest, "id-RICcontrolAckRequest" },
2317
  { id_RICcontrolHeader, "id-RICcontrolHeader" },
2318
  { id_RICcontrolMessage, "id-RICcontrolMessage" },
2319
  { id_RICcontrolStatus, "id-RICcontrolStatus" },
2320
  { id_RICindicationHeader, "id-RICindicationHeader" },
2321
  { id_RICindicationMessage, "id-RICindicationMessage" },
2322
  { id_RICindicationSN, "id-RICindicationSN" },
2323
  { id_RICindicationType, "id-RICindicationType" },
2324
  { id_RICrequestID, "id-RICrequestID" },
2325
  { id_RICsubscriptionDetails, "id-RICsubscriptionDetails" },
2326
  { id_TimeToWait, "id-TimeToWait" },
2327
  { id_RICcontrolOutcome, "id-RICcontrolOutcome" },
2328
  { id_E2nodeComponentConfigUpdate, "id-E2nodeComponentConfigUpdate" },
2329
  { id_E2nodeComponentConfigUpdate_Item, "id-E2nodeComponentConfigUpdate-Item" },
2330
  { id_E2nodeComponentConfigUpdateAck, "id-E2nodeComponentConfigUpdateAck" },
2331
  { id_E2nodeComponentConfigUpdateAck_Item, "id-E2nodeComponentConfigUpdateAck-Item" },
2332
  { id_E2connectionSetup, "id-E2connectionSetup" },
2333
  { id_E2connectionSetupFailed, "id-E2connectionSetupFailed" },
2334
  { id_E2connectionSetupFailed_Item, "id-E2connectionSetupFailed-Item" },
2335
  { id_E2connectionFailed_Item, "id-E2connectionFailed-Item" },
2336
  { id_E2connectionUpdate_Item, "id-E2connectionUpdate-Item" },
2337
  { id_E2connectionUpdateAdd, "id-E2connectionUpdateAdd" },
2338
  { id_E2connectionUpdateModify, "id-E2connectionUpdateModify" },
2339
  { id_E2connectionUpdateRemove, "id-E2connectionUpdateRemove" },
2340
  { id_E2connectionUpdateRemove_Item, "id-E2connectionUpdateRemove-Item" },
2341
  { id_TNLinformation, "id-TNLinformation" },
2342
  { id_TransactionID, "id-TransactionID" },
2343
  { id_E2nodeComponentConfigAddition, "id-E2nodeComponentConfigAddition" },
2344
  { id_E2nodeComponentConfigAddition_Item, "id-E2nodeComponentConfigAddition-Item" },
2345
  { id_E2nodeComponentConfigAdditionAck, "id-E2nodeComponentConfigAdditionAck" },
2346
  { id_E2nodeComponentConfigAdditionAck_Item, "id-E2nodeComponentConfigAdditionAck-Item" },
2347
  { id_E2nodeComponentConfigRemoval, "id-E2nodeComponentConfigRemoval" },
2348
  { id_E2nodeComponentConfigRemoval_Item, "id-E2nodeComponentConfigRemoval-Item" },
2349
  { id_E2nodeComponentConfigRemovalAck, "id-E2nodeComponentConfigRemovalAck" },
2350
  { id_E2nodeComponentConfigRemovalAck_Item, "id-E2nodeComponentConfigRemovalAck-Item" },
2351
  { id_E2nodeTNLassociationRemoval, "id-E2nodeTNLassociationRemoval" },
2352
  { id_E2nodeTNLassociationRemoval_Item, "id-E2nodeTNLassociationRemoval-Item" },
2353
  { id_RICsubscriptionToBeRemoved, "id-RICsubscriptionToBeRemoved" },
2354
  { id_RICsubscription_withCause_Item, "id-RICsubscription-withCause-Item" },
2355
  { id_RICsubscriptionStartTime, "id-RICsubscriptionStartTime" },
2356
  { id_RICsubscriptionEndTime, "id-RICsubscriptionEndTime" },
2357
  { id_RICeventTriggerDefinitionToBeModified, "id-RICeventTriggerDefinitionToBeModified" },
2358
  { id_RICactionsToBeRemovedForModification_List, "id-RICactionsToBeRemovedForModification-List" },
2359
  { id_RICaction_ToBeRemovedForModification_Item, "id-RICaction-ToBeRemovedForModification-Item" },
2360
  { id_RICactionsToBeModifiedForModification_List, "id-RICactionsToBeModifiedForModification-List" },
2361
  { id_RICaction_ToBeModifiedForModification_Item, "id-RICaction-ToBeModifiedForModification-Item" },
2362
  { id_RICactionsToBeAddedForModification_List, "id-RICactionsToBeAddedForModification-List" },
2363
  { id_RICaction_ToBeAddedForModification_Item, "id-RICaction-ToBeAddedForModification-Item" },
2364
  { id_RICactionsRemovedForModification_List, "id-RICactionsRemovedForModification-List" },
2365
  { id_RICaction_RemovedForModification_Item, "id-RICaction-RemovedForModification-Item" },
2366
  { id_RICactionsFailedToBeRemovedForModification_List, "id-RICactionsFailedToBeRemovedForModification-List" },
2367
  { id_RICaction_FailedToBeRemovedForModification_Item, "id-RICaction-FailedToBeRemovedForModification-Item" },
2368
  { id_RICactionsModifiedForModification_List, "id-RICactionsModifiedForModification-List" },
2369
  { id_RICaction_ModifiedForModification_Item, "id-RICaction-ModifiedForModification-Item" },
2370
  { id_RICactionsFailedToBeModifiedForModification_List, "id-RICactionsFailedToBeModifiedForModification-List" },
2371
  { id_RICaction_FailedToBeModifiedForModification_Item, "id-RICaction-FailedToBeModifiedForModification-Item" },
2372
  { id_RICactionsAddedForModification_List, "id-RICactionsAddedForModification-List" },
2373
  { id_RICaction_AddedForModification_Item, "id-RICaction-AddedForModification-Item" },
2374
  { id_RICactionsFailedToBeAddedForModification_List, "id-RICactionsFailedToBeAddedForModification-List" },
2375
  { id_RICaction_FailedToBeAddedForModification_Item, "id-RICaction-FailedToBeAddedForModification-Item" },
2376
  { id_RICactionsRequiredToBeModified_List, "id-RICactionsRequiredToBeModified-List" },
2377
  { id_RICaction_RequiredToBeModified_Item, "id-RICaction-RequiredToBeModified-Item" },
2378
  { id_RICactionsRequiredToBeRemoved_List, "id-RICactionsRequiredToBeRemoved-List" },
2379
  { id_RICaction_RequiredToBeRemoved_Item, "id-RICaction-RequiredToBeRemoved-Item" },
2380
  { id_RICactionsConfirmedForModification_List, "id-RICactionsConfirmedForModification-List" },
2381
  { id_RICaction_ConfirmedForModification_Item, "id-RICaction-ConfirmedForModification-Item" },
2382
  { id_RICactionsRefusedToBeModified_List, "id-RICactionsRefusedToBeModified-List" },
2383
  { id_RICaction_RefusedToBeModified_Item, "id-RICaction-RefusedToBeModified-Item" },
2384
  { id_RICactionsConfirmedForRemoval_List, "id-RICactionsConfirmedForRemoval-List" },
2385
  { id_RICaction_ConfirmedForRemoval_Item, "id-RICaction-ConfirmedForRemoval-Item" },
2386
  { id_RICactionsRefusedToBeRemoved_List, "id-RICactionsRefusedToBeRemoved-List" },
2387
  { id_RICaction_RefusedToBeRemoved_Item, "id-RICaction-RefusedToBeRemoved-Item" },
2388
  { id_RICqueryHeader, "id-RICqueryHeader" },
2389
  { id_RICqueryDefinition, "id-RICqueryDefinition" },
2390
  { id_RICqueryOutcome, "id-RICqueryOutcome" },
2391
  { 0, NULL }
2392
};
2393
2394
static value_string_ext e2ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(e2ap_ProtocolIE_ID_vals);
2395
2396
2397
static unsigned
2398
1.29k
dissect_e2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2399
1.29k
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2400
1.29k
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2401
1.29k
                                                            0U, 65535U, &e2ap_data->protocol_ie_id, false);
2402
2403
2404
2405
1.29k
  if (tree) {
2406
1.29k
    proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
2407
1.29k
                           val_to_str_ext(actx->pinfo->pool, e2ap_data->protocol_ie_id, &e2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
2408
1.29k
  }
2409
1.29k
  return offset;
2410
1.29k
}
2411
2412
2413
static const value_string e2ap_TriggeringMessage_vals[] = {
2414
  {   0, "initiating-message" },
2415
  {   1, "successful-outcome" },
2416
  {   2, "unsuccessfull-outcome" },
2417
  { 0, NULL }
2418
};
2419
2420
2421
static unsigned
2422
4
dissect_e2ap_TriggeringMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2423
4
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2424
4
                                     3, NULL, false, 0, NULL);
2425
2426
4
  return offset;
2427
4
}
2428
2429
2430
2431
static unsigned
2432
1.26k
dissect_e2ap_T_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2433
  // ProtocolIE-Field/value -> ProtocolIE-Field/value
2434
1.26k
  increment_dissection_depth_by_n(actx->pinfo, 1);
2435
1.26k
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
2436
2437
1.26k
  decrement_dissection_depth_by_n(actx->pinfo, 1);
2438
1.26k
  return offset;
2439
1.26k
}
2440
2441
2442
static const per_sequence_t ProtocolIE_Field_sequence[] = {
2443
  { &hf_e2ap_id             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_ID },
2444
  { &hf_e2ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
2445
  { &hf_e2ap_value          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_T_value },
2446
  { NULL, 0, 0, NULL }
2447
};
2448
2449
static unsigned
2450
1.33k
dissect_e2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2451
1.33k
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2452
1.33k
                                   ett_e2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
2453
2454
1.33k
  return offset;
2455
1.33k
}
2456
2457
2458
static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
2459
  { &hf_e2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Field },
2460
};
2461
2462
static unsigned
2463
92
dissect_e2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2464
92
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2465
92
                                                  ett_e2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
2466
92
                                                  0, maxProtocolIEs, false);
2467
2468
92
  return offset;
2469
92
}
2470
2471
2472
2473
static unsigned
2474
161
dissect_e2ap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2475
161
  offset = dissect_e2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
2476
2477
161
  return offset;
2478
161
}
2479
2480
2481
2482
static unsigned
2483
2
dissect_e2ap_AMFName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2484
2
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
2485
2
                                          1, 150, true,
2486
2
                                          NULL);
2487
2488
2
  return offset;
2489
2
}
2490
2491
2492
static const value_string e2ap_CauseRICrequest_vals[] = {
2493
  {   0, "ran-function-id-invalid" },
2494
  {   1, "action-not-supported" },
2495
  {   2, "excessive-actions" },
2496
  {   3, "duplicate-action" },
2497
  {   4, "duplicate-event-trigger" },
2498
  {   5, "function-resource-limit" },
2499
  {   6, "request-id-unknown" },
2500
  {   7, "inconsistent-action-subsequent-action-sequence" },
2501
  {   8, "control-message-invalid" },
2502
  {   9, "ric-call-process-id-invalid" },
2503
  {  10, "control-timer-expired" },
2504
  {  11, "control-failed-to-execute" },
2505
  {  12, "system-not-ready" },
2506
  {  13, "unspecified" },
2507
  {  14, "ric-subscription-end-time-expired" },
2508
  {  15, "ric-subscription-end-time-invalid" },
2509
  {  16, "duplicate-ric-request-id" },
2510
  {  17, "eventTriggerNotSupported" },
2511
  {  18, "requested-information-unavailable" },
2512
  {  19, "invalid-information-request" },
2513
  { 0, NULL }
2514
};
2515
2516
2517
static unsigned
2518
24
dissect_e2ap_CauseRICrequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2519
24
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2520
24
                                     14, NULL, true, 6, NULL);
2521
2522
24
  return offset;
2523
24
}
2524
2525
2526
static const value_string e2ap_CauseRICservice_vals[] = {
2527
  {   0, "ran-function-not-supported" },
2528
  {   1, "excessive-functions" },
2529
  {   2, "ric-resource-limit" },
2530
  { 0, NULL }
2531
};
2532
2533
2534
static unsigned
2535
1
dissect_e2ap_CauseRICservice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2536
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2537
1
                                     3, NULL, true, 0, NULL);
2538
2539
1
  return offset;
2540
1
}
2541
2542
2543
static const value_string e2ap_CauseE2node_vals[] = {
2544
  {   0, "e2node-component-unknown" },
2545
  { 0, NULL }
2546
};
2547
2548
2549
static unsigned
2550
0
dissect_e2ap_CauseE2node(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2551
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2552
0
                                     1, NULL, true, 0, NULL);
2553
2554
0
  return offset;
2555
0
}
2556
2557
2558
static const value_string e2ap_CauseTransport_vals[] = {
2559
  {   0, "unspecified" },
2560
  {   1, "transport-resource-unavailable" },
2561
  { 0, NULL }
2562
};
2563
2564
2565
static unsigned
2566
2
dissect_e2ap_CauseTransport(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2567
2
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2568
2
                                     2, NULL, true, 0, NULL);
2569
2570
2
  return offset;
2571
2
}
2572
2573
2574
static const value_string e2ap_CauseProtocol_vals[] = {
2575
  {   0, "transfer-syntax-error" },
2576
  {   1, "abstract-syntax-error-reject" },
2577
  {   2, "abstract-syntax-error-ignore-and-notify" },
2578
  {   3, "message-not-compatible-with-receiver-state" },
2579
  {   4, "semantic-error" },
2580
  {   5, "abstract-syntax-error-falsely-constructed-message" },
2581
  {   6, "unspecified" },
2582
  { 0, NULL }
2583
};
2584
2585
2586
static unsigned
2587
0
dissect_e2ap_CauseProtocol(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2588
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2589
0
                                     7, NULL, true, 0, NULL);
2590
2591
0
  return offset;
2592
0
}
2593
2594
2595
static const value_string e2ap_CauseMisc_vals[] = {
2596
  {   0, "control-processing-overload" },
2597
  {   1, "hardware-failure" },
2598
  {   2, "om-intervention" },
2599
  {   3, "unspecified" },
2600
  { 0, NULL }
2601
};
2602
2603
2604
static unsigned
2605
1
dissect_e2ap_CauseMisc(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2606
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2607
1
                                     4, NULL, true, 0, NULL);
2608
2609
1
  return offset;
2610
1
}
2611
2612
2613
static const value_string e2ap_Cause_vals[] = {
2614
  {   0, "ricRequest" },
2615
  {   1, "ricService" },
2616
  {   2, "e2Node" },
2617
  {   3, "transport" },
2618
  {   4, "protocol" },
2619
  {   5, "misc" },
2620
  { 0, NULL }
2621
};
2622
2623
static const per_choice_t Cause_choice[] = {
2624
  {   0, &hf_e2ap_ricRequest     , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseRICrequest },
2625
  {   1, &hf_e2ap_ricService     , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseRICservice },
2626
  {   2, &hf_e2ap_e2Node         , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseE2node },
2627
  {   3, &hf_e2ap_transport      , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseTransport },
2628
  {   4, &hf_e2ap_protocol       , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseProtocol },
2629
  {   5, &hf_e2ap_misc           , ASN1_EXTENSION_ROOT    , dissect_e2ap_CauseMisc },
2630
  { 0, NULL, 0, NULL }
2631
};
2632
2633
static unsigned
2634
33
dissect_e2ap_Cause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2635
33
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2636
33
                                 ett_e2ap_Cause, Cause_choice,
2637
33
                                 NULL);
2638
2639
33
  return offset;
2640
33
}
2641
2642
2643
2644
static unsigned
2645
47
dissect_e2ap_INTEGER_0_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2646
47
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2647
47
                                                            0U, 65535U, NULL, false);
2648
2649
47
  return offset;
2650
47
}
2651
2652
2653
static const per_sequence_t RICrequestID_sequence[] = {
2654
  { &hf_e2ap_ricRequestorID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_65535 },
2655
  { &hf_e2ap_ricInstanceID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_65535 },
2656
  { NULL, 0, 0, NULL }
2657
};
2658
2659
static unsigned
2660
24
dissect_e2ap_RICrequestID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2661
24
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2662
24
                                   ett_e2ap_RICrequestID, RICrequestID_sequence);
2663
2664
24
  return offset;
2665
24
}
2666
2667
2668
static const value_string e2ap_TypeOfError_vals[] = {
2669
  {   0, "not-understood" },
2670
  {   1, "missing" },
2671
  { 0, NULL }
2672
};
2673
2674
2675
static unsigned
2676
22
dissect_e2ap_TypeOfError(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2677
22
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2678
22
                                     2, NULL, true, 0, NULL);
2679
2680
22
  return offset;
2681
22
}
2682
2683
2684
static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
2685
  { &hf_e2ap_iECriticality  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
2686
  { &hf_e2ap_iE_ID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_ID },
2687
  { &hf_e2ap_typeOfError    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TypeOfError },
2688
  { NULL, 0, 0, NULL }
2689
};
2690
2691
static unsigned
2692
22
dissect_e2ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2693
22
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2694
22
                                   ett_e2ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);
2695
2696
22
  return offset;
2697
22
}
2698
2699
2700
static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
2701
  { &hf_e2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_CriticalityDiagnostics_IE_Item },
2702
};
2703
2704
static unsigned
2705
2
dissect_e2ap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2706
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2707
2
                                                  ett_e2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
2708
2
                                                  1, maxnoofErrors, false);
2709
2710
2
  return offset;
2711
2
}
2712
2713
2714
static const per_sequence_t CriticalityDiagnostics_sequence[] = {
2715
  { &hf_e2ap_procedureCode  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_ProcedureCode },
2716
  { &hf_e2ap_triggeringMessage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_TriggeringMessage },
2717
  { &hf_e2ap_procedureCriticality, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_Criticality },
2718
  { &hf_e2ap_ricRequestorID , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICrequestID },
2719
  { &hf_e2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_CriticalityDiagnostics_IE_List },
2720
  { NULL, 0, 0, NULL }
2721
};
2722
2723
static unsigned
2724
9
dissect_e2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2725
9
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2726
9
                                   ett_e2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
2727
2728
9
  return offset;
2729
9
}
2730
2731
2732
2733
static unsigned
2734
7
dissect_e2ap_T_e2nodeComponentRequestPart(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2735
7
  tvbuff_t *value_tvb;
2736
7
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2737
7
                                       NO_BOUND, NO_BOUND, false, &value_tvb);
2738
2739
7
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2740
7
  if (e2ap_data->component_configuration_dissector) {
2741
5
    col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "|");
2742
5
    col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
2743
5
    col_set_writable(actx->pinfo->cinfo, COL_INFO, false);
2744
5
    call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
2745
5
    col_set_writable(actx->pinfo->cinfo, COL_INFO, true);
2746
5
  }
2747
2748
2749
7
  return offset;
2750
7
}
2751
2752
2753
2754
static unsigned
2755
4
dissect_e2ap_T_e2nodeComponentResponsePart(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2756
4
  tvbuff_t *value_tvb;
2757
4
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2758
4
                                       NO_BOUND, NO_BOUND, false, &value_tvb);
2759
2760
4
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2761
4
  if (e2ap_data->component_configuration_dissector) {
2762
3
    col_set_writable(actx->pinfo->cinfo, COL_INFO, false);
2763
3
    call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
2764
3
    col_set_writable(actx->pinfo->cinfo, COL_INFO, true);
2765
3
  }
2766
2767
2768
2769
4
  return offset;
2770
4
}
2771
2772
2773
static const per_sequence_t E2nodeComponentConfiguration_sequence[] = {
2774
  { &hf_e2ap_e2nodeComponentRequestPart, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_e2nodeComponentRequestPart },
2775
  { &hf_e2ap_e2nodeComponentResponsePart, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_e2nodeComponentResponsePart },
2776
  { NULL, 0, 0, NULL }
2777
};
2778
2779
static unsigned
2780
7
dissect_e2ap_E2nodeComponentConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2781
7
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2782
7
                                   ett_e2ap_E2nodeComponentConfiguration, E2nodeComponentConfiguration_sequence);
2783
2784
7
  return offset;
2785
7
}
2786
2787
2788
static const value_string e2ap_T_updateOutcome_vals[] = {
2789
  {   0, "success" },
2790
  {   1, "failure" },
2791
  { 0, NULL }
2792
};
2793
2794
2795
static unsigned
2796
1
dissect_e2ap_T_updateOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2797
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2798
1
                                     2, NULL, true, 0, NULL);
2799
2800
1
  return offset;
2801
1
}
2802
2803
2804
static const per_sequence_t E2nodeComponentConfigurationAck_sequence[] = {
2805
  { &hf_e2ap_updateOutcome  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_updateOutcome },
2806
  { &hf_e2ap_failureCause   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_Cause },
2807
  { NULL, 0, 0, NULL }
2808
};
2809
2810
static unsigned
2811
1
dissect_e2ap_E2nodeComponentConfigurationAck(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2812
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2813
1
                                   ett_e2ap_E2nodeComponentConfigurationAck, E2nodeComponentConfigurationAck_sequence);
2814
2815
1
  return offset;
2816
1
}
2817
2818
2819
static const value_string e2ap_E2nodeComponentInterfaceType_vals[] = {
2820
  {   0, "ng" },
2821
  {   1, "xn" },
2822
  {   2, "e1" },
2823
  {   3, "f1" },
2824
  {   4, "w1" },
2825
  {   5, "s1" },
2826
  {   6, "x2" },
2827
  { 0, NULL }
2828
};
2829
2830
2831
static unsigned
2832
12
dissect_e2ap_E2nodeComponentInterfaceType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2833
12
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2834
12
                                     7, NULL, true, 0, NULL);
2835
2836
12
  return offset;
2837
12
}
2838
2839
2840
static const per_sequence_t E2nodeComponentInterfaceNG_sequence[] = {
2841
  { &hf_e2ap_amf_name       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFName },
2842
  { NULL, 0, 0, NULL }
2843
};
2844
2845
static unsigned
2846
2
dissect_e2ap_E2nodeComponentInterfaceNG(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2847
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2848
2
                                   ett_e2ap_E2nodeComponentInterfaceNG, E2nodeComponentInterfaceNG_sequence);
2849
2850
2
  return offset;
2851
2
}
2852
2853
2854
2855
static unsigned
2856
2
dissect_e2ap_T_e2nodeComponentInterfaceTypeNG(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2857
2
  offset = dissect_e2ap_E2nodeComponentInterfaceNG(tvb, offset, actx, tree, hf_index);
2858
2859
  /* Store value in packet-private data */
2860
2
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2861
2
  e2ap_data->component_configuration_dissector = find_dissector("ngap");
2862
2863
2864
2
  return offset;
2865
2
}
2866
2867
2868
2869
static unsigned
2870
26
dissect_e2ap_PLMN_Identity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2871
26
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2872
26
                                       3, 3, false, NULL);
2873
2874
26
  return offset;
2875
26
}
2876
2877
2878
2879
static unsigned
2880
6
dissect_e2ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2881
6
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2882
6
                                     22, 32, false, NULL, 0, NULL, NULL);
2883
2884
6
  return offset;
2885
6
}
2886
2887
2888
static const value_string e2ap_GNB_ID_Choice_vals[] = {
2889
  {   0, "gnb-ID" },
2890
  { 0, NULL }
2891
};
2892
2893
static const per_choice_t GNB_ID_Choice_choice[] = {
2894
  {   0, &hf_e2ap_gnb_ID         , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_22_32 },
2895
  { 0, NULL, 0, NULL }
2896
};
2897
2898
static unsigned
2899
3
dissect_e2ap_GNB_ID_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900
3
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2901
3
                                 ett_e2ap_GNB_ID_Choice, GNB_ID_Choice_choice,
2902
3
                                 NULL);
2903
2904
3
  return offset;
2905
3
}
2906
2907
2908
2909
static unsigned
2910
3
dissect_e2ap_T_gnb_id(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2911
3
  int start_offset = offset;
2912
3
  offset = dissect_e2ap_GNB_ID_Choice(tvb, offset, actx, tree, hf_index);
2913
2914
  /* Store value in packet-private data */
2915
3
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2916
  /* Limit length, but really can't be > 5 bytes.. */
2917
3
  e2ap_data->gnb_id_len = MIN((offset-start_offset)/8, MAX_GNB_ID_BYTES);
2918
3
  tvb_memcpy(tvb, &e2ap_data->gnb_id_bytes, start_offset/8, e2ap_data->gnb_id_len);
2919
3
  update_conversation_from_gnb_id(actx);
2920
2921
2922
2923
2924
3
  return offset;
2925
3
}
2926
2927
2928
static const per_sequence_t GlobalgNB_ID_sequence[] = {
2929
  { &hf_e2ap_plmn_id        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
2930
  { &hf_e2ap_gnb_id         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_gnb_id },
2931
  { NULL, 0, 0, NULL }
2932
};
2933
2934
static unsigned
2935
3
dissect_e2ap_GlobalgNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2936
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2937
3
                                   ett_e2ap_GlobalgNB_ID, GlobalgNB_ID_sequence);
2938
2939
3
  return offset;
2940
3
}
2941
2942
2943
2944
static unsigned
2945
17
dissect_e2ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2946
17
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2947
17
                                     20, 20, false, NULL, 0, NULL, NULL);
2948
2949
17
  return offset;
2950
17
}
2951
2952
2953
2954
static unsigned
2955
1
dissect_e2ap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2956
1
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2957
1
                                     18, 18, false, NULL, 0, NULL, NULL);
2958
2959
1
  return offset;
2960
1
}
2961
2962
2963
2964
static unsigned
2965
0
dissect_e2ap_BIT_STRING_SIZE_21(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2966
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2967
0
                                     21, 21, false, NULL, 0, NULL, NULL);
2968
2969
0
  return offset;
2970
0
}
2971
2972
2973
static const value_string e2ap_ENB_ID_Choice_vals[] = {
2974
  {   0, "enb-ID-macro" },
2975
  {   1, "enb-ID-shortmacro" },
2976
  {   2, "enb-ID-longmacro" },
2977
  { 0, NULL }
2978
};
2979
2980
static const per_choice_t ENB_ID_Choice_choice[] = {
2981
  {   0, &hf_e2ap_enb_ID_macro   , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_20 },
2982
  {   1, &hf_e2ap_enb_ID_shortmacro, ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_18 },
2983
  {   2, &hf_e2ap_enb_ID_longmacro, ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_21 },
2984
  { 0, NULL, 0, NULL }
2985
};
2986
2987
static unsigned
2988
1
dissect_e2ap_ENB_ID_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2989
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2990
1
                                 ett_e2ap_ENB_ID_Choice, ENB_ID_Choice_choice,
2991
1
                                 NULL);
2992
2993
1
  return offset;
2994
1
}
2995
2996
2997
static const per_sequence_t GlobalngeNB_ID_sequence[] = {
2998
  { &hf_e2ap_plmn_id        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
2999
  { &hf_e2ap_enb_id         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_ID_Choice },
3000
  { NULL, 0, 0, NULL }
3001
};
3002
3003
static unsigned
3004
1
dissect_e2ap_GlobalngeNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3005
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3006
1
                                   ett_e2ap_GlobalngeNB_ID, GlobalngeNB_ID_sequence);
3007
3008
1
  return offset;
3009
1
}
3010
3011
3012
static const value_string e2ap_GlobalNG_RANNode_ID_vals[] = {
3013
  {   0, "gNB" },
3014
  {   1, "ng-eNB" },
3015
  { 0, NULL }
3016
};
3017
3018
static const per_choice_t GlobalNG_RANNode_ID_choice[] = {
3019
  {   0, &hf_e2ap_gNB_01         , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalgNB_ID },
3020
  {   1, &hf_e2ap_ng_eNB_01      , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalngeNB_ID },
3021
  { 0, NULL, 0, NULL }
3022
};
3023
3024
static unsigned
3025
0
dissect_e2ap_GlobalNG_RANNode_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3026
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3027
0
                                 ett_e2ap_GlobalNG_RANNode_ID, GlobalNG_RANNode_ID_choice,
3028
0
                                 NULL);
3029
3030
0
  return offset;
3031
0
}
3032
3033
3034
static const per_sequence_t E2nodeComponentInterfaceXn_sequence[] = {
3035
  { &hf_e2ap_global_NG_RAN_Node_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNG_RANNode_ID },
3036
  { NULL, 0, 0, NULL }
3037
};
3038
3039
static unsigned
3040
0
dissect_e2ap_E2nodeComponentInterfaceXn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3041
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3042
0
                                   ett_e2ap_E2nodeComponentInterfaceXn, E2nodeComponentInterfaceXn_sequence);
3043
3044
0
  return offset;
3045
0
}
3046
3047
3048
3049
static unsigned
3050
0
dissect_e2ap_T_e2nodeComponentInterfaceTypeXn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3051
0
  offset = dissect_e2ap_E2nodeComponentInterfaceXn(tvb, offset, actx, tree, hf_index);
3052
3053
  /* Store value in packet-private data */
3054
0
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3055
0
  e2ap_data->component_configuration_dissector = find_dissector("xnap");
3056
3057
3058
0
  return offset;
3059
0
}
3060
3061
3062
3063
static unsigned
3064
0
dissect_e2ap_GNB_CU_UP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3065
0
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3066
0
                                                            0U, UINT64_C(68719476735), NULL, false);
3067
3068
0
  return offset;
3069
0
}
3070
3071
3072
static const per_sequence_t E2nodeComponentInterfaceE1_sequence[] = {
3073
  { &hf_e2ap_gNB_CU_UP_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
3074
  { NULL, 0, 0, NULL }
3075
};
3076
3077
static unsigned
3078
0
dissect_e2ap_E2nodeComponentInterfaceE1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3079
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3080
0
                                   ett_e2ap_E2nodeComponentInterfaceE1, E2nodeComponentInterfaceE1_sequence);
3081
3082
0
  return offset;
3083
0
}
3084
3085
3086
3087
static unsigned
3088
0
dissect_e2ap_T_e2nodeComponentInterfaceTypeE1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3089
0
  offset = dissect_e2ap_E2nodeComponentInterfaceE1(tvb, offset, actx, tree, hf_index);
3090
3091
  /* Store value in packet-private data */
3092
0
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3093
0
  e2ap_data->component_configuration_dissector = find_dissector("e1ap");
3094
3095
3096
0
  return offset;
3097
0
}
3098
3099
3100
3101
static unsigned
3102
1
dissect_e2ap_GNB_DU_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3103
1
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3104
1
                                                            0U, UINT64_C(68719476735), NULL, false);
3105
3106
1
  return offset;
3107
1
}
3108
3109
3110
static const per_sequence_t E2nodeComponentInterfaceF1_sequence[] = {
3111
  { &hf_e2ap_gNB_DU_ID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
3112
  { NULL, 0, 0, NULL }
3113
};
3114
3115
static unsigned
3116
0
dissect_e2ap_E2nodeComponentInterfaceF1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3117
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3118
0
                                   ett_e2ap_E2nodeComponentInterfaceF1, E2nodeComponentInterfaceF1_sequence);
3119
3120
0
  return offset;
3121
0
}
3122
3123
3124
3125
static unsigned
3126
0
dissect_e2ap_T_e2nodeComponentInterfaceTypeF1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3127
0
  offset = dissect_e2ap_E2nodeComponentInterfaceF1(tvb, offset, actx, tree, hf_index);
3128
3129
  /* Store value in packet-private data */
3130
0
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3131
0
  e2ap_data->component_configuration_dissector = find_dissector("f1ap");
3132
3133
3134
3135
0
  return offset;
3136
0
}
3137
3138
3139
3140
static unsigned
3141
1
dissect_e2ap_NGENB_DU_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3142
1
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3143
1
                                                            0U, UINT64_C(68719476735), NULL, false);
3144
3145
1
  return offset;
3146
1
}
3147
3148
3149
static const per_sequence_t E2nodeComponentInterfaceW1_sequence[] = {
3150
  { &hf_e2ap_ng_eNB_DU_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_DU_ID },
3151
  { NULL, 0, 0, NULL }
3152
};
3153
3154
static unsigned
3155
1
dissect_e2ap_E2nodeComponentInterfaceW1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3156
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3157
1
                                   ett_e2ap_E2nodeComponentInterfaceW1, E2nodeComponentInterfaceW1_sequence);
3158
3159
1
  return offset;
3160
1
}
3161
3162
3163
3164
static unsigned
3165
6
dissect_e2ap_MMEname(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3166
6
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
3167
6
                                          1, 150, true,
3168
6
                                          NULL);
3169
3170
6
  return offset;
3171
6
}
3172
3173
3174
static const per_sequence_t E2nodeComponentInterfaceS1_sequence[] = {
3175
  { &hf_e2ap_mme_name       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MMEname },
3176
  { NULL, 0, 0, NULL }
3177
};
3178
3179
static unsigned
3180
6
dissect_e2ap_E2nodeComponentInterfaceS1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3181
6
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3182
6
                                   ett_e2ap_E2nodeComponentInterfaceS1, E2nodeComponentInterfaceS1_sequence);
3183
3184
6
  return offset;
3185
6
}
3186
3187
3188
3189
static unsigned
3190
6
dissect_e2ap_T_e2nodeComponentInterfaceTypeS1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3191
6
  offset = dissect_e2ap_E2nodeComponentInterfaceS1(tvb, offset, actx, tree, hf_index);
3192
3193
  /* Store value in packet-private data */
3194
6
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3195
6
  e2ap_data->component_configuration_dissector = find_dissector("s1ap");
3196
3197
3198
6
  return offset;
3199
6
}
3200
3201
3202
3203
static unsigned
3204
0
dissect_e2ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3205
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3206
0
                                     28, 28, false, NULL, 0, NULL, NULL);
3207
3208
0
  return offset;
3209
0
}
3210
3211
3212
static const value_string e2ap_ENB_ID_vals[] = {
3213
  {   0, "macro-eNB-ID" },
3214
  {   1, "home-eNB-ID" },
3215
  {   2, "short-Macro-eNB-ID" },
3216
  {   3, "long-Macro-eNB-ID" },
3217
  { 0, NULL }
3218
};
3219
3220
static const per_choice_t ENB_ID_choice[] = {
3221
  {   0, &hf_e2ap_macro_eNB_ID   , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_20 },
3222
  {   1, &hf_e2ap_home_eNB_ID    , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_28 },
3223
  {   2, &hf_e2ap_short_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_BIT_STRING_SIZE_18 },
3224
  {   3, &hf_e2ap_long_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_BIT_STRING_SIZE_21 },
3225
  { 0, NULL, 0, NULL }
3226
};
3227
3228
static unsigned
3229
2
dissect_e2ap_ENB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3230
2
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3231
2
                                 ett_e2ap_ENB_ID, ENB_ID_choice,
3232
2
                                 NULL);
3233
3234
2
  return offset;
3235
2
}
3236
3237
3238
static const per_sequence_t GlobalENB_ID_sequence[] = {
3239
  { &hf_e2ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3240
  { &hf_e2ap_eNB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_ID },
3241
  { NULL, 0, 0, NULL }
3242
};
3243
3244
static unsigned
3245
2
dissect_e2ap_GlobalENB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3246
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3247
2
                                   ett_e2ap_GlobalENB_ID, GlobalENB_ID_sequence);
3248
3249
2
  return offset;
3250
2
}
3251
3252
3253
static const value_string e2ap_ENGNB_ID_vals[] = {
3254
  {   0, "gNB-ID" },
3255
  { 0, NULL }
3256
};
3257
3258
static const per_choice_t ENGNB_ID_choice[] = {
3259
  {   0, &hf_e2ap_gnb_id_bit_string, ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_22_32 },
3260
  { 0, NULL, 0, NULL }
3261
};
3262
3263
static unsigned
3264
5
dissect_e2ap_ENGNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3265
5
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3266
5
                                 ett_e2ap_ENGNB_ID, ENGNB_ID_choice,
3267
5
                                 NULL);
3268
3269
5
  return offset;
3270
5
}
3271
3272
3273
static const per_sequence_t GlobalenGNB_ID_sequence[] = {
3274
  { &hf_e2ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3275
  { &hf_e2ap_eNGNB_ID_choice, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ENGNB_ID },
3276
  { NULL, 0, 0, NULL }
3277
};
3278
3279
static unsigned
3280
5
dissect_e2ap_GlobalenGNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3281
5
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3282
5
                                   ett_e2ap_GlobalenGNB_ID, GlobalenGNB_ID_sequence);
3283
3284
5
  return offset;
3285
5
}
3286
3287
3288
static const per_sequence_t E2nodeComponentInterfaceX2_sequence[] = {
3289
  { &hf_e2ap_global_eNB_ID  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalENB_ID },
3290
  { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalenGNB_ID },
3291
  { NULL, 0, 0, NULL }
3292
};
3293
3294
static unsigned
3295
1
dissect_e2ap_E2nodeComponentInterfaceX2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3296
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3297
1
                                   ett_e2ap_E2nodeComponentInterfaceX2, E2nodeComponentInterfaceX2_sequence);
3298
3299
1
  return offset;
3300
1
}
3301
3302
3303
3304
static unsigned
3305
1
dissect_e2ap_T_e2nodeComponentInterfaceTypeX2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3306
1
  offset = dissect_e2ap_E2nodeComponentInterfaceX2(tvb, offset, actx, tree, hf_index);
3307
3308
  /* Store value in packet-private data */
3309
1
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3310
1
  e2ap_data->component_configuration_dissector = find_dissector("x2ap");
3311
3312
3313
3314
3315
3316
1
  return offset;
3317
1
}
3318
3319
3320
static const value_string e2ap_E2nodeComponentID_vals[] = {
3321
  {   0, "e2nodeComponentInterfaceTypeNG" },
3322
  {   1, "e2nodeComponentInterfaceTypeXn" },
3323
  {   2, "e2nodeComponentInterfaceTypeE1" },
3324
  {   3, "e2nodeComponentInterfaceTypeF1" },
3325
  {   4, "e2nodeComponentInterfaceTypeW1" },
3326
  {   5, "e2nodeComponentInterfaceTypeS1" },
3327
  {   6, "e2nodeComponentInterfaceTypeX2" },
3328
  { 0, NULL }
3329
};
3330
3331
static const per_choice_t E2nodeComponentID_choice[] = {
3332
  {   0, &hf_e2ap_e2nodeComponentInterfaceTypeNG, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeNG },
3333
  {   1, &hf_e2ap_e2nodeComponentInterfaceTypeXn, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeXn },
3334
  {   2, &hf_e2ap_e2nodeComponentInterfaceTypeE1, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeE1 },
3335
  {   3, &hf_e2ap_e2nodeComponentInterfaceTypeF1, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeF1 },
3336
  {   4, &hf_e2ap_e2nodeComponentInterfaceTypeW1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2nodeComponentInterfaceW1 },
3337
  {   5, &hf_e2ap_e2nodeComponentInterfaceTypeS1, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeS1 },
3338
  {   6, &hf_e2ap_e2nodeComponentInterfaceTypeX2, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_e2nodeComponentInterfaceTypeX2 },
3339
  { 0, NULL, 0, NULL }
3340
};
3341
3342
static unsigned
3343
12
dissect_e2ap_E2nodeComponentID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3344
12
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3345
12
                                 ett_e2ap_E2nodeComponentID, E2nodeComponentID_choice,
3346
12
                                 NULL);
3347
3348
12
  return offset;
3349
12
}
3350
3351
3352
static const per_sequence_t GlobalE2node_gNB_ID_sequence[] = {
3353
  { &hf_e2ap_global_gNB_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalgNB_ID },
3354
  { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalenGNB_ID },
3355
  { &hf_e2ap_gNB_CU_UP_ID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GNB_CU_UP_ID },
3356
  { &hf_e2ap_gNB_DU_ID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GNB_DU_ID },
3357
  { NULL, 0, 0, NULL }
3358
};
3359
3360
static unsigned
3361
3
dissect_e2ap_GlobalE2node_gNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3362
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3363
3
                                   ett_e2ap_GlobalE2node_gNB_ID, GlobalE2node_gNB_ID_sequence);
3364
3365
3
  return offset;
3366
3
}
3367
3368
3369
static const per_sequence_t GlobalE2node_en_gNB_ID_sequence[] = {
3370
  { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalenGNB_ID },
3371
  { &hf_e2ap_en_gNB_CU_UP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GNB_CU_UP_ID },
3372
  { &hf_e2ap_en_gNB_DU_ID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GNB_DU_ID },
3373
  { NULL, 0, 0, NULL }
3374
};
3375
3376
static unsigned
3377
4
dissect_e2ap_GlobalE2node_en_gNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3378
4
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3379
4
                                   ett_e2ap_GlobalE2node_en_gNB_ID, GlobalE2node_en_gNB_ID_sequence);
3380
3381
4
  return offset;
3382
4
}
3383
3384
3385
static const per_sequence_t GlobalE2node_ng_eNB_ID_sequence[] = {
3386
  { &hf_e2ap_global_ng_eNB_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalngeNB_ID },
3387
  { &hf_e2ap_global_eNB_ID  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalENB_ID },
3388
  { &hf_e2ap_ngENB_DU_ID    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NGENB_DU_ID },
3389
  { NULL, 0, 0, NULL }
3390
};
3391
3392
static unsigned
3393
1
dissect_e2ap_GlobalE2node_ng_eNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3394
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3395
1
                                   ett_e2ap_GlobalE2node_ng_eNB_ID, GlobalE2node_ng_eNB_ID_sequence);
3396
3397
1
  return offset;
3398
1
}
3399
3400
3401
static const per_sequence_t GlobalE2node_eNB_ID_sequence[] = {
3402
  { &hf_e2ap_global_eNB_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalENB_ID },
3403
  { NULL, 0, 0, NULL }
3404
};
3405
3406
static unsigned
3407
0
dissect_e2ap_GlobalE2node_eNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3408
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3409
0
                                   ett_e2ap_GlobalE2node_eNB_ID, GlobalE2node_eNB_ID_sequence);
3410
3411
0
  return offset;
3412
0
}
3413
3414
3415
static const value_string e2ap_GlobalE2node_ID_vals[] = {
3416
  {   0, "gNB" },
3417
  {   1, "en-gNB" },
3418
  {   2, "ng-eNB" },
3419
  {   3, "eNB" },
3420
  { 0, NULL }
3421
};
3422
3423
static const per_choice_t GlobalE2node_ID_choice[] = {
3424
  {   0, &hf_e2ap_gNB            , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalE2node_gNB_ID },
3425
  {   1, &hf_e2ap_en_gNB         , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalE2node_en_gNB_ID },
3426
  {   2, &hf_e2ap_ng_eNB         , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalE2node_ng_eNB_ID },
3427
  {   3, &hf_e2ap_eNB            , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalE2node_eNB_ID },
3428
  { 0, NULL, 0, NULL }
3429
};
3430
3431
static unsigned
3432
8
dissect_e2ap_GlobalE2node_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3433
8
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3434
8
                                 ett_e2ap_GlobalE2node_ID, GlobalE2node_ID_choice,
3435
8
                                 NULL);
3436
3437
8
  return offset;
3438
8
}
3439
3440
3441
static const per_sequence_t GlobalRIC_ID_sequence[] = {
3442
  { &hf_e2ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3443
  { &hf_e2ap_ric_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BIT_STRING_SIZE_20 },
3444
  { NULL, 0, 0, NULL }
3445
};
3446
3447
static unsigned
3448
15
dissect_e2ap_GlobalRIC_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3449
15
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3450
15
                                   ett_e2ap_GlobalRIC_ID, GlobalRIC_ID_sequence);
3451
3452
15
  return offset;
3453
15
}
3454
3455
3456
3457
static unsigned
3458
10
dissect_e2ap_RANfunctionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3459
10
  tvbuff_t *parameter_tvb;
3460
3461
  /* We know that the next thing is a RANFunction-Name, but it's wrapped up in a sequence,
3462
     so can't silently/hiddenly call ranFunctionName here... */
3463
3464
10
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3465
10
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3466
3467
3468
  /* Looking for shortName string near beginning of tvb */
3469
10
  bool found = false;
3470
  /* For each RAN function name.. */
3471
10
  int n, found_index;
3472
54
  for (n=KPM_RANFUNCTIONS; n<MAX_RANFUNCTIONS && !found; n++) {
3473
44
    uint32_t tvb_len = tvb_captured_length(parameter_tvb);
3474
44
    unsigned name_len = (int)strlen(g_ran_function_name_table[n]);
3475
    /* For each of several byte positions.. */
3476
762
    for (int m=0; (m<30) && ((m+name_len+1))<tvb_len; m++) {
3477
      /* Have we found a match on the name? */
3478
724
      if (tvb_strneql(parameter_tvb, m, g_ran_function_name_table[n], name_len) == 0) {
3479
        /* We don't yet know the OID (should be OK),
3480
     so for now, call with the last/only available dissector for this RAN Function name */
3481
3482
6
        if (g_ran_functions_available_dissectors[n].num_available_dissectors) {
3483
    /* Choose the one with the highest major version number */
3484
6
    unsigned best_index=0, highest_version=0;
3485
36
    for (unsigned d=0; d < g_ran_functions_available_dissectors[n].num_available_dissectors; d++) {
3486
30
      if (g_ran_functions_available_dissectors[n].ran_function_dissectors[d]->major_version > highest_version) {
3487
30
        best_index = d;
3488
30
      }
3489
30
    }
3490
    /* Use it */
3491
6
    g_ran_functions_available_dissectors[n].ran_function_dissectors[best_index]->functions.ran_function_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3492
6
          found = true;
3493
6
          found_index = n;
3494
6
          break;
3495
6
        }
3496
6
      }
3497
724
    }
3498
44
  }
3499
3500
10
  if (found && (found_index==CCC_RANFUNCTIONS)) {
3501
    // ranFunctionName, for this ranFunction, is inside the JSON.  Rather than try to retrive it,
3502
    // just use this proxy that ought to appear at the start...  OID should get set in the normal way.
3503
6
    if (!actx->pinfo->fd->visited) {
3504
6
      e2ap_store_ran_function_mapping(actx->pinfo, tree, parameter_tvb, "{" /*"ORAN-E2SM-CCC"*/);
3505
6
    }
3506
6
  }
3507
3508
10
  if (!found) {
3509
4
    proto_item *ti = proto_tree_add_item(tree, hf_e2ap_ran_function_name_not_recognised, tvb, 0, 0, ENC_NA);
3510
4
    expert_add_info_format(actx->pinfo, ti, &ei_e2ap_ran_function_names_no_match,
3511
4
                           "ShortName does not match any known Service Model");
3512
4
  }
3513
3514
3515
10
  return offset;
3516
10
}
3517
3518
3519
3520
static unsigned
3521
31
dissect_e2ap_RANfunctionID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3522
31
  uint32_t value;
3523
31
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3524
31
                                                            0U, 4095U, &value, false);
3525
3526
  /* Store value in packet-private data */
3527
31
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3528
31
  e2ap_data->ran_function_id = value;
3529
3530
3531
3532
31
  return offset;
3533
31
}
3534
3535
3536
3537
static unsigned
3538
10
dissect_e2ap_RANfunctionOID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3539
10
  tvbuff_t *parameter_tvb;
3540
10
    offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
3541
10
                                          1, 1000, true,
3542
10
                                          &parameter_tvb);
3543
3544
  /* Now complete mapping with OID string */
3545
10
  e2ap_update_ran_function_mapping(actx->pinfo, tree, parameter_tvb,
3546
10
                                   (char*)tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0,
3547
10
                                   tvb_captured_length(parameter_tvb), ENC_ASCII));
3548
3549
3550
3551
3552
3553
10
  return offset;
3554
10
}
3555
3556
3557
3558
static unsigned
3559
11
dissect_e2ap_RANfunctionRevision(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3560
11
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3561
11
                                                            0U, 4095U, NULL, false);
3562
3563
11
  return offset;
3564
11
}
3565
3566
3567
3568
static unsigned
3569
4
dissect_e2ap_RICactionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3570
4
  tvbuff_t *parameter_tvb;
3571
4
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3572
4
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3573
3574
4
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3575
4
  if (dissector) {
3576
0
    if (dissector->functions.ran_action_definition_dissector) {
3577
0
      dissector->functions.ran_action_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3578
0
    }
3579
0
  }
3580
3581
3582
4
  return offset;
3583
4
}
3584
3585
3586
3587
static unsigned
3588
2
dissect_e2ap_RICactionExecutionOrder(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3589
2
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3590
2
                                                            0U, 255U, NULL, true);
3591
3592
2
  return offset;
3593
2
}
3594
3595
3596
3597
static unsigned
3598
26
dissect_e2ap_RICactionID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3599
26
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3600
26
                                                            0U, 255U, NULL, false);
3601
3602
26
  return offset;
3603
26
}
3604
3605
3606
static const value_string e2ap_RICactionType_vals[] = {
3607
  {   0, "report" },
3608
  {   1, "insert" },
3609
  {   2, "policy" },
3610
  { 0, NULL }
3611
};
3612
3613
3614
static unsigned
3615
6
dissect_e2ap_RICactionType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3616
6
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3617
6
                                     3, NULL, true, 0, NULL);
3618
3619
6
  return offset;
3620
6
}
3621
3622
3623
3624
static unsigned
3625
1
dissect_e2ap_RICcallProcessID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3626
1
  tvbuff_t *parameter_tvb;
3627
1
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3628
1
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3629
3630
1
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3631
1
  if (dissector) {
3632
0
    if (dissector->functions.ran_callprocessid_dissector) {
3633
0
      dissector->functions.ran_callprocessid_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3634
0
    }
3635
0
  }
3636
3637
3638
3639
3640
1
  return offset;
3641
1
}
3642
3643
3644
static const value_string e2ap_RICcontrolAckRequest_vals[] = {
3645
  {   0, "noAck" },
3646
  {   1, "ack" },
3647
  { 0, NULL }
3648
};
3649
3650
3651
static unsigned
3652
4
dissect_e2ap_RICcontrolAckRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3653
4
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3654
4
                                     2, NULL, true, 0, NULL);
3655
3656
4
  return offset;
3657
4
}
3658
3659
3660
3661
static unsigned
3662
0
dissect_e2ap_RICcontrolHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3663
0
  tvbuff_t *parameter_tvb;
3664
0
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3665
0
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3666
3667
0
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3668
0
  if (dissector) {
3669
0
    if (dissector->functions.ric_control_header_dissector) {
3670
0
      dissector->functions.ric_control_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3671
0
    }
3672
0
  }
3673
3674
3675
0
  return offset;
3676
0
}
3677
3678
3679
3680
static unsigned
3681
2
dissect_e2ap_RICcontrolMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3682
2
  tvbuff_t *parameter_tvb;
3683
2
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3684
2
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3685
3686
2
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3687
2
  if (dissector) {
3688
0
    if (dissector->functions.ric_control_message_dissector) {
3689
0
      dissector->functions.ric_control_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3690
0
    }
3691
0
  }
3692
3693
3694
2
  return offset;
3695
2
}
3696
3697
3698
3699
static unsigned
3700
4
dissect_e2ap_RICcontrolOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3701
4
  tvbuff_t *parameter_tvb;
3702
4
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3703
4
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3704
3705
4
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3706
4
  if (dissector) {
3707
0
    if (dissector->functions.ric_control_outcome_dissector) {
3708
0
        dissector->functions.ric_control_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3709
0
    }
3710
0
  }
3711
3712
3713
4
  return offset;
3714
4
}
3715
3716
3717
3718
static unsigned
3719
1
dissect_e2ap_RICeventTriggerDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3720
1
  tvbuff_t *parameter_tvb;
3721
1
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3722
1
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3723
3724
1
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3725
1
  if (dissector) {
3726
0
    if (dissector->functions.ran_event_trigger_dissector) {
3727
0
      dissector->functions.ran_event_trigger_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3728
0
    }
3729
0
  }
3730
3731
3732
1
  return offset;
3733
1
}
3734
3735
3736
3737
static unsigned
3738
4
dissect_e2ap_RICindicationHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3739
4
  tvbuff_t *parameter_tvb;
3740
4
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3741
4
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3742
3743
4
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3744
4
  if (dissector) {
3745
0
    if (dissector->functions.ran_indication_header_dissector) {
3746
0
      dissector->functions.ran_indication_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3747
0
    }
3748
0
  }
3749
3750
3751
4
  return offset;
3752
4
}
3753
3754
3755
3756
static unsigned
3757
2
dissect_e2ap_RICindicationMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3758
2
  tvbuff_t *parameter_tvb;
3759
2
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3760
2
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3761
3762
2
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3763
2
  if (dissector) {
3764
0
    if (dissector->functions.ran_indication_message_dissector) {
3765
0
      dissector->functions.ran_indication_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3766
0
    }
3767
0
  }
3768
3769
3770
2
  return offset;
3771
2
}
3772
3773
3774
3775
static unsigned
3776
1
dissect_e2ap_RICindicationSN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3777
1
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3778
1
                                                            0U, 65535U, NULL, false);
3779
3780
1
  return offset;
3781
1
}
3782
3783
3784
static const value_string e2ap_RICindicationType_vals[] = {
3785
  {   0, "report" },
3786
  {   1, "insert" },
3787
  { 0, NULL }
3788
};
3789
3790
3791
static unsigned
3792
2
dissect_e2ap_RICindicationType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3793
2
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3794
2
                                     2, NULL, true, 0, NULL);
3795
3796
2
  return offset;
3797
2
}
3798
3799
3800
3801
static unsigned
3802
1
dissect_e2ap_RICsubscriptionTime(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3803
1
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3804
1
                                       8, 8, false, NULL);
3805
3806
1
  return offset;
3807
1
}
3808
3809
3810
static const value_string e2ap_RICsubsequentActionType_vals[] = {
3811
  {   0, "continue" },
3812
  {   1, "wait" },
3813
  { 0, NULL }
3814
};
3815
3816
3817
static unsigned
3818
0
dissect_e2ap_RICsubsequentActionType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3819
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3820
0
                                     2, NULL, true, 0, NULL);
3821
3822
0
  return offset;
3823
0
}
3824
3825
3826
static const value_string e2ap_RICtimeToWait_vals[] = {
3827
  {   0, "w1ms" },
3828
  {   1, "w2ms" },
3829
  {   2, "w5ms" },
3830
  {   3, "w10ms" },
3831
  {   4, "w20ms" },
3832
  {   5, "w30ms" },
3833
  {   6, "w40ms" },
3834
  {   7, "w50ms" },
3835
  {   8, "w100ms" },
3836
  {   9, "w200ms" },
3837
  {  10, "w500ms" },
3838
  {  11, "w1s" },
3839
  {  12, "w2s" },
3840
  {  13, "w5s" },
3841
  {  14, "w10s" },
3842
  {  15, "w20s" },
3843
  {  16, "w60s" },
3844
  { 0, NULL }
3845
};
3846
3847
3848
static unsigned
3849
3
dissect_e2ap_RICtimeToWait(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3850
3
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3851
3
                                     17, NULL, true, 0, NULL);
3852
3853
3
  return offset;
3854
3
}
3855
3856
3857
static const per_sequence_t RICsubsequentAction_sequence[] = {
3858
  { &hf_e2ap_ricSubsequentActionType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICsubsequentActionType },
3859
  { &hf_e2ap_ricTimeToWait  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICtimeToWait },
3860
  { NULL, 0, 0, NULL }
3861
};
3862
3863
static unsigned
3864
0
dissect_e2ap_RICsubsequentAction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3865
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3866
0
                                   ett_e2ap_RICsubsequentAction, RICsubsequentAction_sequence);
3867
3868
0
  return offset;
3869
0
}
3870
3871
3872
3873
static unsigned
3874
0
dissect_e2ap_RICqueryHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3875
0
  tvbuff_t *parameter_tvb;
3876
0
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3877
0
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3878
3879
0
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3880
0
  if (dissector) {
3881
0
    if (dissector->functions.ric_query_header_dissector) {
3882
0
      dissector->functions.ric_query_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3883
0
    }
3884
0
  }
3885
3886
3887
3888
3889
0
  return offset;
3890
0
}
3891
3892
3893
3894
static unsigned
3895
1
dissect_e2ap_RICqueryDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3896
1
  tvbuff_t *parameter_tvb;
3897
1
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3898
1
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3899
3900
1
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3901
1
  if (dissector) {
3902
0
    if (dissector->functions.ric_query_definition_dissector) {
3903
0
      dissector->functions.ric_query_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3904
0
    }
3905
0
  }
3906
3907
3908
1
  return offset;
3909
1
}
3910
3911
3912
3913
static unsigned
3914
0
dissect_e2ap_RICqueryOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3915
0
  tvbuff_t *parameter_tvb;
3916
0
    offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3917
0
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);
3918
3919
0
  const ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3920
0
  if (dissector) {
3921
0
    if (dissector->functions.ric_query_outcome_dissector) {
3922
0
      dissector->functions.ric_query_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3923
0
    }
3924
0
  }
3925
3926
3927
0
  return offset;
3928
0
}
3929
3930
3931
static const value_string e2ap_TimeToWait_vals[] = {
3932
  {   0, "v1s" },
3933
  {   1, "v2s" },
3934
  {   2, "v5s" },
3935
  {   3, "v10s" },
3936
  {   4, "v20s" },
3937
  {   5, "v60s" },
3938
  { 0, NULL }
3939
};
3940
3941
3942
static unsigned
3943
1
dissect_e2ap_TimeToWait(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3944
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3945
1
                                     6, NULL, true, 0, NULL);
3946
3947
1
  return offset;
3948
1
}
3949
3950
3951
3952
static unsigned
3953
7
dissect_e2ap_T_tnlAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3954
7
  tvbuff_t *value_tvb;
3955
7
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3956
7
                                     1, 160, true, NULL, 0, &value_tvb, NULL);
3957
3958
7
  if (tvb_captured_length(value_tvb)==4) {
3959
1
    proto_item_append_text(tree, " (%s", tvb_ip_to_str(actx->pinfo->pool, value_tvb, 0));
3960
1
  }
3961
6
  else {
3962
6
    proto_item_append_text(tree, " (%s", tvb_ip6_to_str(actx->pinfo->pool, value_tvb, 0));
3963
6
  }
3964
3965
3966
7
  return offset;
3967
7
}
3968
3969
3970
3971
static unsigned
3972
3
dissect_e2ap_T_tnlPort(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3973
3
  proto_item_append_text(tree, ":%u)", tvb_get_ntohs(tvb, offset/8));
3974
3
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3975
3
                                     16, 16, false, NULL, 0, NULL, NULL);
3976
3977
3978
3979
3980
3
  return offset;
3981
3
}
3982
3983
3984
static const per_sequence_t TNLinformation_sequence[] = {
3985
  { &hf_e2ap_tnlAddress     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_tnlAddress },
3986
  { &hf_e2ap_tnlPort        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_tnlPort },
3987
  { NULL, 0, 0, NULL }
3988
};
3989
3990
static unsigned
3991
7
dissect_e2ap_TNLinformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3992
7
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3993
7
                                   ett_e2ap_TNLinformation, TNLinformation_sequence);
3994
3995
7
  return offset;
3996
7
}
3997
3998
3999
static const value_string e2ap_TNLusage_vals[] = {
4000
  {   0, "ric-service" },
4001
  {   1, "support-function" },
4002
  {   2, "both" },
4003
  { 0, NULL }
4004
};
4005
4006
4007
static unsigned
4008
1
dissect_e2ap_TNLusage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4009
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4010
1
                                     3, NULL, true, 0, NULL);
4011
4012
1
  return offset;
4013
1
}
4014
4015
4016
4017
static unsigned
4018
1
dissect_e2ap_TransactionID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4019
1
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4020
1
                                                            0U, 255U, NULL, true);
4021
4022
1
  return offset;
4023
1
}
4024
4025
4026
static const per_sequence_t RICsubscriptionRequest_sequence[] = {
4027
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4028
  { NULL, 0, 0, NULL }
4029
};
4030
4031
static unsigned
4032
0
dissect_e2ap_RICsubscriptionRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4033
0
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_REQUEST);
4034
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_REQUEST);
4035
4036
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4037
0
                                   ett_e2ap_RICsubscriptionRequest, RICsubscriptionRequest_sequence);
4038
4039
0
  return offset;
4040
0
}
4041
4042
4043
static const per_sequence_t RICactions_ToBeSetup_List_sequence_of[1] = {
4044
  { &hf_e2ap_RICactions_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4045
};
4046
4047
static unsigned
4048
0
dissect_e2ap_RICactions_ToBeSetup_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4049
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4050
0
                                                  ett_e2ap_RICactions_ToBeSetup_List, RICactions_ToBeSetup_List_sequence_of,
4051
0
                                                  1, maxofRICactionID, false);
4052
4053
0
  return offset;
4054
0
}
4055
4056
4057
static const per_sequence_t RICsubscriptionDetails_sequence[] = {
4058
  { &hf_e2ap_ricEventTriggerDefinition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICeventTriggerDefinition },
4059
  { &hf_e2ap_ricAction_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactions_ToBeSetup_List },
4060
  { NULL, 0, 0, NULL }
4061
};
4062
4063
static unsigned
4064
1
dissect_e2ap_RICsubscriptionDetails(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4065
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4066
1
                                   ett_e2ap_RICsubscriptionDetails, RICsubscriptionDetails_sequence);
4067
4068
1
  return offset;
4069
1
}
4070
4071
4072
static const per_sequence_t RICaction_ToBeSetup_Item_sequence[] = {
4073
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4074
  { &hf_e2ap_ricActionType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionType },
4075
  { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICactionDefinition },
4076
  { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICsubsequentAction },
4077
  { &hf_e2ap_ricActionExecutionOrder, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RICactionExecutionOrder },
4078
  { NULL, 0, 0, NULL }
4079
};
4080
4081
static unsigned
4082
3
dissect_e2ap_RICaction_ToBeSetup_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4083
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4084
3
                                   ett_e2ap_RICaction_ToBeSetup_Item, RICaction_ToBeSetup_Item_sequence);
4085
4086
3
  return offset;
4087
3
}
4088
4089
4090
static const per_sequence_t RICsubscriptionResponse_sequence[] = {
4091
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4092
  { NULL, 0, 0, NULL }
4093
};
4094
4095
static unsigned
4096
2
dissect_e2ap_RICsubscriptionResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4097
2
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_RESPONSE);
4098
2
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_RESPONSE);
4099
4100
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4101
2
                                   ett_e2ap_RICsubscriptionResponse, RICsubscriptionResponse_sequence);
4102
4103
2
  return offset;
4104
2
}
4105
4106
4107
static const per_sequence_t RICaction_Admitted_List_sequence_of[1] = {
4108
  { &hf_e2ap_RICaction_Admitted_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4109
};
4110
4111
static unsigned
4112
1
dissect_e2ap_RICaction_Admitted_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4113
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4114
1
                                                  ett_e2ap_RICaction_Admitted_List, RICaction_Admitted_List_sequence_of,
4115
1
                                                  1, maxofRICactionID, false);
4116
4117
1
  return offset;
4118
1
}
4119
4120
4121
static const per_sequence_t RICaction_Admitted_Item_sequence[] = {
4122
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4123
  { NULL, 0, 0, NULL }
4124
};
4125
4126
static unsigned
4127
1
dissect_e2ap_RICaction_Admitted_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4128
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4129
1
                                   ett_e2ap_RICaction_Admitted_Item, RICaction_Admitted_Item_sequence);
4130
4131
1
  return offset;
4132
1
}
4133
4134
4135
static const per_sequence_t RICaction_NotAdmitted_List_sequence_of[1] = {
4136
  { &hf_e2ap_RICaction_NotAdmitted_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4137
};
4138
4139
static unsigned
4140
0
dissect_e2ap_RICaction_NotAdmitted_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4141
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4142
0
                                                  ett_e2ap_RICaction_NotAdmitted_List, RICaction_NotAdmitted_List_sequence_of,
4143
0
                                                  0, maxofRICactionID, false);
4144
4145
0
  return offset;
4146
0
}
4147
4148
4149
static const per_sequence_t RICaction_NotAdmitted_Item_sequence[] = {
4150
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4151
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4152
  { NULL, 0, 0, NULL }
4153
};
4154
4155
static unsigned
4156
2
dissect_e2ap_RICaction_NotAdmitted_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4157
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4158
2
                                   ett_e2ap_RICaction_NotAdmitted_Item, RICaction_NotAdmitted_Item_sequence);
4159
4160
2
  return offset;
4161
2
}
4162
4163
4164
static const per_sequence_t RICsubscriptionFailure_sequence[] = {
4165
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4166
  { NULL, 0, 0, NULL }
4167
};
4168
4169
static unsigned
4170
0
dissect_e2ap_RICsubscriptionFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4171
0
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_FAIL);
4172
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_FAIL);
4173
4174
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4175
0
                                   ett_e2ap_RICsubscriptionFailure, RICsubscriptionFailure_sequence);
4176
4177
0
  return offset;
4178
0
}
4179
4180
4181
static const per_sequence_t RICsubscriptionDeleteRequest_sequence[] = {
4182
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4183
  { NULL, 0, 0, NULL }
4184
};
4185
4186
static unsigned
4187
0
dissect_e2ap_RICsubscriptionDeleteRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4188
0
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST);
4189
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST);
4190
4191
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4192
0
                                   ett_e2ap_RICsubscriptionDeleteRequest, RICsubscriptionDeleteRequest_sequence);
4193
4194
0
  return offset;
4195
0
}
4196
4197
4198
static const per_sequence_t RICsubscriptionDeleteResponse_sequence[] = {
4199
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4200
  { NULL, 0, 0, NULL }
4201
};
4202
4203
static unsigned
4204
0
dissect_e2ap_RICsubscriptionDeleteResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4205
0
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE);
4206
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE);
4207
4208
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4209
0
                                   ett_e2ap_RICsubscriptionDeleteResponse, RICsubscriptionDeleteResponse_sequence);
4210
4211
0
  return offset;
4212
0
}
4213
4214
4215
static const per_sequence_t RICsubscriptionDeleteFailure_sequence[] = {
4216
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4217
  { NULL, 0, 0, NULL }
4218
};
4219
4220
static unsigned
4221
2
dissect_e2ap_RICsubscriptionDeleteFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4222
2
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL);
4223
2
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL);
4224
4225
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4226
2
                                   ett_e2ap_RICsubscriptionDeleteFailure, RICsubscriptionDeleteFailure_sequence);
4227
4228
2
  return offset;
4229
2
}
4230
4231
4232
static const per_sequence_t RICsubscriptionDeleteRequired_sequence[] = {
4233
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4234
  { NULL, 0, 0, NULL }
4235
};
4236
4237
static unsigned
4238
0
dissect_e2ap_RICsubscriptionDeleteRequired(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4239
0
  set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED);
4240
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED);
4241
4242
4243
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4244
0
                                   ett_e2ap_RICsubscriptionDeleteRequired, RICsubscriptionDeleteRequired_sequence);
4245
4246
0
  return offset;
4247
0
}
4248
4249
4250
static const per_sequence_t RICsubscription_List_withCause_sequence_of[1] = {
4251
  { &hf_e2ap_RICsubscription_List_withCause_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4252
};
4253
4254
static unsigned
4255
1
dissect_e2ap_RICsubscription_List_withCause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4256
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4257
1
                                                  ett_e2ap_RICsubscription_List_withCause, RICsubscription_List_withCause_sequence_of,
4258
1
                                                  1, maxofRICrequestID, false);
4259
4260
1
  return offset;
4261
1
}
4262
4263
4264
static const per_sequence_t RICsubscription_withCause_Item_sequence[] = {
4265
  { &hf_e2ap_ricRequestID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICrequestID },
4266
  { &hf_e2ap_ranFunctionID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
4267
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4268
  { NULL, 0, 0, NULL }
4269
};
4270
4271
static unsigned
4272
20
dissect_e2ap_RICsubscription_withCause_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4273
20
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4274
20
                                   ett_e2ap_RICsubscription_withCause_Item, RICsubscription_withCause_Item_sequence);
4275
4276
20
  return offset;
4277
20
}
4278
4279
4280
static const per_sequence_t RICsubscriptionModificationRequest_sequence[] = {
4281
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4282
  { NULL, 0, 0, NULL }
4283
};
4284
4285
static unsigned
4286
1
dissect_e2ap_RICsubscriptionModificationRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4287
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4288
1
                                   ett_e2ap_RICsubscriptionModificationRequest, RICsubscriptionModificationRequest_sequence);
4289
4290
1
  return offset;
4291
1
}
4292
4293
4294
static const per_sequence_t RICactions_ToBeRemovedForModification_List_sequence_of[1] = {
4295
  { &hf_e2ap_RICactions_ToBeRemovedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4296
};
4297
4298
static unsigned
4299
2
dissect_e2ap_RICactions_ToBeRemovedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4300
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4301
2
                                                  ett_e2ap_RICactions_ToBeRemovedForModification_List, RICactions_ToBeRemovedForModification_List_sequence_of,
4302
2
                                                  0, maxofRICactionID, false);
4303
4304
2
  return offset;
4305
2
}
4306
4307
4308
static const per_sequence_t RICaction_ToBeRemovedForModification_Item_sequence[] = {
4309
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4310
  { NULL, 0, 0, NULL }
4311
};
4312
4313
static unsigned
4314
0
dissect_e2ap_RICaction_ToBeRemovedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4315
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4316
0
                                   ett_e2ap_RICaction_ToBeRemovedForModification_Item, RICaction_ToBeRemovedForModification_Item_sequence);
4317
4318
0
  return offset;
4319
0
}
4320
4321
4322
static const per_sequence_t RICactions_ToBeModifiedForModification_List_sequence_of[1] = {
4323
  { &hf_e2ap_RICactions_ToBeModifiedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4324
};
4325
4326
static unsigned
4327
1
dissect_e2ap_RICactions_ToBeModifiedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4328
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4329
1
                                                  ett_e2ap_RICactions_ToBeModifiedForModification_List, RICactions_ToBeModifiedForModification_List_sequence_of,
4330
1
                                                  0, maxofRICactionID, false);
4331
4332
1
  return offset;
4333
1
}
4334
4335
4336
static const per_sequence_t RICaction_ToBeModifiedForModification_Item_sequence[] = {
4337
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4338
  { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICactionDefinition },
4339
  { &hf_e2ap_ricActionExecutionOrder, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICactionExecutionOrder },
4340
  { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICsubsequentAction },
4341
  { NULL, 0, 0, NULL }
4342
};
4343
4344
static unsigned
4345
0
dissect_e2ap_RICaction_ToBeModifiedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4346
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4347
0
                                   ett_e2ap_RICaction_ToBeModifiedForModification_Item, RICaction_ToBeModifiedForModification_Item_sequence);
4348
4349
0
  return offset;
4350
0
}
4351
4352
4353
static const per_sequence_t RICactions_ToBeAddedForModification_List_sequence_of[1] = {
4354
  { &hf_e2ap_RICactions_ToBeAddedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4355
};
4356
4357
static unsigned
4358
0
dissect_e2ap_RICactions_ToBeAddedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4359
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4360
0
                                                  ett_e2ap_RICactions_ToBeAddedForModification_List, RICactions_ToBeAddedForModification_List_sequence_of,
4361
0
                                                  0, maxofRICactionID, false);
4362
4363
0
  return offset;
4364
0
}
4365
4366
4367
static const per_sequence_t RICaction_ToBeAddedForModification_Item_sequence[] = {
4368
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4369
  { &hf_e2ap_ricActionType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionType },
4370
  { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionDefinition },
4371
  { &hf_e2ap_ricActionExecutionOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionExecutionOrder },
4372
  { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RICsubsequentAction },
4373
  { NULL, 0, 0, NULL }
4374
};
4375
4376
static unsigned
4377
3
dissect_e2ap_RICaction_ToBeAddedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4379
3
                                   ett_e2ap_RICaction_ToBeAddedForModification_Item, RICaction_ToBeAddedForModification_Item_sequence);
4380
4381
3
  return offset;
4382
3
}
4383
4384
4385
static const per_sequence_t RICsubscriptionModificationResponse_sequence[] = {
4386
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4387
  { NULL, 0, 0, NULL }
4388
};
4389
4390
static unsigned
4391
0
dissect_e2ap_RICsubscriptionModificationResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4392
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4393
0
                                   ett_e2ap_RICsubscriptionModificationResponse, RICsubscriptionModificationResponse_sequence);
4394
4395
0
  return offset;
4396
0
}
4397
4398
4399
static const per_sequence_t RICactions_RemovedForModification_List_sequence_of[1] = {
4400
  { &hf_e2ap_RICactions_RemovedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4401
};
4402
4403
static unsigned
4404
0
dissect_e2ap_RICactions_RemovedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4405
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4406
0
                                                  ett_e2ap_RICactions_RemovedForModification_List, RICactions_RemovedForModification_List_sequence_of,
4407
0
                                                  0, maxofRICactionID, false);
4408
4409
0
  return offset;
4410
0
}
4411
4412
4413
static const per_sequence_t RICaction_RemovedForModification_Item_sequence[] = {
4414
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4415
  { NULL, 0, 0, NULL }
4416
};
4417
4418
static unsigned
4419
3
dissect_e2ap_RICaction_RemovedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4420
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4421
3
                                   ett_e2ap_RICaction_RemovedForModification_Item, RICaction_RemovedForModification_Item_sequence);
4422
4423
3
  return offset;
4424
3
}
4425
4426
4427
static const per_sequence_t RICactions_FailedToBeRemovedForModification_List_sequence_of[1] = {
4428
  { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4429
};
4430
4431
static unsigned
4432
2
dissect_e2ap_RICactions_FailedToBeRemovedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4433
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4434
2
                                                  ett_e2ap_RICactions_FailedToBeRemovedForModification_List, RICactions_FailedToBeRemovedForModification_List_sequence_of,
4435
2
                                                  0, maxofRICactionID, false);
4436
4437
2
  return offset;
4438
2
}
4439
4440
4441
static const per_sequence_t RICaction_FailedToBeRemovedForModification_Item_sequence[] = {
4442
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4443
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4444
  { NULL, 0, 0, NULL }
4445
};
4446
4447
static unsigned
4448
2
dissect_e2ap_RICaction_FailedToBeRemovedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4449
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4450
2
                                   ett_e2ap_RICaction_FailedToBeRemovedForModification_Item, RICaction_FailedToBeRemovedForModification_Item_sequence);
4451
4452
2
  return offset;
4453
2
}
4454
4455
4456
static const per_sequence_t RICactions_ModifiedForModification_List_sequence_of[1] = {
4457
  { &hf_e2ap_RICactions_ModifiedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4458
};
4459
4460
static unsigned
4461
0
dissect_e2ap_RICactions_ModifiedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4462
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4463
0
                                                  ett_e2ap_RICactions_ModifiedForModification_List, RICactions_ModifiedForModification_List_sequence_of,
4464
0
                                                  0, maxofRICactionID, false);
4465
4466
0
  return offset;
4467
0
}
4468
4469
4470
static const per_sequence_t RICaction_ModifiedForModification_Item_sequence[] = {
4471
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4472
  { NULL, 0, 0, NULL }
4473
};
4474
4475
static unsigned
4476
1
dissect_e2ap_RICaction_ModifiedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4477
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4478
1
                                   ett_e2ap_RICaction_ModifiedForModification_Item, RICaction_ModifiedForModification_Item_sequence);
4479
4480
1
  return offset;
4481
1
}
4482
4483
4484
static const per_sequence_t RICactions_FailedToBeModifiedForModification_List_sequence_of[1] = {
4485
  { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4486
};
4487
4488
static unsigned
4489
1
dissect_e2ap_RICactions_FailedToBeModifiedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4490
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4491
1
                                                  ett_e2ap_RICactions_FailedToBeModifiedForModification_List, RICactions_FailedToBeModifiedForModification_List_sequence_of,
4492
1
                                                  0, maxofRICactionID, false);
4493
4494
1
  return offset;
4495
1
}
4496
4497
4498
static const per_sequence_t RICaction_FailedToBeModifiedForModification_Item_sequence[] = {
4499
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4500
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4501
  { NULL, 0, 0, NULL }
4502
};
4503
4504
static unsigned
4505
1
dissect_e2ap_RICaction_FailedToBeModifiedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4506
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4507
1
                                   ett_e2ap_RICaction_FailedToBeModifiedForModification_Item, RICaction_FailedToBeModifiedForModification_Item_sequence);
4508
4509
1
  return offset;
4510
1
}
4511
4512
4513
static const per_sequence_t RICactions_AddedForModification_List_sequence_of[1] = {
4514
  { &hf_e2ap_RICactions_AddedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4515
};
4516
4517
static unsigned
4518
0
dissect_e2ap_RICactions_AddedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4519
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4520
0
                                                  ett_e2ap_RICactions_AddedForModification_List, RICactions_AddedForModification_List_sequence_of,
4521
0
                                                  0, maxofRICactionID, false);
4522
4523
0
  return offset;
4524
0
}
4525
4526
4527
static const per_sequence_t RICaction_AddedForModification_Item_sequence[] = {
4528
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4529
  { NULL, 0, 0, NULL }
4530
};
4531
4532
static unsigned
4533
1
dissect_e2ap_RICaction_AddedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4534
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4535
1
                                   ett_e2ap_RICaction_AddedForModification_Item, RICaction_AddedForModification_Item_sequence);
4536
4537
1
  return offset;
4538
1
}
4539
4540
4541
static const per_sequence_t RICactions_FailedToBeAddedForModification_List_sequence_of[1] = {
4542
  { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4543
};
4544
4545
static unsigned
4546
1
dissect_e2ap_RICactions_FailedToBeAddedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4547
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4548
1
                                                  ett_e2ap_RICactions_FailedToBeAddedForModification_List, RICactions_FailedToBeAddedForModification_List_sequence_of,
4549
1
                                                  0, maxofRICactionID, false);
4550
4551
1
  return offset;
4552
1
}
4553
4554
4555
static const per_sequence_t RICaction_FailedToBeAddedForModification_Item_sequence[] = {
4556
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4557
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4558
  { NULL, 0, 0, NULL }
4559
};
4560
4561
static unsigned
4562
0
dissect_e2ap_RICaction_FailedToBeAddedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4563
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4564
0
                                   ett_e2ap_RICaction_FailedToBeAddedForModification_Item, RICaction_FailedToBeAddedForModification_Item_sequence);
4565
4566
0
  return offset;
4567
0
}
4568
4569
4570
static const per_sequence_t RICsubscriptionModificationFailure_sequence[] = {
4571
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4572
  { NULL, 0, 0, NULL }
4573
};
4574
4575
static unsigned
4576
4
dissect_e2ap_RICsubscriptionModificationFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4577
4
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4578
4
                                   ett_e2ap_RICsubscriptionModificationFailure, RICsubscriptionModificationFailure_sequence);
4579
4580
4
  return offset;
4581
4
}
4582
4583
4584
static const per_sequence_t RICsubscriptionModificationRequired_sequence[] = {
4585
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4586
  { NULL, 0, 0, NULL }
4587
};
4588
4589
static unsigned
4590
0
dissect_e2ap_RICsubscriptionModificationRequired(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4591
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4592
0
                                   ett_e2ap_RICsubscriptionModificationRequired, RICsubscriptionModificationRequired_sequence);
4593
4594
0
  return offset;
4595
0
}
4596
4597
4598
static const per_sequence_t RICactions_RequiredToBeModified_List_sequence_of[1] = {
4599
  { &hf_e2ap_RICactions_RequiredToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4600
};
4601
4602
static unsigned
4603
0
dissect_e2ap_RICactions_RequiredToBeModified_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4604
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4605
0
                                                  ett_e2ap_RICactions_RequiredToBeModified_List, RICactions_RequiredToBeModified_List_sequence_of,
4606
0
                                                  0, maxofRICactionID, false);
4607
4608
0
  return offset;
4609
0
}
4610
4611
4612
static const per_sequence_t RICaction_RequiredToBeModified_Item_sequence[] = {
4613
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4614
  { &hf_e2ap_ricTimeToWait  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICtimeToWait },
4615
  { NULL, 0, 0, NULL }
4616
};
4617
4618
static unsigned
4619
3
dissect_e2ap_RICaction_RequiredToBeModified_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4620
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4621
3
                                   ett_e2ap_RICaction_RequiredToBeModified_Item, RICaction_RequiredToBeModified_Item_sequence);
4622
4623
3
  return offset;
4624
3
}
4625
4626
4627
static const per_sequence_t RICactions_RequiredToBeRemoved_List_sequence_of[1] = {
4628
  { &hf_e2ap_RICactions_RequiredToBeRemoved_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4629
};
4630
4631
static unsigned
4632
1
dissect_e2ap_RICactions_RequiredToBeRemoved_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4633
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4634
1
                                                  ett_e2ap_RICactions_RequiredToBeRemoved_List, RICactions_RequiredToBeRemoved_List_sequence_of,
4635
1
                                                  0, maxofRICactionID, false);
4636
4637
1
  return offset;
4638
1
}
4639
4640
4641
static const per_sequence_t RICaction_RequiredToBeRemoved_Item_sequence[] = {
4642
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4643
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4644
  { NULL, 0, 0, NULL }
4645
};
4646
4647
static unsigned
4648
0
dissect_e2ap_RICaction_RequiredToBeRemoved_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4649
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4650
0
                                   ett_e2ap_RICaction_RequiredToBeRemoved_Item, RICaction_RequiredToBeRemoved_Item_sequence);
4651
4652
0
  return offset;
4653
0
}
4654
4655
4656
static const per_sequence_t RICsubscriptionModificationConfirm_sequence[] = {
4657
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4658
  { NULL, 0, 0, NULL }
4659
};
4660
4661
static unsigned
4662
0
dissect_e2ap_RICsubscriptionModificationConfirm(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4663
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4664
0
                                   ett_e2ap_RICsubscriptionModificationConfirm, RICsubscriptionModificationConfirm_sequence);
4665
4666
0
  return offset;
4667
0
}
4668
4669
4670
static const per_sequence_t RICactions_ConfirmedForModification_List_sequence_of[1] = {
4671
  { &hf_e2ap_RICactions_ConfirmedForModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4672
};
4673
4674
static unsigned
4675
1
dissect_e2ap_RICactions_ConfirmedForModification_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4676
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4677
1
                                                  ett_e2ap_RICactions_ConfirmedForModification_List, RICactions_ConfirmedForModification_List_sequence_of,
4678
1
                                                  0, maxofRICactionID, false);
4679
4680
1
  return offset;
4681
1
}
4682
4683
4684
static const per_sequence_t RICaction_ConfirmedForModification_Item_sequence[] = {
4685
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4686
  { NULL, 0, 0, NULL }
4687
};
4688
4689
static unsigned
4690
3
dissect_e2ap_RICaction_ConfirmedForModification_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4691
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4692
3
                                   ett_e2ap_RICaction_ConfirmedForModification_Item, RICaction_ConfirmedForModification_Item_sequence);
4693
4694
3
  return offset;
4695
3
}
4696
4697
4698
static const per_sequence_t RICactions_RefusedToBeModified_List_sequence_of[1] = {
4699
  { &hf_e2ap_RICactions_RefusedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4700
};
4701
4702
static unsigned
4703
0
dissect_e2ap_RICactions_RefusedToBeModified_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4704
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4705
0
                                                  ett_e2ap_RICactions_RefusedToBeModified_List, RICactions_RefusedToBeModified_List_sequence_of,
4706
0
                                                  0, maxofRICactionID, false);
4707
4708
0
  return offset;
4709
0
}
4710
4711
4712
static const per_sequence_t RICaction_RefusedToBeModified_Item_sequence[] = {
4713
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4714
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4715
  { NULL, 0, 0, NULL }
4716
};
4717
4718
static unsigned
4719
0
dissect_e2ap_RICaction_RefusedToBeModified_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4720
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4721
0
                                   ett_e2ap_RICaction_RefusedToBeModified_Item, RICaction_RefusedToBeModified_Item_sequence);
4722
4723
0
  return offset;
4724
0
}
4725
4726
4727
static const per_sequence_t RICactions_ConfirmedForRemoval_List_sequence_of[1] = {
4728
  { &hf_e2ap_RICactions_ConfirmedForRemoval_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4729
};
4730
4731
static unsigned
4732
1
dissect_e2ap_RICactions_ConfirmedForRemoval_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4733
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4734
1
                                                  ett_e2ap_RICactions_ConfirmedForRemoval_List, RICactions_ConfirmedForRemoval_List_sequence_of,
4735
1
                                                  0, maxofRICactionID, false);
4736
4737
1
  return offset;
4738
1
}
4739
4740
4741
static const per_sequence_t RICaction_ConfirmedForRemoval_Item_sequence[] = {
4742
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4743
  { NULL, 0, 0, NULL }
4744
};
4745
4746
static unsigned
4747
0
dissect_e2ap_RICaction_ConfirmedForRemoval_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4748
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4749
0
                                   ett_e2ap_RICaction_ConfirmedForRemoval_Item, RICaction_ConfirmedForRemoval_Item_sequence);
4750
4751
0
  return offset;
4752
0
}
4753
4754
4755
static const per_sequence_t RICactions_RefusedToBeRemoved_List_sequence_of[1] = {
4756
  { &hf_e2ap_RICactions_RefusedToBeRemoved_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4757
};
4758
4759
static unsigned
4760
1
dissect_e2ap_RICactions_RefusedToBeRemoved_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4761
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4762
1
                                                  ett_e2ap_RICactions_RefusedToBeRemoved_List, RICactions_RefusedToBeRemoved_List_sequence_of,
4763
1
                                                  0, maxofRICactionID, false);
4764
4765
1
  return offset;
4766
1
}
4767
4768
4769
static const per_sequence_t RICaction_RefusedToBeRemoved_Item_sequence[] = {
4770
  { &hf_e2ap_ricActionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4771
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4772
  { NULL, 0, 0, NULL }
4773
};
4774
4775
static unsigned
4776
2
dissect_e2ap_RICaction_RefusedToBeRemoved_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4777
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4778
2
                                   ett_e2ap_RICaction_RefusedToBeRemoved_Item, RICaction_RefusedToBeRemoved_Item_sequence);
4779
4780
2
  return offset;
4781
2
}
4782
4783
4784
static const per_sequence_t RICsubscriptionModificationRefuse_sequence[] = {
4785
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4786
  { NULL, 0, 0, NULL }
4787
};
4788
4789
static unsigned
4790
0
dissect_e2ap_RICsubscriptionModificationRefuse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4791
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4792
0
                                   ett_e2ap_RICsubscriptionModificationRefuse, RICsubscriptionModificationRefuse_sequence);
4793
4794
0
  return offset;
4795
0
}
4796
4797
4798
static const per_sequence_t RICindication_sequence[] = {
4799
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4800
  { NULL, 0, 0, NULL }
4801
};
4802
4803
static unsigned
4804
11
dissect_e2ap_RICindication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4805
11
  set_message_label(actx, MTYPE_RIC_IND);
4806
11
  set_stats_message_type(actx->pinfo, MTYPE_RIC_IND);
4807
4808
11
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4809
11
                                   ett_e2ap_RICindication, RICindication_sequence);
4810
4811
11
  return offset;
4812
11
}
4813
4814
4815
static const per_sequence_t RICcontrolRequest_sequence[] = {
4816
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4817
  { NULL, 0, 0, NULL }
4818
};
4819
4820
static unsigned
4821
11
dissect_e2ap_RICcontrolRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4822
11
  set_message_label(actx, MTYPE_RIC_CONTROL_REQUEST);
4823
11
  set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_REQUEST);
4824
4825
11
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4826
11
                                   ett_e2ap_RICcontrolRequest, RICcontrolRequest_sequence);
4827
4828
11
  return offset;
4829
11
}
4830
4831
4832
static const per_sequence_t RICcontrolAcknowledge_sequence[] = {
4833
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4834
  { NULL, 0, 0, NULL }
4835
};
4836
4837
static unsigned
4838
15
dissect_e2ap_RICcontrolAcknowledge(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4839
15
  set_message_label(actx, MTYPE_RIC_CONTROL_ACK);
4840
15
  set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_ACK);
4841
4842
15
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4843
15
                                   ett_e2ap_RICcontrolAcknowledge, RICcontrolAcknowledge_sequence);
4844
4845
15
  return offset;
4846
15
}
4847
4848
4849
static const per_sequence_t RICcontrolFailure_sequence[] = {
4850
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4851
  { NULL, 0, 0, NULL }
4852
};
4853
4854
static unsigned
4855
18
dissect_e2ap_RICcontrolFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4856
18
  set_message_label(actx, MTYPE_RIC_CONTROL_FAIL);
4857
18
  set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_FAIL);
4858
4859
18
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4860
18
                                   ett_e2ap_RICcontrolFailure, RICcontrolFailure_sequence);
4861
4862
18
  return offset;
4863
18
}
4864
4865
4866
static const per_sequence_t RICQueryRequest_sequence[] = {
4867
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4868
  { NULL, 0, 0, NULL }
4869
};
4870
4871
static unsigned
4872
1
dissect_e2ap_RICQueryRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4873
1
  set_message_label(actx, MTYPE_RIC_QUERY_REQUEST);
4874
1
  set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_REQUEST);
4875
4876
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4877
1
                                   ett_e2ap_RICQueryRequest, RICQueryRequest_sequence);
4878
4879
1
  return offset;
4880
1
}
4881
4882
4883
static const per_sequence_t RICQueryResponse_sequence[] = {
4884
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4885
  { NULL, 0, 0, NULL }
4886
};
4887
4888
static unsigned
4889
0
dissect_e2ap_RICQueryResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4890
0
  set_message_label(actx, MTYPE_RIC_QUERY_RESPONSE);
4891
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_RESPONSE);
4892
4893
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4894
0
                                   ett_e2ap_RICQueryResponse, RICQueryResponse_sequence);
4895
4896
0
  return offset;
4897
0
}
4898
4899
4900
static const per_sequence_t RICQueryFailure_sequence[] = {
4901
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4902
  { NULL, 0, 0, NULL }
4903
};
4904
4905
static unsigned
4906
0
dissect_e2ap_RICQueryFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4907
0
  set_message_label(actx, MTYPE_RIC_QUERY_FAILURE);
4908
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_FAILURE);
4909
4910
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4911
0
                                   ett_e2ap_RICQueryFailure, RICQueryFailure_sequence);
4912
4913
0
  return offset;
4914
0
}
4915
4916
4917
static const per_sequence_t ErrorIndication_sequence[] = {
4918
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4919
  { NULL, 0, 0, NULL }
4920
};
4921
4922
static unsigned
4923
3
dissect_e2ap_ErrorIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4924
3
  set_message_label(actx, MTYPE_ERROR_INDICATION);
4925
3
  set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
4926
4927
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4928
3
                                   ett_e2ap_ErrorIndication, ErrorIndication_sequence);
4929
4930
3
  return offset;
4931
3
}
4932
4933
4934
static const per_sequence_t E2setupRequest_sequence[] = {
4935
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4936
  { NULL, 0, 0, NULL }
4937
};
4938
4939
static unsigned
4940
2
dissect_e2ap_E2setupRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4941
2
  set_message_label(actx, MTYPE_E2_SETUP_REQUEST);
4942
2
  set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_REQUEST);
4943
4944
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4945
2
                                   ett_e2ap_E2setupRequest, E2setupRequest_sequence);
4946
4947
2
  return offset;
4948
2
}
4949
4950
4951
static const per_sequence_t E2setupResponse_sequence[] = {
4952
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4953
  { NULL, 0, 0, NULL }
4954
};
4955
4956
static unsigned
4957
0
dissect_e2ap_E2setupResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4958
0
  set_message_label(actx, MTYPE_E2_SETUP_RESPONSE);
4959
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_RESPONSE);
4960
4961
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4962
0
                                   ett_e2ap_E2setupResponse, E2setupResponse_sequence);
4963
4964
0
  return offset;
4965
0
}
4966
4967
4968
static const per_sequence_t E2setupFailure_sequence[] = {
4969
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4970
  { NULL, 0, 0, NULL }
4971
};
4972
4973
static unsigned
4974
3
dissect_e2ap_E2setupFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4975
3
  set_message_label(actx, MTYPE_E2_SETUP_FAIL);
4976
3
  set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_FAIL);
4977
4978
3
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4979
3
                                   ett_e2ap_E2setupFailure, E2setupFailure_sequence);
4980
4981
3
  return offset;
4982
3
}
4983
4984
4985
static const per_sequence_t E2connectionUpdate_sequence[] = {
4986
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4987
  { NULL, 0, 0, NULL }
4988
};
4989
4990
static unsigned
4991
0
dissect_e2ap_E2connectionUpdate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4992
0
  set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE);
4993
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE);
4994
4995
4996
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4997
0
                                   ett_e2ap_E2connectionUpdate, E2connectionUpdate_sequence);
4998
4999
0
  return offset;
5000
0
}
5001
5002
5003
static const per_sequence_t E2connectionUpdate_List_sequence_of[1] = {
5004
  { &hf_e2ap_E2connectionUpdate_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5005
};
5006
5007
static unsigned
5008
5
dissect_e2ap_E2connectionUpdate_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5009
5
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5010
5
                                                  ett_e2ap_E2connectionUpdate_List, E2connectionUpdate_List_sequence_of,
5011
5
                                                  1, maxofTNLA, false);
5012
5013
5
  return offset;
5014
5
}
5015
5016
5017
static const per_sequence_t E2connectionUpdate_Item_sequence[] = {
5018
  { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5019
  { &hf_e2ap_tnlUsage       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLusage },
5020
  { NULL, 0, 0, NULL }
5021
};
5022
5023
static unsigned
5024
2
dissect_e2ap_E2connectionUpdate_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5025
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5026
2
                                   ett_e2ap_E2connectionUpdate_Item, E2connectionUpdate_Item_sequence);
5027
5028
2
  return offset;
5029
2
}
5030
5031
5032
static const per_sequence_t E2connectionUpdateRemove_List_sequence_of[1] = {
5033
  { &hf_e2ap_E2connectionUpdateRemove_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5034
};
5035
5036
static unsigned
5037
1
dissect_e2ap_E2connectionUpdateRemove_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5038
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5039
1
                                                  ett_e2ap_E2connectionUpdateRemove_List, E2connectionUpdateRemove_List_sequence_of,
5040
1
                                                  1, maxofTNLA, false);
5041
5042
1
  return offset;
5043
1
}
5044
5045
5046
static const per_sequence_t E2connectionUpdateRemove_Item_sequence[] = {
5047
  { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5048
  { NULL, 0, 0, NULL }
5049
};
5050
5051
static unsigned
5052
2
dissect_e2ap_E2connectionUpdateRemove_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5053
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5054
2
                                   ett_e2ap_E2connectionUpdateRemove_Item, E2connectionUpdateRemove_Item_sequence);
5055
5056
2
  return offset;
5057
2
}
5058
5059
5060
static const per_sequence_t E2connectionUpdateAcknowledge_sequence[] = {
5061
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5062
  { NULL, 0, 0, NULL }
5063
};
5064
5065
static unsigned
5066
0
dissect_e2ap_E2connectionUpdateAcknowledge(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5067
0
  set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE_ACK);
5068
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE_ACK);
5069
5070
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5071
0
                                   ett_e2ap_E2connectionUpdateAcknowledge, E2connectionUpdateAcknowledge_sequence);
5072
5073
0
  return offset;
5074
0
}
5075
5076
5077
static const per_sequence_t E2connectionSetupFailed_List_sequence_of[1] = {
5078
  { &hf_e2ap_E2connectionSetupFailed_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5079
};
5080
5081
static unsigned
5082
1
dissect_e2ap_E2connectionSetupFailed_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5083
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5084
1
                                                  ett_e2ap_E2connectionSetupFailed_List, E2connectionSetupFailed_List_sequence_of,
5085
1
                                                  1, maxofTNLA, false);
5086
5087
1
  return offset;
5088
1
}
5089
5090
5091
static const per_sequence_t E2connectionSetupFailed_Item_sequence[] = {
5092
  { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5093
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
5094
  { NULL, 0, 0, NULL }
5095
};
5096
5097
static unsigned
5098
1
dissect_e2ap_E2connectionSetupFailed_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5099
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5100
1
                                   ett_e2ap_E2connectionSetupFailed_Item, E2connectionSetupFailed_Item_sequence);
5101
5102
1
  return offset;
5103
1
}
5104
5105
5106
static const per_sequence_t E2connectionUpdateFailure_sequence[] = {
5107
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5108
  { NULL, 0, 0, NULL }
5109
};
5110
5111
static unsigned
5112
0
dissect_e2ap_E2connectionUpdateFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5113
0
  set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE_FAIL);
5114
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE_FAIL);
5115
5116
5117
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5118
0
                                   ett_e2ap_E2connectionUpdateFailure, E2connectionUpdateFailure_sequence);
5119
5120
0
  return offset;
5121
0
}
5122
5123
5124
static const per_sequence_t E2nodeConfigurationUpdate_sequence[] = {
5125
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5126
  { NULL, 0, 0, NULL }
5127
};
5128
5129
static unsigned
5130
0
dissect_e2ap_E2nodeConfigurationUpdate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5131
0
  set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE);
5132
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE);
5133
5134
5135
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5136
0
                                   ett_e2ap_E2nodeConfigurationUpdate, E2nodeConfigurationUpdate_sequence);
5137
5138
0
  return offset;
5139
0
}
5140
5141
5142
static const per_sequence_t E2nodeComponentConfigAddition_List_sequence_of[1] = {
5143
  { &hf_e2ap_E2nodeComponentConfigAddition_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5144
};
5145
5146
static unsigned
5147
0
dissect_e2ap_E2nodeComponentConfigAddition_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5148
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5149
0
                                                  ett_e2ap_E2nodeComponentConfigAddition_List, E2nodeComponentConfigAddition_List_sequence_of,
5150
0
                                                  1, maxofE2nodeComponents, false);
5151
5152
0
  return offset;
5153
0
}
5154
5155
5156
static const per_sequence_t E2nodeComponentConfigAddition_Item_sequence[] = {
5157
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5158
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5159
  { &hf_e2ap_e2nodeComponentConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfiguration },
5160
  { NULL, 0, 0, NULL }
5161
};
5162
5163
static unsigned
5164
7
dissect_e2ap_E2nodeComponentConfigAddition_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5165
7
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5166
7
                                   ett_e2ap_E2nodeComponentConfigAddition_Item, E2nodeComponentConfigAddition_Item_sequence);
5167
5168
7
  return offset;
5169
7
}
5170
5171
5172
static const per_sequence_t E2nodeComponentConfigUpdate_List_sequence_of[1] = {
5173
  { &hf_e2ap_E2nodeComponentConfigUpdate_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5174
};
5175
5176
static unsigned
5177
0
dissect_e2ap_E2nodeComponentConfigUpdate_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5178
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5179
0
                                                  ett_e2ap_E2nodeComponentConfigUpdate_List, E2nodeComponentConfigUpdate_List_sequence_of,
5180
0
                                                  1, maxofE2nodeComponents, false);
5181
5182
0
  return offset;
5183
0
}
5184
5185
5186
static const per_sequence_t E2nodeComponentConfigUpdate_Item_sequence[] = {
5187
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5188
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5189
  { &hf_e2ap_e2nodeComponentConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfiguration },
5190
  { NULL, 0, 0, NULL }
5191
};
5192
5193
static unsigned
5194
1
dissect_e2ap_E2nodeComponentConfigUpdate_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5195
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5196
1
                                   ett_e2ap_E2nodeComponentConfigUpdate_Item, E2nodeComponentConfigUpdate_Item_sequence);
5197
5198
1
  return offset;
5199
1
}
5200
5201
5202
static const per_sequence_t E2nodeComponentConfigRemoval_List_sequence_of[1] = {
5203
  { &hf_e2ap_E2nodeComponentConfigRemoval_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5204
};
5205
5206
static unsigned
5207
2
dissect_e2ap_E2nodeComponentConfigRemoval_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5208
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5209
2
                                                  ett_e2ap_E2nodeComponentConfigRemoval_List, E2nodeComponentConfigRemoval_List_sequence_of,
5210
2
                                                  1, maxofE2nodeComponents, false);
5211
5212
2
  return offset;
5213
2
}
5214
5215
5216
static const per_sequence_t E2nodeComponentConfigRemoval_Item_sequence[] = {
5217
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5218
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5219
  { NULL, 0, 0, NULL }
5220
};
5221
5222
static unsigned
5223
2
dissect_e2ap_E2nodeComponentConfigRemoval_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5224
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5225
2
                                   ett_e2ap_E2nodeComponentConfigRemoval_Item, E2nodeComponentConfigRemoval_Item_sequence);
5226
5227
2
  return offset;
5228
2
}
5229
5230
5231
static const per_sequence_t E2nodeTNLassociationRemoval_List_sequence_of[1] = {
5232
  { &hf_e2ap_E2nodeTNLassociationRemoval_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5233
};
5234
5235
static unsigned
5236
0
dissect_e2ap_E2nodeTNLassociationRemoval_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5237
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5238
0
                                                  ett_e2ap_E2nodeTNLassociationRemoval_List, E2nodeTNLassociationRemoval_List_sequence_of,
5239
0
                                                  1, maxofTNLA, false);
5240
5241
0
  return offset;
5242
0
}
5243
5244
5245
static const per_sequence_t E2nodeTNLassociationRemoval_Item_sequence[] = {
5246
  { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5247
  { &hf_e2ap_tnlInformationRIC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5248
  { NULL, 0, 0, NULL }
5249
};
5250
5251
static unsigned
5252
0
dissect_e2ap_E2nodeTNLassociationRemoval_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5253
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5254
0
                                   ett_e2ap_E2nodeTNLassociationRemoval_Item, E2nodeTNLassociationRemoval_Item_sequence);
5255
5256
0
  return offset;
5257
0
}
5258
5259
5260
static const per_sequence_t E2nodeConfigurationUpdateAcknowledge_sequence[] = {
5261
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5262
  { NULL, 0, 0, NULL }
5263
};
5264
5265
static unsigned
5266
0
dissect_e2ap_E2nodeConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5267
0
  set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE_ACK);
5268
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE_ACK);
5269
5270
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5271
0
                                   ett_e2ap_E2nodeConfigurationUpdateAcknowledge, E2nodeConfigurationUpdateAcknowledge_sequence);
5272
5273
0
  return offset;
5274
0
}
5275
5276
5277
static const per_sequence_t E2nodeComponentConfigAdditionAck_List_sequence_of[1] = {
5278
  { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5279
};
5280
5281
static unsigned
5282
2
dissect_e2ap_E2nodeComponentConfigAdditionAck_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5283
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5284
2
                                                  ett_e2ap_E2nodeComponentConfigAdditionAck_List, E2nodeComponentConfigAdditionAck_List_sequence_of,
5285
2
                                                  1, maxofE2nodeComponents, false);
5286
5287
2
  return offset;
5288
2
}
5289
5290
5291
static const per_sequence_t E2nodeComponentConfigAdditionAck_Item_sequence[] = {
5292
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5293
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5294
  { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5295
  { NULL, 0, 0, NULL }
5296
};
5297
5298
static unsigned
5299
1
dissect_e2ap_E2nodeComponentConfigAdditionAck_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5300
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5301
1
                                   ett_e2ap_E2nodeComponentConfigAdditionAck_Item, E2nodeComponentConfigAdditionAck_Item_sequence);
5302
5303
1
  return offset;
5304
1
}
5305
5306
5307
static const per_sequence_t E2nodeComponentConfigUpdateAck_List_sequence_of[1] = {
5308
  { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5309
};
5310
5311
static unsigned
5312
1
dissect_e2ap_E2nodeComponentConfigUpdateAck_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5313
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5314
1
                                                  ett_e2ap_E2nodeComponentConfigUpdateAck_List, E2nodeComponentConfigUpdateAck_List_sequence_of,
5315
1
                                                  1, maxofE2nodeComponents, false);
5316
5317
1
  return offset;
5318
1
}
5319
5320
5321
static const per_sequence_t E2nodeComponentConfigUpdateAck_Item_sequence[] = {
5322
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5323
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5324
  { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5325
  { NULL, 0, 0, NULL }
5326
};
5327
5328
static unsigned
5329
1
dissect_e2ap_E2nodeComponentConfigUpdateAck_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5330
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5331
1
                                   ett_e2ap_E2nodeComponentConfigUpdateAck_Item, E2nodeComponentConfigUpdateAck_Item_sequence);
5332
5333
1
  return offset;
5334
1
}
5335
5336
5337
static const per_sequence_t E2nodeComponentConfigRemovalAck_List_sequence_of[1] = {
5338
  { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5339
};
5340
5341
static unsigned
5342
1
dissect_e2ap_E2nodeComponentConfigRemovalAck_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5343
1
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5344
1
                                                  ett_e2ap_E2nodeComponentConfigRemovalAck_List, E2nodeComponentConfigRemovalAck_List_sequence_of,
5345
1
                                                  1, maxofE2nodeComponents, false);
5346
5347
1
  return offset;
5348
1
}
5349
5350
5351
static const per_sequence_t E2nodeComponentConfigRemovalAck_Item_sequence[] = {
5352
  { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5353
  { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5354
  { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5355
  { NULL, 0, 0, NULL }
5356
};
5357
5358
static unsigned
5359
0
dissect_e2ap_E2nodeComponentConfigRemovalAck_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5360
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5361
0
                                   ett_e2ap_E2nodeComponentConfigRemovalAck_Item, E2nodeComponentConfigRemovalAck_Item_sequence);
5362
5363
0
  return offset;
5364
0
}
5365
5366
5367
static const per_sequence_t E2nodeConfigurationUpdateFailure_sequence[] = {
5368
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5369
  { NULL, 0, 0, NULL }
5370
};
5371
5372
static unsigned
5373
0
dissect_e2ap_E2nodeConfigurationUpdateFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5374
0
  set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5375
0
  set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5376
5377
5378
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5379
0
                                   ett_e2ap_E2nodeConfigurationUpdateFailure, E2nodeConfigurationUpdateFailure_sequence);
5380
5381
0
  return offset;
5382
0
}
5383
5384
5385
static const per_sequence_t ResetRequest_sequence[] = {
5386
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5387
  { NULL, 0, 0, NULL }
5388
};
5389
5390
static unsigned
5391
9
dissect_e2ap_ResetRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5392
9
  set_message_label(actx, MTYPE_RESET_REQUEST);
5393
9
  set_stats_message_type(actx->pinfo, MTYPE_RESET_REQUEST);
5394
5395
9
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5396
9
                                   ett_e2ap_ResetRequest, ResetRequest_sequence);
5397
5398
9
  return offset;
5399
9
}
5400
5401
5402
static const per_sequence_t ResetResponse_sequence[] = {
5403
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5404
  { NULL, 0, 0, NULL }
5405
};
5406
5407
static unsigned
5408
2
dissect_e2ap_ResetResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5409
2
  set_message_label(actx, MTYPE_RESET_RESPONSE);
5410
2
  set_stats_message_type(actx->pinfo, MTYPE_RESET_RESPONSE);
5411
5412
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5413
2
                                   ett_e2ap_ResetResponse, ResetResponse_sequence);
5414
5415
2
  return offset;
5416
2
}
5417
5418
5419
static const per_sequence_t RICserviceUpdate_sequence[] = {
5420
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5421
  { NULL, 0, 0, NULL }
5422
};
5423
5424
static unsigned
5425
0
dissect_e2ap_RICserviceUpdate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5426
0
  set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE);
5427
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE);
5428
5429
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5430
0
                                   ett_e2ap_RICserviceUpdate, RICserviceUpdate_sequence);
5431
5432
0
  return offset;
5433
0
}
5434
5435
5436
static const per_sequence_t RANfunctions_List_sequence_of[1] = {
5437
  { &hf_e2ap_RANfunctions_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5438
};
5439
5440
static unsigned
5441
3
dissect_e2ap_RANfunctions_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5442
3
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5443
3
                                                  ett_e2ap_RANfunctions_List, RANfunctions_List_sequence_of,
5444
3
                                                  1, maxofRANfunctionID, false);
5445
5446
3
  return offset;
5447
3
}
5448
5449
5450
static const per_sequence_t RANfunction_Item_sequence[] = {
5451
  { &hf_e2ap_ranFunctionID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5452
  { &hf_e2ap_ranFunctionDefinition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionDefinition },
5453
  { &hf_e2ap_ranFunctionRevision, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionRevision },
5454
  { &hf_e2ap_ranFunctionOID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionOID },
5455
  { NULL, 0, 0, NULL }
5456
};
5457
5458
static unsigned
5459
10
dissect_e2ap_RANfunction_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5460
10
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5461
10
                                   ett_e2ap_RANfunction_Item, RANfunction_Item_sequence);
5462
5463
10
  return offset;
5464
10
}
5465
5466
5467
static const per_sequence_t RANfunctionsID_List_sequence_of[1] = {
5468
  { &hf_e2ap_RANfunctionsID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5469
};
5470
5471
static unsigned
5472
5
dissect_e2ap_RANfunctionsID_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5473
5
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5474
5
                                                  ett_e2ap_RANfunctionsID_List, RANfunctionsID_List_sequence_of,
5475
5
                                                  1, maxofRANfunctionID, false);
5476
5477
5
  return offset;
5478
5
}
5479
5480
5481
static const per_sequence_t RANfunctionID_Item_sequence[] = {
5482
  { &hf_e2ap_ranFunctionID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5483
  { &hf_e2ap_ranFunctionRevision, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionRevision },
5484
  { NULL, 0, 0, NULL }
5485
};
5486
5487
static unsigned
5488
1
dissect_e2ap_RANfunctionID_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5489
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5490
1
                                   ett_e2ap_RANfunctionID_Item, RANfunctionID_Item_sequence);
5491
5492
1
  return offset;
5493
1
}
5494
5495
5496
static const per_sequence_t RICserviceUpdateAcknowledge_sequence[] = {
5497
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5498
  { NULL, 0, 0, NULL }
5499
};
5500
5501
static unsigned
5502
0
dissect_e2ap_RICserviceUpdateAcknowledge(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5503
0
  set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE_ACK);
5504
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE_ACK);
5505
5506
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5507
0
                                   ett_e2ap_RICserviceUpdateAcknowledge, RICserviceUpdateAcknowledge_sequence);
5508
5509
0
  return offset;
5510
0
}
5511
5512
5513
static const per_sequence_t RANfunctionsIDcause_List_sequence_of[1] = {
5514
  { &hf_e2ap_RANfunctionsIDcause_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5515
};
5516
5517
static unsigned
5518
0
dissect_e2ap_RANfunctionsIDcause_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5519
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5520
0
                                                  ett_e2ap_RANfunctionsIDcause_List, RANfunctionsIDcause_List_sequence_of,
5521
0
                                                  1, maxofRANfunctionID, false);
5522
5523
0
  return offset;
5524
0
}
5525
5526
5527
static const per_sequence_t RANfunctionIDcause_Item_sequence[] = {
5528
  { &hf_e2ap_ranFunctionID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5529
  { &hf_e2ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
5530
  { NULL, 0, 0, NULL }
5531
};
5532
5533
static unsigned
5534
2
dissect_e2ap_RANfunctionIDcause_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5535
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5536
2
                                   ett_e2ap_RANfunctionIDcause_Item, RANfunctionIDcause_Item_sequence);
5537
5538
2
  return offset;
5539
2
}
5540
5541
5542
static const per_sequence_t RICserviceUpdateFailure_sequence[] = {
5543
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5544
  { NULL, 0, 0, NULL }
5545
};
5546
5547
static unsigned
5548
0
dissect_e2ap_RICserviceUpdateFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5549
0
  set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE_FAIL);
5550
0
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE_FAIL);
5551
5552
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5553
0
                                   ett_e2ap_RICserviceUpdateFailure, RICserviceUpdateFailure_sequence);
5554
5555
0
  return offset;
5556
0
}
5557
5558
5559
static const per_sequence_t RICserviceQuery_sequence[] = {
5560
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5561
  { NULL, 0, 0, NULL }
5562
};
5563
5564
static unsigned
5565
8
dissect_e2ap_RICserviceQuery(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5566
8
  set_message_label(actx, MTYPE_RIC_SERVICE_QUERY);
5567
8
  set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_QUERY);
5568
5569
8
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5570
8
                                   ett_e2ap_RICserviceQuery, RICserviceQuery_sequence);
5571
5572
8
  return offset;
5573
8
}
5574
5575
5576
static const per_sequence_t E2RemovalRequest_sequence[] = {
5577
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5578
  { NULL, 0, 0, NULL }
5579
};
5580
5581
static unsigned
5582
0
dissect_e2ap_E2RemovalRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5583
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5584
0
                                   ett_e2ap_E2RemovalRequest, E2RemovalRequest_sequence);
5585
5586
0
  return offset;
5587
0
}
5588
5589
5590
static const per_sequence_t E2RemovalResponse_sequence[] = {
5591
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5592
  { NULL, 0, 0, NULL }
5593
};
5594
5595
static unsigned
5596
0
dissect_e2ap_E2RemovalResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5597
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5598
0
                                   ett_e2ap_E2RemovalResponse, E2RemovalResponse_sequence);
5599
5600
0
  return offset;
5601
0
}
5602
5603
5604
static const per_sequence_t E2RemovalFailure_sequence[] = {
5605
  { &hf_e2ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5606
  { NULL, 0, 0, NULL }
5607
};
5608
5609
static unsigned
5610
0
dissect_e2ap_E2RemovalFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5611
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5612
0
                                   ett_e2ap_E2RemovalFailure, E2RemovalFailure_sequence);
5613
5614
0
  return offset;
5615
0
}
5616
5617
5618
5619
static unsigned
5620
48
dissect_e2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5621
  // InitiatingMessage/value -> InitiatingMessage/value
5622
48
  increment_dissection_depth_by_n(actx->pinfo, 1);
5623
48
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5624
48
  e2ap_data->message_type = INITIATING_MESSAGE;
5625
48
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
5626
5627
48
  decrement_dissection_depth_by_n(actx->pinfo, 1);
5628
48
  return offset;
5629
48
}
5630
5631
5632
static const per_sequence_t InitiatingMessage_sequence[] = {
5633
  { &hf_e2ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5634
  { &hf_e2ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5635
  { &hf_e2ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_InitiatingMessage_value },
5636
  { NULL, 0, 0, NULL }
5637
};
5638
5639
static unsigned
5640
48
dissect_e2ap_InitiatingMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5641
48
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5642
48
                                   ett_e2ap_InitiatingMessage, InitiatingMessage_sequence);
5643
5644
48
  return offset;
5645
48
}
5646
5647
5648
5649
static unsigned
5650
20
dissect_e2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5651
  // SuccessfulOutcome/value -> SuccessfulOutcome/value
5652
20
  increment_dissection_depth_by_n(actx->pinfo, 1);
5653
20
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5654
20
  e2ap_data->message_type = SUCCESSFUL_OUTCOME;
5655
20
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
5656
5657
20
  decrement_dissection_depth_by_n(actx->pinfo, 1);
5658
20
  return offset;
5659
20
}
5660
5661
5662
static const per_sequence_t SuccessfulOutcome_sequence[] = {
5663
  { &hf_e2ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5664
  { &hf_e2ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5665
  { &hf_e2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_SuccessfulOutcome_value },
5666
  { NULL, 0, 0, NULL }
5667
};
5668
5669
static unsigned
5670
20
dissect_e2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5671
20
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5672
20
                                   ett_e2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
5673
5674
20
  return offset;
5675
20
}
5676
5677
5678
5679
static unsigned
5680
29
dissect_e2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5681
  // UnsuccessfulOutcome/value -> UnsuccessfulOutcome/value
5682
29
  increment_dissection_depth_by_n(actx->pinfo, 1);
5683
29
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5684
29
  e2ap_data->message_type = UNSUCCESSFUL_OUTCOME;
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
29
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
5703
5704
29
  decrement_dissection_depth_by_n(actx->pinfo, 1);
5705
29
  return offset;
5706
29
}
5707
5708
5709
static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
5710
  { &hf_e2ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5711
  { &hf_e2ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5712
  { &hf_e2ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_UnsuccessfulOutcome_value },
5713
  { NULL, 0, 0, NULL }
5714
};
5715
5716
static unsigned
5717
29
dissect_e2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5718
29
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5719
29
                                   ett_e2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
5720
5721
29
  return offset;
5722
29
}
5723
5724
5725
static const value_string e2ap_E2AP_PDU_vals[] = {
5726
  {   0, "initiatingMessage" },
5727
  {   1, "successfulOutcome" },
5728
  {   2, "unsuccessfulOutcome" },
5729
  { 0, NULL }
5730
};
5731
5732
static const per_choice_t E2AP_PDU_choice[] = {
5733
  {   0, &hf_e2ap_initiatingMessage, ASN1_EXTENSION_ROOT    , dissect_e2ap_InitiatingMessage },
5734
  {   1, &hf_e2ap_successfulOutcome, ASN1_EXTENSION_ROOT    , dissect_e2ap_SuccessfulOutcome },
5735
  {   2, &hf_e2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT    , dissect_e2ap_UnsuccessfulOutcome },
5736
  { 0, NULL, 0, NULL }
5737
};
5738
5739
static unsigned
5740
97
dissect_e2ap_E2AP_PDU(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5741
97
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5742
97
                                 ett_e2ap_E2AP_PDU, E2AP_PDU_choice,
5743
97
                                 NULL);
5744
5745
97
  return offset;
5746
97
}
5747
5748
5749
5750
static unsigned
5751
0
dissect_e2ap_PLMNIdentity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5752
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5753
0
                                       3, 3, false, NULL);
5754
5755
0
  return offset;
5756
0
}
5757
5758
5759
5760
static unsigned
5761
0
dissect_e2ap_NRCellIdentity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5762
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5763
0
                                     36, 36, false, NULL, 0, NULL, NULL);
5764
5765
0
  return offset;
5766
0
}
5767
5768
5769
static const per_sequence_t NR_CGI_sequence[] = {
5770
  { &hf_e2ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5771
  { &hf_e2ap_nRCellIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NRCellIdentity },
5772
  { NULL, 0, 0, NULL }
5773
};
5774
5775
static unsigned
5776
0
dissect_e2ap_NR_CGI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5777
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5778
0
                                   ett_e2ap_NR_CGI, NR_CGI_sequence);
5779
5780
0
  return offset;
5781
0
}
5782
5783
5784
5785
static unsigned
5786
0
dissect_e2ap_EUTRACellIdentity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5787
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5788
0
                                     28, 28, false, NULL, 0, NULL, NULL);
5789
5790
0
  return offset;
5791
0
}
5792
5793
5794
static const per_sequence_t EUTRA_CGI_sequence[] = {
5795
  { &hf_e2ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5796
  { &hf_e2ap_eUTRACellIdentity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_EUTRACellIdentity },
5797
  { NULL, 0, 0, NULL }
5798
};
5799
5800
static unsigned
5801
0
dissect_e2ap_EUTRA_CGI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5802
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5803
0
                                   ett_e2ap_EUTRA_CGI, EUTRA_CGI_sequence);
5804
5805
0
  return offset;
5806
0
}
5807
5808
5809
static const value_string e2ap_CGI_vals[] = {
5810
  {   0, "nR-CGI" },
5811
  {   1, "eUTRA-CGI" },
5812
  { 0, NULL }
5813
};
5814
5815
static const per_choice_t CGI_choice[] = {
5816
  {   0, &hf_e2ap_nR_CGI         , ASN1_EXTENSION_ROOT    , dissect_e2ap_NR_CGI },
5817
  {   1, &hf_e2ap_eUTRA_CGI      , ASN1_EXTENSION_ROOT    , dissect_e2ap_EUTRA_CGI },
5818
  { 0, NULL, 0, NULL }
5819
};
5820
5821
static unsigned
5822
0
dissect_e2ap_CGI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5823
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5824
0
                                 ett_e2ap_CGI, CGI_choice,
5825
0
                                 NULL);
5826
5827
0
  return offset;
5828
0
}
5829
5830
5831
5832
static unsigned
5833
0
dissect_e2ap_AMFRegionID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5834
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5835
0
                                     8, 8, false, NULL, 0, NULL, NULL);
5836
5837
0
  return offset;
5838
0
}
5839
5840
5841
5842
static unsigned
5843
0
dissect_e2ap_AMFSetID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5844
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5845
0
                                     10, 10, false, NULL, 0, NULL, NULL);
5846
5847
0
  return offset;
5848
0
}
5849
5850
5851
5852
static unsigned
5853
0
dissect_e2ap_AMFPointer(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5854
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5855
0
                                     6, 6, false, NULL, 0, NULL, NULL);
5856
5857
0
  return offset;
5858
0
}
5859
5860
5861
static const per_sequence_t GUAMI_sequence[] = {
5862
  { &hf_e2ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5863
  { &hf_e2ap_aMFRegionID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFRegionID },
5864
  { &hf_e2ap_aMFSetID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFSetID },
5865
  { &hf_e2ap_aMFPointer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFPointer },
5866
  { NULL, 0, 0, NULL }
5867
};
5868
5869
static unsigned
5870
0
dissect_e2ap_GUAMI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5871
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5872
0
                                   ett_e2ap_GUAMI, GUAMI_sequence);
5873
5874
0
  return offset;
5875
0
}
5876
5877
5878
static const per_sequence_t InterfaceID_NG_sequence[] = {
5879
  { &hf_e2ap_guami          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
5880
  { NULL, 0, 0, NULL }
5881
};
5882
5883
static unsigned
5884
0
dissect_e2ap_InterfaceID_NG(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5885
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5886
0
                                   ett_e2ap_InterfaceID_NG, InterfaceID_NG_sequence);
5887
5888
0
  return offset;
5889
0
}
5890
5891
5892
static const value_string e2ap_GNB_ID_vals[] = {
5893
  {   0, "gNB-ID" },
5894
  { 0, NULL }
5895
};
5896
5897
static const per_choice_t GNB_ID_choice[] = {
5898
  {   0, &hf_e2ap_gNB_ID         , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_22_32 },
5899
  { 0, NULL, 0, NULL }
5900
};
5901
5902
static unsigned
5903
0
dissect_e2ap_GNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5904
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5905
0
                                 ett_e2ap_GNB_ID, GNB_ID_choice,
5906
0
                                 NULL);
5907
5908
0
  return offset;
5909
0
}
5910
5911
5912
static const per_sequence_t GlobalGNB_ID_sequence[] = {
5913
  { &hf_e2ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5914
  { &hf_e2ap_gNB_ID_choice  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_ID },
5915
  { NULL, 0, 0, NULL }
5916
};
5917
5918
static unsigned
5919
0
dissect_e2ap_GlobalGNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5920
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5921
0
                                   ett_e2ap_GlobalGNB_ID, GlobalGNB_ID_sequence);
5922
5923
0
  return offset;
5924
0
}
5925
5926
5927
static const value_string e2ap_NgENB_ID_vals[] = {
5928
  {   0, "macroNgENB-ID" },
5929
  {   1, "shortMacroNgENB-ID" },
5930
  {   2, "longMacroNgENB-ID" },
5931
  { 0, NULL }
5932
};
5933
5934
static const per_choice_t NgENB_ID_choice[] = {
5935
  {   0, &hf_e2ap_macroNgENB_ID  , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_20 },
5936
  {   1, &hf_e2ap_shortMacroNgENB_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_18 },
5937
  {   2, &hf_e2ap_longMacroNgENB_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING_SIZE_21 },
5938
  { 0, NULL, 0, NULL }
5939
};
5940
5941
static unsigned
5942
0
dissect_e2ap_NgENB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5943
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5944
0
                                 ett_e2ap_NgENB_ID, NgENB_ID_choice,
5945
0
                                 NULL);
5946
5947
0
  return offset;
5948
0
}
5949
5950
5951
static const per_sequence_t GlobalNgENB_ID_sequence[] = {
5952
  { &hf_e2ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5953
  { &hf_e2ap_ngENB_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NgENB_ID },
5954
  { NULL, 0, 0, NULL }
5955
};
5956
5957
static unsigned
5958
0
dissect_e2ap_GlobalNgENB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5959
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5960
0
                                   ett_e2ap_GlobalNgENB_ID, GlobalNgENB_ID_sequence);
5961
5962
0
  return offset;
5963
0
}
5964
5965
5966
static const value_string e2ap_GlobalNGRANNodeID_vals[] = {
5967
  {   0, "gNB" },
5968
  {   1, "ng-eNB" },
5969
  { 0, NULL }
5970
};
5971
5972
static const per_choice_t GlobalNGRANNodeID_choice[] = {
5973
  {   0, &hf_e2ap_gNB_02         , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalGNB_ID },
5974
  {   1, &hf_e2ap_ng_eNB_02      , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalNgENB_ID },
5975
  { 0, NULL, 0, NULL }
5976
};
5977
5978
static unsigned
5979
0
dissect_e2ap_GlobalNGRANNodeID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5980
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5981
0
                                 ett_e2ap_GlobalNGRANNodeID, GlobalNGRANNodeID_choice,
5982
0
                                 NULL);
5983
5984
0
  return offset;
5985
0
}
5986
5987
5988
static const per_sequence_t InterfaceID_Xn_sequence[] = {
5989
  { &hf_e2ap_global_NG_RAN_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNGRANNodeID },
5990
  { NULL, 0, 0, NULL }
5991
};
5992
5993
static unsigned
5994
0
dissect_e2ap_InterfaceID_Xn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5995
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5996
0
                                   ett_e2ap_InterfaceID_Xn, InterfaceID_Xn_sequence);
5997
5998
0
  return offset;
5999
0
}
6000
6001
6002
static const per_sequence_t InterfaceID_F1_sequence[] = {
6003
  { &hf_e2ap_globalGNB_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalGNB_ID },
6004
  { &hf_e2ap_gNB_DU_ID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
6005
  { NULL, 0, 0, NULL }
6006
};
6007
6008
static unsigned
6009
0
dissect_e2ap_InterfaceID_F1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6010
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6011
0
                                   ett_e2ap_InterfaceID_F1, InterfaceID_F1_sequence);
6012
6013
0
  return offset;
6014
0
}
6015
6016
6017
static const per_sequence_t InterfaceID_E1_sequence[] = {
6018
  { &hf_e2ap_globalGNB_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalGNB_ID },
6019
  { &hf_e2ap_gNB_CU_UP_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
6020
  { NULL, 0, 0, NULL }
6021
};
6022
6023
static unsigned
6024
0
dissect_e2ap_InterfaceID_E1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6025
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6026
0
                                   ett_e2ap_InterfaceID_E1, InterfaceID_E1_sequence);
6027
6028
0
  return offset;
6029
0
}
6030
6031
6032
6033
static unsigned
6034
0
dissect_e2ap_MME_Group_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6035
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6036
0
                                       2, 2, false, NULL);
6037
6038
0
  return offset;
6039
0
}
6040
6041
6042
6043
static unsigned
6044
0
dissect_e2ap_MME_Code(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6045
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6046
0
                                       1, 1, false, NULL);
6047
6048
0
  return offset;
6049
0
}
6050
6051
6052
static const per_sequence_t GUMMEI_sequence[] = {
6053
  { &hf_e2ap_pLMN_Identity_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
6054
  { &hf_e2ap_mME_Group_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_Group_ID },
6055
  { &hf_e2ap_mME_Code       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_Code },
6056
  { NULL, 0, 0, NULL }
6057
};
6058
6059
static unsigned
6060
0
dissect_e2ap_GUMMEI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6061
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6062
0
                                   ett_e2ap_GUMMEI, GUMMEI_sequence);
6063
6064
0
  return offset;
6065
0
}
6066
6067
6068
static const per_sequence_t InterfaceID_S1_sequence[] = {
6069
  { &hf_e2ap_gUMMEI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GUMMEI },
6070
  { NULL, 0, 0, NULL }
6071
};
6072
6073
static unsigned
6074
0
dissect_e2ap_InterfaceID_S1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6075
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6076
0
                                   ett_e2ap_InterfaceID_S1, InterfaceID_S1_sequence);
6077
6078
0
  return offset;
6079
0
}
6080
6081
6082
static const value_string e2ap_T_nodeType_vals[] = {
6083
  {   0, "global-eNB-ID" },
6084
  {   1, "global-en-gNB-ID" },
6085
  { 0, NULL }
6086
};
6087
6088
static const per_choice_t T_nodeType_choice[] = {
6089
  {   0, &hf_e2ap_global_eNB_ID  , ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalENB_ID },
6090
  {   1, &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_GlobalenGNB_ID },
6091
  { 0, NULL, 0, NULL }
6092
};
6093
6094
static unsigned
6095
0
dissect_e2ap_T_nodeType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6096
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6097
0
                                 ett_e2ap_T_nodeType, T_nodeType_choice,
6098
0
                                 NULL);
6099
6100
0
  return offset;
6101
0
}
6102
6103
6104
static const per_sequence_t InterfaceID_X2_sequence[] = {
6105
  { &hf_e2ap_nodeType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_nodeType },
6106
  { NULL, 0, 0, NULL }
6107
};
6108
6109
static unsigned
6110
0
dissect_e2ap_InterfaceID_X2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6111
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6112
0
                                   ett_e2ap_InterfaceID_X2, InterfaceID_X2_sequence);
6113
6114
0
  return offset;
6115
0
}
6116
6117
6118
static const per_sequence_t InterfaceID_W1_sequence[] = {
6119
  { &hf_e2ap_global_ng_eNB_ID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNgENB_ID },
6120
  { &hf_e2ap_ng_eNB_DU_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_DU_ID },
6121
  { NULL, 0, 0, NULL }
6122
};
6123
6124
static unsigned
6125
0
dissect_e2ap_InterfaceID_W1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6126
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6127
0
                                   ett_e2ap_InterfaceID_W1, InterfaceID_W1_sequence);
6128
6129
0
  return offset;
6130
0
}
6131
6132
6133
static const value_string e2ap_InterfaceIdentifier_vals[] = {
6134
  {   0, "nG" },
6135
  {   1, "xN" },
6136
  {   2, "f1" },
6137
  {   3, "e1" },
6138
  {   4, "s1" },
6139
  {   5, "x2" },
6140
  {   6, "w1" },
6141
  { 0, NULL }
6142
};
6143
6144
static const per_choice_t InterfaceIdentifier_choice[] = {
6145
  {   0, &hf_e2ap_nG             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_NG },
6146
  {   1, &hf_e2ap_xN             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_Xn },
6147
  {   2, &hf_e2ap_f1             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_F1 },
6148
  {   3, &hf_e2ap_e1             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_E1 },
6149
  {   4, &hf_e2ap_s1             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_S1 },
6150
  {   5, &hf_e2ap_x2             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_X2 },
6151
  {   6, &hf_e2ap_w1             , ASN1_EXTENSION_ROOT    , dissect_e2ap_InterfaceID_W1 },
6152
  { 0, NULL, 0, NULL }
6153
};
6154
6155
static unsigned
6156
0
dissect_e2ap_InterfaceIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6157
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6158
0
                                 ett_e2ap_InterfaceIdentifier, InterfaceIdentifier_choice,
6159
0
                                 NULL);
6160
6161
0
  return offset;
6162
0
}
6163
6164
6165
6166
static unsigned
6167
0
dissect_e2ap_INTEGER(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6168
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6169
6170
0
  return offset;
6171
0
}
6172
6173
6174
static const value_string e2ap_T_messageType_vals[] = {
6175
  {   0, "initiatingMessage" },
6176
  {   1, "successfulOutcome" },
6177
  {   2, "unsuccessfulOutcome" },
6178
  { 0, NULL }
6179
};
6180
6181
6182
static unsigned
6183
0
dissect_e2ap_T_messageType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6184
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6185
0
                                     3, NULL, true, 0, NULL);
6186
6187
0
  return offset;
6188
0
}
6189
6190
6191
static const per_sequence_t Interface_MessageID_sequence[] = {
6192
  { &hf_e2ap_interfaceProcedureID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER },
6193
  { &hf_e2ap_messageType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_messageType },
6194
  { NULL, 0, 0, NULL }
6195
};
6196
6197
static unsigned
6198
0
dissect_e2ap_Interface_MessageID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6199
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6200
0
                                   ett_e2ap_Interface_MessageID, Interface_MessageID_sequence);
6201
6202
0
  return offset;
6203
0
}
6204
6205
6206
static const value_string e2ap_InterfaceType_vals[] = {
6207
  {   0, "nG" },
6208
  {   1, "xn" },
6209
  {   2, "f1" },
6210
  {   3, "e1" },
6211
  {   4, "s1" },
6212
  {   5, "x2" },
6213
  {   6, "w1" },
6214
  { 0, NULL }
6215
};
6216
6217
6218
static unsigned
6219
0
dissect_e2ap_InterfaceType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6220
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6221
0
                                     7, NULL, true, 0, NULL);
6222
6223
0
  return offset;
6224
0
}
6225
6226
6227
6228
static unsigned
6229
0
dissect_e2ap_T_ranFunction_ShortName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6230
0
  tvbuff_t *value_tvb;
6231
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6232
0
                                          1, 150, true,
6233
0
                                          &value_tvb);
6234
6235
0
  if (!actx->pinfo->fd->visited) {
6236
    /* N.B. too early to work out exact dissector, as don't have OID yet */
6237
0
    e2ap_store_ran_function_mapping(actx->pinfo, tree, value_tvb,
6238
0
                                    (char*)tvb_get_string_enc(actx->pinfo->pool, value_tvb, 0, tvb_captured_length(value_tvb), ENC_ASCII));
6239
0
  }
6240
6241
6242
0
  return offset;
6243
0
}
6244
6245
6246
6247
static unsigned
6248
0
dissect_e2ap_PrintableString_SIZE_1_1000_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6249
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6250
0
                                          1, 1000, true,
6251
0
                                          NULL);
6252
6253
0
  return offset;
6254
0
}
6255
6256
6257
6258
static unsigned
6259
0
dissect_e2ap_PrintableString_SIZE_1_150_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6260
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6261
0
                                          1, 150, true,
6262
0
                                          NULL);
6263
6264
0
  return offset;
6265
0
}
6266
6267
6268
static const per_sequence_t RANfunction_Name_sequence[] = {
6269
  { &hf_e2ap_ranFunction_ShortName, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ranFunction_ShortName },
6270
  { &hf_e2ap_ranFunction_E2SM_OID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PrintableString_SIZE_1_1000_ },
6271
  { &hf_e2ap_ranFunction_Description, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_PrintableString_SIZE_1_150_ },
6272
  { &hf_e2ap_ranFunction_Instance, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER },
6273
  { NULL, 0, 0, NULL }
6274
};
6275
6276
static unsigned
6277
0
dissect_e2ap_RANfunction_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6278
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6279
0
                                   ett_e2ap_RANfunction_Name, RANfunction_Name_sequence);
6280
6281
0
  return offset;
6282
0
}
6283
6284
6285
6286
static unsigned
6287
0
dissect_e2ap_RIC_Format_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6288
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6289
6290
0
  return offset;
6291
0
}
6292
6293
6294
6295
static unsigned
6296
0
dissect_e2ap_RIC_Style_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6297
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6298
6299
0
  return offset;
6300
0
}
6301
6302
6303
6304
static unsigned
6305
0
dissect_e2ap_RIC_Style_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6306
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6307
0
                                          1, 150, true,
6308
0
                                          NULL);
6309
6310
0
  return offset;
6311
0
}
6312
6313
6314
static const value_string e2ap_RRCclass_LTE_vals[] = {
6315
  {   0, "bCCH-BCH" },
6316
  {   1, "bCCH-BCH-MBMS" },
6317
  {   2, "bCCH-DL-SCH" },
6318
  {   3, "bCCH-DL-SCH-BR" },
6319
  {   4, "bCCH-DL-SCH-MBMS" },
6320
  {   5, "mCCH" },
6321
  {   6, "pCCH" },
6322
  {   7, "dL-CCCH" },
6323
  {   8, "dL-DCCH" },
6324
  {   9, "uL-CCCH" },
6325
  {  10, "uL-DCCH" },
6326
  {  11, "sC-MCCH" },
6327
  { 0, NULL }
6328
};
6329
6330
6331
static unsigned
6332
0
dissect_e2ap_RRCclass_LTE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6333
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6334
0
                                     12, NULL, true, 0, NULL);
6335
6336
0
  return offset;
6337
0
}
6338
6339
6340
static const value_string e2ap_RRCclass_NR_vals[] = {
6341
  {   0, "bCCH-BCH" },
6342
  {   1, "bCCH-DL-SCH" },
6343
  {   2, "dL-CCCH" },
6344
  {   3, "dL-DCCH" },
6345
  {   4, "pCCH" },
6346
  {   5, "uL-CCCH" },
6347
  {   6, "uL-CCCH1" },
6348
  {   7, "uL-DCCH" },
6349
  { 0, NULL }
6350
};
6351
6352
6353
static unsigned
6354
0
dissect_e2ap_RRCclass_NR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6355
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6356
0
                                     8, NULL, true, 0, NULL);
6357
6358
0
  return offset;
6359
0
}
6360
6361
6362
static const value_string e2ap_T_rrcType_vals[] = {
6363
  {   0, "lTE" },
6364
  {   1, "nR" },
6365
  { 0, NULL }
6366
};
6367
6368
static const per_choice_t T_rrcType_choice[] = {
6369
  {   0, &hf_e2ap_lTE            , ASN1_EXTENSION_ROOT    , dissect_e2ap_RRCclass_LTE },
6370
  {   1, &hf_e2ap_nR             , ASN1_EXTENSION_ROOT    , dissect_e2ap_RRCclass_NR },
6371
  { 0, NULL, 0, NULL }
6372
};
6373
6374
static unsigned
6375
0
dissect_e2ap_T_rrcType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6376
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6377
0
                                 ett_e2ap_T_rrcType, T_rrcType_choice,
6378
0
                                 NULL);
6379
6380
0
  return offset;
6381
0
}
6382
6383
6384
static const per_sequence_t RRC_MessageID_sequence[] = {
6385
  { &hf_e2ap_rrcType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_rrcType },
6386
  { &hf_e2ap_messageID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER },
6387
  { NULL, 0, 0, NULL }
6388
};
6389
6390
static unsigned
6391
0
dissect_e2ap_RRC_MessageID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6392
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6393
0
                                   ett_e2ap_RRC_MessageID, RRC_MessageID_sequence);
6394
6395
0
  return offset;
6396
0
}
6397
6398
6399
6400
static unsigned
6401
0
dissect_e2ap_INTEGER_0_maxNRARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6402
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6403
0
                                                            0U, maxNRARFCN, NULL, false);
6404
6405
0
  return offset;
6406
0
}
6407
6408
6409
static const per_sequence_t NR_ARFCN_sequence[] = {
6410
  { &hf_e2ap_nRARFCN        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_maxNRARFCN },
6411
  { NULL, 0, 0, NULL }
6412
};
6413
6414
static unsigned
6415
0
dissect_e2ap_NR_ARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6416
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6417
0
                                   ett_e2ap_NR_ARFCN, NR_ARFCN_sequence);
6418
6419
0
  return offset;
6420
0
}
6421
6422
6423
6424
static unsigned
6425
0
dissect_e2ap_E_UTRA_ARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6426
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6427
0
                                                            0U, maxEARFCN, NULL, false);
6428
6429
0
  return offset;
6430
0
}
6431
6432
6433
static const value_string e2ap_ServingCell_ARFCN_vals[] = {
6434
  {   0, "nR" },
6435
  {   1, "eUTRA" },
6436
  { 0, NULL }
6437
};
6438
6439
static const per_choice_t ServingCell_ARFCN_choice[] = {
6440
  {   0, &hf_e2ap_nR_01          , ASN1_EXTENSION_ROOT    , dissect_e2ap_NR_ARFCN },
6441
  {   1, &hf_e2ap_eUTRA          , ASN1_EXTENSION_ROOT    , dissect_e2ap_E_UTRA_ARFCN },
6442
  { 0, NULL, 0, NULL }
6443
};
6444
6445
static unsigned
6446
0
dissect_e2ap_ServingCell_ARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6447
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6448
0
                                 ett_e2ap_ServingCell_ARFCN, ServingCell_ARFCN_choice,
6449
0
                                 NULL);
6450
6451
0
  return offset;
6452
0
}
6453
6454
6455
6456
static unsigned
6457
0
dissect_e2ap_NR_PCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6458
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6459
0
                                                            0U, 1007U, NULL, false);
6460
6461
0
  return offset;
6462
0
}
6463
6464
6465
6466
static unsigned
6467
0
dissect_e2ap_E_UTRA_PCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6468
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6469
0
                                                            0U, 503U, NULL, true);
6470
6471
0
  return offset;
6472
0
}
6473
6474
6475
static const value_string e2ap_ServingCell_PCI_vals[] = {
6476
  {   0, "nR" },
6477
  {   1, "eUTRA" },
6478
  { 0, NULL }
6479
};
6480
6481
static const per_choice_t ServingCell_PCI_choice[] = {
6482
  {   0, &hf_e2ap_nR_02          , ASN1_EXTENSION_ROOT    , dissect_e2ap_NR_PCI },
6483
  {   1, &hf_e2ap_eUTRA_01       , ASN1_EXTENSION_ROOT    , dissect_e2ap_E_UTRA_PCI },
6484
  { 0, NULL, 0, NULL }
6485
};
6486
6487
static unsigned
6488
0
dissect_e2ap_ServingCell_PCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6489
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6490
0
                                 ett_e2ap_ServingCell_PCI, ServingCell_PCI_choice,
6491
0
                                 NULL);
6492
6493
0
  return offset;
6494
0
}
6495
6496
6497
6498
static unsigned
6499
0
dissect_e2ap_AMF_UE_NGAP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6500
0
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6501
0
                                                            0U, UINT64_C(1099511627775), NULL, false);
6502
6503
0
  return offset;
6504
0
}
6505
6506
6507
6508
static unsigned
6509
0
dissect_e2ap_GNB_CU_UE_F1AP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6510
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6511
0
                                                            0U, 4294967295U, NULL, false);
6512
6513
0
  return offset;
6514
0
}
6515
6516
6517
static const per_sequence_t UEID_GNB_CU_CP_F1AP_ID_Item_sequence[] = {
6518
  { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UE_F1AP_ID },
6519
  { NULL, 0, 0, NULL }
6520
};
6521
6522
static unsigned
6523
0
dissect_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6524
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6525
0
                                   ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item, UEID_GNB_CU_CP_F1AP_ID_Item_sequence);
6526
6527
0
  return offset;
6528
0
}
6529
6530
6531
static const per_sequence_t UEID_GNB_CU_F1AP_ID_List_sequence_of[1] = {
6532
  { &hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item },
6533
};
6534
6535
static unsigned
6536
0
dissect_e2ap_UEID_GNB_CU_F1AP_ID_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6537
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6538
0
                                                  ett_e2ap_UEID_GNB_CU_F1AP_ID_List, UEID_GNB_CU_F1AP_ID_List_sequence_of,
6539
0
                                                  1, maxF1APid, false);
6540
6541
0
  return offset;
6542
0
}
6543
6544
6545
6546
static unsigned
6547
0
dissect_e2ap_GNB_CU_CP_UE_E1AP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6548
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6549
0
                                                            0U, 4294967295U, NULL, false);
6550
6551
0
  return offset;
6552
0
}
6553
6554
6555
static const per_sequence_t UEID_GNB_CU_CP_E1AP_ID_Item_sequence[] = {
6556
  { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_CP_UE_E1AP_ID },
6557
  { NULL, 0, 0, NULL }
6558
};
6559
6560
static unsigned
6561
0
dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6562
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6563
0
                                   ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item, UEID_GNB_CU_CP_E1AP_ID_Item_sequence);
6564
6565
0
  return offset;
6566
0
}
6567
6568
6569
static const per_sequence_t UEID_GNB_CU_CP_E1AP_ID_List_sequence_of[1] = {
6570
  { &hf_e2ap_UEID_GNB_CU_CP_E1AP_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item },
6571
};
6572
6573
static unsigned
6574
0
dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6575
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6576
0
                                                  ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List, UEID_GNB_CU_CP_E1AP_ID_List_sequence_of,
6577
0
                                                  1, maxE1APid, false);
6578
6579
0
  return offset;
6580
0
}
6581
6582
6583
6584
static unsigned
6585
0
dissect_e2ap_RANUEID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6586
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6587
0
                                       8, 8, false, NULL);
6588
6589
0
  return offset;
6590
0
}
6591
6592
6593
6594
static unsigned
6595
0
dissect_e2ap_NG_RANnodeUEXnAPID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6596
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6597
0
                                                            0U, 4294967295U, NULL, false);
6598
6599
0
  return offset;
6600
0
}
6601
6602
6603
static const per_sequence_t UEID_GNB_sequence[] = {
6604
  { &hf_e2ap_amf_UE_NGAP_ID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMF_UE_NGAP_ID },
6605
  { &hf_e2ap_guami          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
6606
  { &hf_e2ap_gNB_CU_UE_F1AP_ID_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID_GNB_CU_F1AP_ID_List },
6607
  { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List },
6608
  { &hf_e2ap_ran_UEID       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANUEID },
6609
  { &hf_e2ap_m_NG_RAN_UE_XnAP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NG_RANnodeUEXnAPID },
6610
  { &hf_e2ap_globalGNB_ID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalGNB_ID },
6611
  { &hf_e2ap_globalNG_RANNode_ID, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_GlobalNGRANNodeID },
6612
  { NULL, 0, 0, NULL }
6613
};
6614
6615
static unsigned
6616
0
dissect_e2ap_UEID_GNB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6617
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6618
0
                                   ett_e2ap_UEID_GNB, UEID_GNB_sequence);
6619
6620
0
  return offset;
6621
0
}
6622
6623
6624
static const per_sequence_t UEID_GNB_DU_sequence[] = {
6625
  { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UE_F1AP_ID },
6626
  { &hf_e2ap_ran_UEID       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANUEID },
6627
  { NULL, 0, 0, NULL }
6628
};
6629
6630
static unsigned
6631
0
dissect_e2ap_UEID_GNB_DU(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6632
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6633
0
                                   ett_e2ap_UEID_GNB_DU, UEID_GNB_DU_sequence);
6634
6635
0
  return offset;
6636
0
}
6637
6638
6639
static const per_sequence_t UEID_GNB_CU_UP_sequence[] = {
6640
  { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_CP_UE_E1AP_ID },
6641
  { &hf_e2ap_ran_UEID       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANUEID },
6642
  { NULL, 0, 0, NULL }
6643
};
6644
6645
static unsigned
6646
0
dissect_e2ap_UEID_GNB_CU_UP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6647
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6648
0
                                   ett_e2ap_UEID_GNB_CU_UP, UEID_GNB_CU_UP_sequence);
6649
6650
0
  return offset;
6651
0
}
6652
6653
6654
6655
static unsigned
6656
0
dissect_e2ap_NGENB_CU_UE_W1AP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6657
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6658
0
                                                            0U, 4294967295U, NULL, false);
6659
6660
0
  return offset;
6661
0
}
6662
6663
6664
static const per_sequence_t UEID_NG_ENB_sequence[] = {
6665
  { &hf_e2ap_amf_UE_NGAP_ID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_AMF_UE_NGAP_ID },
6666
  { &hf_e2ap_guami          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
6667
  { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NGENB_CU_UE_W1AP_ID },
6668
  { &hf_e2ap_m_NG_RAN_UE_XnAP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NG_RANnodeUEXnAPID },
6669
  { &hf_e2ap_globalNgENB_ID , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalNgENB_ID },
6670
  { &hf_e2ap_globalNG_RANNode_ID, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_GlobalNGRANNodeID },
6671
  { NULL, 0, 0, NULL }
6672
};
6673
6674
static unsigned
6675
0
dissect_e2ap_UEID_NG_ENB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6676
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6677
0
                                   ett_e2ap_UEID_NG_ENB, UEID_NG_ENB_sequence);
6678
6679
0
  return offset;
6680
0
}
6681
6682
6683
static const per_sequence_t UEID_NG_ENB_DU_sequence[] = {
6684
  { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_CU_UE_W1AP_ID },
6685
  { NULL, 0, 0, NULL }
6686
};
6687
6688
static unsigned
6689
0
dissect_e2ap_UEID_NG_ENB_DU(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6690
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6691
0
                                   ett_e2ap_UEID_NG_ENB_DU, UEID_NG_ENB_DU_sequence);
6692
6693
0
  return offset;
6694
0
}
6695
6696
6697
6698
static unsigned
6699
0
dissect_e2ap_ENB_UE_X2AP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6700
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6701
0
                                                            0U, 4095U, NULL, false);
6702
6703
0
  return offset;
6704
0
}
6705
6706
6707
6708
static unsigned
6709
0
dissect_e2ap_ENB_UE_X2AP_ID_Extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6710
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6711
0
                                                            0U, 4095U, NULL, true);
6712
6713
0
  return offset;
6714
0
}
6715
6716
6717
static const per_sequence_t UEID_EN_GNB_sequence[] = {
6718
  { &hf_e2ap_m_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_UE_X2AP_ID },
6719
  { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_ENB_UE_X2AP_ID_Extension },
6720
  { &hf_e2ap_globalENB_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalENB_ID },
6721
  { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GNB_CU_UE_F1AP_ID },
6722
  { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List },
6723
  { &hf_e2ap_ran_UEID       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANUEID },
6724
  { NULL, 0, 0, NULL }
6725
};
6726
6727
static unsigned
6728
0
dissect_e2ap_UEID_EN_GNB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6729
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6730
0
                                   ett_e2ap_UEID_EN_GNB, UEID_EN_GNB_sequence);
6731
6732
0
  return offset;
6733
0
}
6734
6735
6736
6737
static unsigned
6738
0
dissect_e2ap_MME_UE_S1AP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6739
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6740
0
                                                            0U, 4294967295U, NULL, false);
6741
6742
0
  return offset;
6743
0
}
6744
6745
6746
static const per_sequence_t UEID_ENB_sequence[] = {
6747
  { &hf_e2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_UE_S1AP_ID },
6748
  { &hf_e2ap_gUMMEI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GUMMEI },
6749
  { &hf_e2ap_m_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_ENB_UE_X2AP_ID },
6750
  { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_ENB_UE_X2AP_ID_Extension },
6751
  { &hf_e2ap_globalENB_ID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GlobalENB_ID },
6752
  { NULL, 0, 0, NULL }
6753
};
6754
6755
static unsigned
6756
0
dissect_e2ap_UEID_ENB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6757
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6758
0
                                   ett_e2ap_UEID_ENB, UEID_ENB_sequence);
6759
6760
0
  return offset;
6761
0
}
6762
6763
6764
static const value_string e2ap_UEID_vals[] = {
6765
  {   0, "gNB-UEID" },
6766
  {   1, "gNB-DU-UEID" },
6767
  {   2, "gNB-CU-UP-UEID" },
6768
  {   3, "ng-eNB-UEID" },
6769
  {   4, "ng-eNB-DU-UEID" },
6770
  {   5, "en-gNB-UEID" },
6771
  {   6, "eNB-UEID" },
6772
  { 0, NULL }
6773
};
6774
6775
static const per_choice_t UEID_choice[] = {
6776
  {   0, &hf_e2ap_gNB_UEID       , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_GNB },
6777
  {   1, &hf_e2ap_gNB_DU_UEID    , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_GNB_DU },
6778
  {   2, &hf_e2ap_gNB_CU_UP_UEID , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_GNB_CU_UP },
6779
  {   3, &hf_e2ap_ng_eNB_UEID    , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_NG_ENB },
6780
  {   4, &hf_e2ap_ng_eNB_DU_UEID , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_NG_ENB_DU },
6781
  {   5, &hf_e2ap_en_gNB_UEID    , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_EN_GNB },
6782
  {   6, &hf_e2ap_eNB_UEID       , ASN1_EXTENSION_ROOT    , dissect_e2ap_UEID_ENB },
6783
  { 0, NULL, 0, NULL }
6784
};
6785
6786
static unsigned
6787
0
dissect_e2ap_UEID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6788
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6789
0
                                 ett_e2ap_UEID, UEID_choice,
6790
0
                                 NULL);
6791
6792
0
  return offset;
6793
0
}
6794
6795
6796
6797
static unsigned
6798
0
dissect_e2ap_QCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6799
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6800
0
                                                            0U, 255U, NULL, false);
6801
6802
0
  return offset;
6803
0
}
6804
6805
6806
6807
static unsigned
6808
0
dissect_e2ap_E_UTRA_TAC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6809
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6810
0
                                       2, 2, false, NULL);
6811
6812
0
  return offset;
6813
0
}
6814
6815
6816
6817
static unsigned
6818
0
dissect_e2ap_FiveQI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6819
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6820
0
                                                            0U, 255U, NULL, true);
6821
6822
0
  return offset;
6823
0
}
6824
6825
6826
6827
static unsigned
6828
0
dissect_e2ap_QosFlowIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6829
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6830
0
                                                            0U, 63U, NULL, true);
6831
6832
0
  return offset;
6833
0
}
6834
6835
6836
6837
static unsigned
6838
0
dissect_e2ap_SD(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6839
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6840
0
                                       3, 3, false, NULL);
6841
6842
0
  return offset;
6843
0
}
6844
6845
6846
6847
static unsigned
6848
0
dissect_e2ap_SST(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6849
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6850
0
                                       1, 1, false, NULL);
6851
6852
0
  return offset;
6853
0
}
6854
6855
6856
static const per_sequence_t S_NSSAI_sequence[] = {
6857
  { &hf_e2ap_sST            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SST },
6858
  { &hf_e2ap_sD             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SD },
6859
  { NULL, 0, 0, NULL }
6860
};
6861
6862
static unsigned
6863
0
dissect_e2ap_S_NSSAI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6864
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6865
0
                                   ett_e2ap_S_NSSAI, S_NSSAI_sequence);
6866
6867
0
  return offset;
6868
0
}
6869
6870
6871
6872
static unsigned
6873
0
dissect_e2ap_FiveGS_TAC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6874
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6875
0
                                       3, 3, false, NULL);
6876
6877
0
  return offset;
6878
0
}
6879
6880
6881
6882
static unsigned
6883
0
dissect_e2ap_INTEGER_1_1024_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6884
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6885
0
                                                            1U, 1024U, NULL, true);
6886
6887
0
  return offset;
6888
0
}
6889
6890
6891
static const per_sequence_t SupportedSULFreqBandItem_sequence[] = {
6892
  { &hf_e2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_1024_ },
6893
  { NULL, 0, 0, NULL }
6894
};
6895
6896
static unsigned
6897
0
dissect_e2ap_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6898
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6899
0
                                   ett_e2ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence);
6900
6901
0
  return offset;
6902
0
}
6903
6904
6905
static const per_sequence_t SupportedSULBandList_sequence_of[1] = {
6906
  { &hf_e2ap_SupportedSULBandList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_SupportedSULFreqBandItem },
6907
};
6908
6909
static unsigned
6910
0
dissect_e2ap_SupportedSULBandList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6911
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6912
0
                                                  ett_e2ap_SupportedSULBandList, SupportedSULBandList_sequence_of,
6913
0
                                                  0, maxnoofNrCellBands, false);
6914
6915
0
  return offset;
6916
0
}
6917
6918
6919
static const per_sequence_t NRFrequencyBandItem_sequence[] = {
6920
  { &hf_e2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_1024_ },
6921
  { &hf_e2ap_supportedSULBandList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SupportedSULBandList },
6922
  { NULL, 0, 0, NULL }
6923
};
6924
6925
static unsigned
6926
0
dissect_e2ap_NRFrequencyBandItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6927
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6928
0
                                   ett_e2ap_NRFrequencyBandItem, NRFrequencyBandItem_sequence);
6929
6930
0
  return offset;
6931
0
}
6932
6933
6934
static const per_sequence_t NRFrequencyBand_List_sequence_of[1] = {
6935
  { &hf_e2ap_NRFrequencyBand_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyBandItem },
6936
};
6937
6938
static unsigned
6939
0
dissect_e2ap_NRFrequencyBand_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6940
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6941
0
                                                  ett_e2ap_NRFrequencyBand_List, NRFrequencyBand_List_sequence_of,
6942
0
                                                  1, maxnoofNrCellBands, false);
6943
6944
0
  return offset;
6945
0
}
6946
6947
6948
static const value_string e2ap_NRFrequencyShift7p5khz_vals[] = {
6949
  {   0, "false" },
6950
  {   1, "true" },
6951
  { 0, NULL }
6952
};
6953
6954
6955
static unsigned
6956
0
dissect_e2ap_NRFrequencyShift7p5khz(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6957
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6958
0
                                     2, NULL, true, 0, NULL);
6959
6960
0
  return offset;
6961
0
}
6962
6963
6964
static const per_sequence_t NRFrequencyInfo_sequence[] = {
6965
  { &hf_e2ap_nrARFCN        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_ARFCN },
6966
  { &hf_e2ap_frequencyBand_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyBand_List },
6967
  { &hf_e2ap_frequencyShift7p5khz, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NRFrequencyShift7p5khz },
6968
  { NULL, 0, 0, NULL }
6969
};
6970
6971
static unsigned
6972
0
dissect_e2ap_NRFrequencyInfo(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6973
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6974
0
                                   ett_e2ap_NRFrequencyInfo, NRFrequencyInfo_sequence);
6975
6976
0
  return offset;
6977
0
}
6978
6979
6980
static const value_string e2ap_LogicalOR_vals[] = {
6981
  {   0, "true" },
6982
  {   1, "false" },
6983
  { 0, NULL }
6984
};
6985
6986
6987
static unsigned
6988
0
dissect_e2ap_LogicalOR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6989
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6990
0
                                     2, NULL, true, 0, NULL);
6991
6992
0
  return offset;
6993
0
}
6994
6995
6996
static const value_string e2ap_T_nR_mode_info_vals[] = {
6997
  {   0, "fdd" },
6998
  {   1, "tdd" },
6999
  { 0, NULL }
7000
};
7001
7002
7003
static unsigned
7004
0
dissect_e2ap_T_nR_mode_info(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7005
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7006
0
                                     2, NULL, true, 0, NULL);
7007
7008
0
  return offset;
7009
0
}
7010
7011
7012
static const value_string e2ap_T_x2_Xn_established_vals[] = {
7013
  {   0, "true" },
7014
  {   1, "false" },
7015
  { 0, NULL }
7016
};
7017
7018
7019
static unsigned
7020
0
dissect_e2ap_T_x2_Xn_established(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7021
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7022
0
                                     2, NULL, true, 0, NULL);
7023
7024
0
  return offset;
7025
0
}
7026
7027
7028
static const value_string e2ap_T_hO_validated_vals[] = {
7029
  {   0, "true" },
7030
  {   1, "false" },
7031
  { 0, NULL }
7032
};
7033
7034
7035
static unsigned
7036
0
dissect_e2ap_T_hO_validated(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7037
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7038
0
                                     2, NULL, true, 0, NULL);
7039
7040
0
  return offset;
7041
0
}
7042
7043
7044
7045
static unsigned
7046
0
dissect_e2ap_INTEGER_1_65535_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7047
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7048
0
                                                            1U, 65535U, NULL, true);
7049
7050
0
  return offset;
7051
0
}
7052
7053
7054
static const per_sequence_t NeighborCell_Item_Choice_NR_sequence[] = {
7055
  { &hf_e2ap_nR_CGI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_CGI },
7056
  { &hf_e2ap_nR_PCI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_PCI },
7057
  { &hf_e2ap_fiveGS_TAC     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_FiveGS_TAC },
7058
  { &hf_e2ap_nR_mode_info   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_nR_mode_info },
7059
  { &hf_e2ap_nR_FreqInfo    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyInfo },
7060
  { &hf_e2ap_x2_Xn_established, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_x2_Xn_established },
7061
  { &hf_e2ap_hO_validated   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_hO_validated },
7062
  { &hf_e2ap_version        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_65535_ },
7063
  { NULL, 0, 0, NULL }
7064
};
7065
7066
static unsigned
7067
0
dissect_e2ap_NeighborCell_Item_Choice_NR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7068
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7069
0
                                   ett_e2ap_NeighborCell_Item_Choice_NR, NeighborCell_Item_Choice_NR_sequence);
7070
7071
0
  return offset;
7072
0
}
7073
7074
7075
static const value_string e2ap_T_x2_Xn_established_01_vals[] = {
7076
  {   0, "true" },
7077
  {   1, "false" },
7078
  { 0, NULL }
7079
};
7080
7081
7082
static unsigned
7083
0
dissect_e2ap_T_x2_Xn_established_01(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7084
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7085
0
                                     2, NULL, true, 0, NULL);
7086
7087
0
  return offset;
7088
0
}
7089
7090
7091
static const value_string e2ap_T_hO_validated_01_vals[] = {
7092
  {   0, "true" },
7093
  {   1, "false" },
7094
  { 0, NULL }
7095
};
7096
7097
7098
static unsigned
7099
0
dissect_e2ap_T_hO_validated_01(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7100
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7101
0
                                     2, NULL, true, 0, NULL);
7102
7103
0
  return offset;
7104
0
}
7105
7106
7107
static const per_sequence_t NeighborCell_Item_Choice_E_UTRA_sequence[] = {
7108
  { &hf_e2ap_eUTRA_CGI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_EUTRA_CGI },
7109
  { &hf_e2ap_eUTRA_PCI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_PCI },
7110
  { &hf_e2ap_eUTRA_ARFCN    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_ARFCN },
7111
  { &hf_e2ap_eUTRA_TAC      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_TAC },
7112
  { &hf_e2ap_x2_Xn_established_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_x2_Xn_established_01 },
7113
  { &hf_e2ap_hO_validated_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_hO_validated_01 },
7114
  { &hf_e2ap_version        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_65535_ },
7115
  { NULL, 0, 0, NULL }
7116
};
7117
7118
static unsigned
7119
0
dissect_e2ap_NeighborCell_Item_Choice_E_UTRA(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7120
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7121
0
                                   ett_e2ap_NeighborCell_Item_Choice_E_UTRA, NeighborCell_Item_Choice_E_UTRA_sequence);
7122
7123
0
  return offset;
7124
0
}
7125
7126
7127
static const value_string e2ap_NeighborCell_Item_vals[] = {
7128
  {   0, "ranType-Choice-NR" },
7129
  {   1, "ranType-Choice-EUTRA" },
7130
  { 0, NULL }
7131
};
7132
7133
static const per_choice_t NeighborCell_Item_choice[] = {
7134
  {   0, &hf_e2ap_ranType_Choice_NR, ASN1_EXTENSION_ROOT    , dissect_e2ap_NeighborCell_Item_Choice_NR },
7135
  {   1, &hf_e2ap_ranType_Choice_EUTRA, ASN1_EXTENSION_ROOT    , dissect_e2ap_NeighborCell_Item_Choice_E_UTRA },
7136
  { 0, NULL, 0, NULL }
7137
};
7138
7139
static unsigned
7140
0
dissect_e2ap_NeighborCell_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7141
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7142
0
                                 ett_e2ap_NeighborCell_Item, NeighborCell_Item_choice,
7143
0
                                 NULL);
7144
7145
0
  return offset;
7146
0
}
7147
7148
7149
static const per_sequence_t NeighborCell_List_sequence_of[1] = {
7150
  { &hf_e2ap_NeighborCell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_NeighborCell_Item },
7151
};
7152
7153
static unsigned
7154
0
dissect_e2ap_NeighborCell_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7155
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7156
0
                                                  ett_e2ap_NeighborCell_List, NeighborCell_List_sequence_of,
7157
0
                                                  1, maxnoofNeighbourCell, false);
7158
7159
0
  return offset;
7160
0
}
7161
7162
7163
static const per_sequence_t NeighborRelation_Info_sequence[] = {
7164
  { &hf_e2ap_servingCellPCI , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ServingCell_PCI },
7165
  { &hf_e2ap_servingCellARFCN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ServingCell_ARFCN },
7166
  { &hf_e2ap_neighborCell_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NeighborCell_List },
7167
  { NULL, 0, 0, NULL }
7168
};
7169
7170
static unsigned
7171
0
dissect_e2ap_NeighborRelation_Info(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7172
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7173
0
                                   ett_e2ap_NeighborRelation_Info, NeighborRelation_Info_sequence);
7174
7175
0
  return offset;
7176
0
}
7177
7178
7179
static const value_string e2ap_RRC_State_vals[] = {
7180
  {   0, "rrc-connected" },
7181
  {   1, "rrc-inactive" },
7182
  {   2, "rrc-idle" },
7183
  {   3, "any" },
7184
  { 0, NULL }
7185
};
7186
7187
7188
static unsigned
7189
0
dissect_e2ap_RRC_State(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7190
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7191
0
                                     4, NULL, true, 0, NULL);
7192
7193
0
  return offset;
7194
0
}
7195
7196
7197
7198
static unsigned
7199
0
dissect_e2ap_RIC_EventTrigger_Cell_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7200
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7201
0
                                                            1U, 65535U, NULL, true);
7202
7203
0
  return offset;
7204
0
}
7205
7206
7207
static const per_sequence_t EventTrigger_Cell_Info_Item_Choice_Individual_sequence[] = {
7208
  { &hf_e2ap_cellGlobalID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
7209
  { NULL, 0, 0, NULL }
7210
};
7211
7212
static unsigned
7213
0
dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7214
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7215
0
                                   ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual, EventTrigger_Cell_Info_Item_Choice_Individual_sequence);
7216
7217
0
  return offset;
7218
0
}
7219
7220
7221
7222
static unsigned
7223
0
dissect_e2ap_RANParameter_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7224
0
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
7225
0
                                                            1U, UINT64_C(4294967296), NULL, true);
7226
7227
0
  return offset;
7228
0
}
7229
7230
7231
static const per_sequence_t RANParameter_Testing_LIST_sequence_of[1] = {
7232
  { &hf_e2ap_RANParameter_Testing_LIST_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7233
};
7234
7235
static unsigned
7236
0
dissect_e2ap_RANParameter_Testing_LIST(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7237
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7238
0
                                                  ett_e2ap_RANParameter_Testing_LIST, RANParameter_Testing_LIST_sequence_of,
7239
0
                                                  1, maxnoofItemsinList, false);
7240
7241
0
  return offset;
7242
0
}
7243
7244
7245
static const per_sequence_t RANParameter_Testing_Item_Choice_List_sequence[] = {
7246
  { &hf_e2ap_ranParameter_List_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_LIST },
7247
  { NULL, 0, 0, NULL }
7248
};
7249
7250
static unsigned
7251
0
dissect_e2ap_RANParameter_Testing_Item_Choice_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7252
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7253
0
                                   ett_e2ap_RANParameter_Testing_Item_Choice_List, RANParameter_Testing_Item_Choice_List_sequence);
7254
7255
0
  return offset;
7256
0
}
7257
7258
7259
static const per_sequence_t RANParameter_Testing_STRUCTURE_sequence_of[1] = {
7260
  { &hf_e2ap_RANParameter_Testing_STRUCTURE_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7261
};
7262
7263
static unsigned
7264
0
dissect_e2ap_RANParameter_Testing_STRUCTURE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7265
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7266
0
                                                  ett_e2ap_RANParameter_Testing_STRUCTURE, RANParameter_Testing_STRUCTURE_sequence_of,
7267
0
                                                  1, maxnoofParametersinStructure, false);
7268
7269
0
  return offset;
7270
0
}
7271
7272
7273
static const per_sequence_t RANParameter_Testing_Item_Choice_Structure_sequence[] = {
7274
  { &hf_e2ap_ranParameter_Structure_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_STRUCTURE },
7275
  { NULL, 0, 0, NULL }
7276
};
7277
7278
static unsigned
7279
0
dissect_e2ap_RANParameter_Testing_Item_Choice_Structure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7280
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7281
0
                                   ett_e2ap_RANParameter_Testing_Item_Choice_Structure, RANParameter_Testing_Item_Choice_Structure_sequence);
7282
7283
0
  return offset;
7284
0
}
7285
7286
7287
7288
static unsigned
7289
0
dissect_e2ap_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7290
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
7291
7292
0
  return offset;
7293
0
}
7294
7295
7296
7297
static unsigned
7298
0
dissect_e2ap_REAL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7299
0
  offset = dissect_per_real(tvb, offset, actx, tree, hf_index, NULL);
7300
7301
0
  return offset;
7302
0
}
7303
7304
7305
7306
static unsigned
7307
0
dissect_e2ap_BIT_STRING(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7308
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7309
0
                                     NO_BOUND, NO_BOUND, false, NULL, 0, NULL, NULL);
7310
7311
0
  return offset;
7312
0
}
7313
7314
7315
7316
static unsigned
7317
0
dissect_e2ap_OCTET_STRING(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7318
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7319
0
                                       NO_BOUND, NO_BOUND, false, NULL);
7320
7321
0
  return offset;
7322
0
}
7323
7324
7325
7326
static unsigned
7327
0
dissect_e2ap_PrintableString(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7328
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
7329
0
                                          NO_BOUND, NO_BOUND, false,
7330
0
                                          NULL);
7331
7332
0
  return offset;
7333
0
}
7334
7335
7336
static const value_string e2ap_RANParameter_Value_vals[] = {
7337
  {   0, "valueBoolean" },
7338
  {   1, "valueInt" },
7339
  {   2, "valueReal" },
7340
  {   3, "valueBitS" },
7341
  {   4, "valueOctS" },
7342
  {   5, "valuePrintableString" },
7343
  { 0, NULL }
7344
};
7345
7346
static const per_choice_t RANParameter_Value_choice[] = {
7347
  {   0, &hf_e2ap_valueBoolean   , ASN1_EXTENSION_ROOT    , dissect_e2ap_BOOLEAN },
7348
  {   1, &hf_e2ap_valueInt       , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
7349
  {   2, &hf_e2ap_valueReal      , ASN1_EXTENSION_ROOT    , dissect_e2ap_REAL },
7350
  {   3, &hf_e2ap_valueBitS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING },
7351
  {   4, &hf_e2ap_valueOctS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_OCTET_STRING },
7352
  {   5, &hf_e2ap_valuePrintableString, ASN1_EXTENSION_ROOT    , dissect_e2ap_PrintableString },
7353
  { 0, NULL, 0, NULL }
7354
};
7355
7356
static unsigned
7357
0
dissect_e2ap_RANParameter_Value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7358
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7359
0
                                 ett_e2ap_RANParameter_Value, RANParameter_Value_choice,
7360
0
                                 NULL);
7361
7362
0
  return offset;
7363
0
}
7364
7365
7366
static const per_sequence_t RANParameter_Testing_Item_Choice_ElementTrue_sequence[] = {
7367
  { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
7368
  { NULL, 0, 0, NULL }
7369
};
7370
7371
static unsigned
7372
0
dissect_e2ap_RANParameter_Testing_Item_Choice_ElementTrue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7373
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7374
0
                                   ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue, RANParameter_Testing_Item_Choice_ElementTrue_sequence);
7375
7376
0
  return offset;
7377
0
}
7378
7379
7380
static const value_string e2ap_T_ranP_Choice_comparison_vals[] = {
7381
  {   0, "equal" },
7382
  {   1, "difference" },
7383
  {   2, "greaterthan" },
7384
  {   3, "lessthan" },
7385
  {   4, "contains" },
7386
  {   5, "starts-with" },
7387
  { 0, NULL }
7388
};
7389
7390
7391
static unsigned
7392
0
dissect_e2ap_T_ranP_Choice_comparison(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7393
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7394
0
                                     6, NULL, true, 0, NULL);
7395
7396
0
  return offset;
7397
0
}
7398
7399
7400
static const value_string e2ap_T_ranP_Choice_presence_vals[] = {
7401
  {   0, "present" },
7402
  {   1, "configured" },
7403
  {   2, "rollover" },
7404
  {   3, "non-zero" },
7405
  { 0, NULL }
7406
};
7407
7408
7409
static unsigned
7410
0
dissect_e2ap_T_ranP_Choice_presence(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7411
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7412
0
                                     4, NULL, true, 0, NULL);
7413
7414
0
  return offset;
7415
0
}
7416
7417
7418
static const value_string e2ap_RANParameter_TestingCondition_vals[] = {
7419
  {   0, "ranP-Choice-comparison" },
7420
  {   1, "ranP-Choice-presence" },
7421
  { 0, NULL }
7422
};
7423
7424
static const per_choice_t RANParameter_TestingCondition_choice[] = {
7425
  {   0, &hf_e2ap_ranP_Choice_comparison, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_ranP_Choice_comparison },
7426
  {   1, &hf_e2ap_ranP_Choice_presence, ASN1_EXTENSION_ROOT    , dissect_e2ap_T_ranP_Choice_presence },
7427
  { 0, NULL, 0, NULL }
7428
};
7429
7430
static unsigned
7431
0
dissect_e2ap_RANParameter_TestingCondition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7432
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7433
0
                                 ett_e2ap_RANParameter_TestingCondition, RANParameter_TestingCondition_choice,
7434
0
                                 NULL);
7435
7436
0
  return offset;
7437
0
}
7438
7439
7440
static const per_sequence_t RANParameter_Testing_Item_Choice_ElementFalse_sequence[] = {
7441
  { &hf_e2ap_ranParameter_TestCondition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_TestingCondition },
7442
  { &hf_e2ap_ranParameter_Value, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Value },
7443
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
7444
  { NULL, 0, 0, NULL }
7445
};
7446
7447
static unsigned
7448
0
dissect_e2ap_RANParameter_Testing_Item_Choice_ElementFalse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7449
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7450
0
                                   ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse, RANParameter_Testing_Item_Choice_ElementFalse_sequence);
7451
7452
0
  return offset;
7453
0
}
7454
7455
7456
static const value_string e2ap_T_ranParameter_Type_vals[] = {
7457
  {   0, "ranP-Choice-List" },
7458
  {   1, "ranP-Choice-Structure" },
7459
  {   2, "ranP-Choice-ElementTrue" },
7460
  {   3, "ranP-Choice-ElementFalse" },
7461
  { 0, NULL }
7462
};
7463
7464
static const per_choice_t T_ranParameter_Type_choice[] = {
7465
  {   0, &hf_e2ap_ranP_Choice_List_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Testing_Item_Choice_List },
7466
  {   1, &hf_e2ap_ranP_Choice_Structure_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Testing_Item_Choice_Structure },
7467
  {   2, &hf_e2ap_ranP_Choice_ElementTrue_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Testing_Item_Choice_ElementTrue },
7468
  {   3, &hf_e2ap_ranP_Choice_ElementFalse_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Testing_Item_Choice_ElementFalse },
7469
  { 0, NULL, 0, NULL }
7470
};
7471
7472
static unsigned
7473
0
dissect_e2ap_T_ranParameter_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7474
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7475
0
                                 ett_e2ap_T_ranParameter_Type, T_ranParameter_Type_choice,
7476
0
                                 NULL);
7477
7478
0
  return offset;
7479
0
}
7480
7481
7482
static const per_sequence_t RANParameter_Testing_Item_sequence[] = {
7483
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7484
  { &hf_e2ap_ranParameter_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ranParameter_Type },
7485
  { NULL, 0, 0, NULL }
7486
};
7487
7488
static unsigned
7489
0
dissect_e2ap_RANParameter_Testing_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7490
  // RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-List -> RANParameter-Testing-LIST -> RANParameter-Testing-Item
7491
0
  increment_dissection_depth_by_n(actx->pinfo, 4);
7492
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7493
0
                                   ett_e2ap_RANParameter_Testing_Item, RANParameter_Testing_Item_sequence);
7494
7495
0
  decrement_dissection_depth_by_n(actx->pinfo, 4);
7496
0
  return offset;
7497
0
}
7498
7499
7500
static const per_sequence_t RANParameter_Testing_sequence_of[1] = {
7501
  { &hf_e2ap_RANParameter_Testing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7502
};
7503
7504
static unsigned
7505
0
dissect_e2ap_RANParameter_Testing(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7506
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7507
0
                                                  ett_e2ap_RANParameter_Testing, RANParameter_Testing_sequence_of,
7508
0
                                                  1, maxnoofRANparamTest, false);
7509
7510
0
  return offset;
7511
0
}
7512
7513
7514
static const per_sequence_t EventTrigger_Cell_Info_Item_Choice_Group_sequence[] = {
7515
  { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
7516
  { NULL, 0, 0, NULL }
7517
};
7518
7519
static unsigned
7520
0
dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Group(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7521
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7522
0
                                   ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group, EventTrigger_Cell_Info_Item_Choice_Group_sequence);
7523
7524
0
  return offset;
7525
0
}
7526
7527
7528
static const value_string e2ap_T_cellType_vals[] = {
7529
  {   0, "cellType-Choice-Individual" },
7530
  {   1, "cellType-Choice-Group" },
7531
  { 0, NULL }
7532
};
7533
7534
static const per_choice_t T_cellType_choice[] = {
7535
  {   0, &hf_e2ap_cellType_Choice_Individual, ASN1_EXTENSION_ROOT    , dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual },
7536
  {   1, &hf_e2ap_cellType_Choice_Group, ASN1_EXTENSION_ROOT    , dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Group },
7537
  { 0, NULL, 0, NULL }
7538
};
7539
7540
static unsigned
7541
0
dissect_e2ap_T_cellType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7542
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7543
0
                                 ett_e2ap_T_cellType, T_cellType_choice,
7544
0
                                 NULL);
7545
7546
0
  return offset;
7547
0
}
7548
7549
7550
static const per_sequence_t EventTrigger_Cell_Info_Item_sequence[] = {
7551
  { &hf_e2ap_eventTriggerCellID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_Cell_ID },
7552
  { &hf_e2ap_cellType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_cellType },
7553
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
7554
  { NULL, 0, 0, NULL }
7555
};
7556
7557
static unsigned
7558
0
dissect_e2ap_EventTrigger_Cell_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7559
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7560
0
                                   ett_e2ap_EventTrigger_Cell_Info_Item, EventTrigger_Cell_Info_Item_sequence);
7561
7562
0
  return offset;
7563
0
}
7564
7565
7566
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item_sequence_of[1] = {
7567
  { &hf_e2ap_cellInfo_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_Cell_Info_Item },
7568
};
7569
7570
static unsigned
7571
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7572
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7573
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item, SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item_sequence_of,
7574
0
                                                  1, maxnoofCellInfo, false);
7575
7576
0
  return offset;
7577
0
}
7578
7579
7580
static const per_sequence_t EventTrigger_Cell_Info_sequence[] = {
7581
  { &hf_e2ap_cellInfo_List  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item },
7582
  { NULL, 0, 0, NULL }
7583
};
7584
7585
static unsigned
7586
0
dissect_e2ap_EventTrigger_Cell_Info(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7587
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7588
0
                                   ett_e2ap_EventTrigger_Cell_Info, EventTrigger_Cell_Info_sequence);
7589
7590
0
  return offset;
7591
0
}
7592
7593
7594
7595
static unsigned
7596
0
dissect_e2ap_RIC_EventTrigger_UE_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7597
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7598
0
                                                            1U, 65535U, NULL, true);
7599
7600
0
  return offset;
7601
0
}
7602
7603
7604
static const per_sequence_t EventTrigger_UE_Info_Item_Choice_Individual_sequence[] = {
7605
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
7606
  { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Testing },
7607
  { NULL, 0, 0, NULL }
7608
};
7609
7610
static unsigned
7611
0
dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Individual(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7612
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7613
0
                                   ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual, EventTrigger_UE_Info_Item_Choice_Individual_sequence);
7614
7615
0
  return offset;
7616
0
}
7617
7618
7619
static const per_sequence_t EventTrigger_UE_Info_Item_Choice_Group_sequence[] = {
7620
  { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
7621
  { NULL, 0, 0, NULL }
7622
};
7623
7624
static unsigned
7625
0
dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Group(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7626
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7627
0
                                   ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group, EventTrigger_UE_Info_Item_Choice_Group_sequence);
7628
7629
0
  return offset;
7630
0
}
7631
7632
7633
static const value_string e2ap_T_ueType_vals[] = {
7634
  {   0, "ueType-Choice-Individual" },
7635
  {   1, "ueType-Choice-Group" },
7636
  { 0, NULL }
7637
};
7638
7639
static const per_choice_t T_ueType_choice[] = {
7640
  {   0, &hf_e2ap_ueType_Choice_Individual, ASN1_EXTENSION_ROOT    , dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Individual },
7641
  {   1, &hf_e2ap_ueType_Choice_Group, ASN1_EXTENSION_ROOT    , dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Group },
7642
  { 0, NULL, 0, NULL }
7643
};
7644
7645
static unsigned
7646
0
dissect_e2ap_T_ueType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7647
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7648
0
                                 ett_e2ap_T_ueType, T_ueType_choice,
7649
0
                                 NULL);
7650
7651
0
  return offset;
7652
0
}
7653
7654
7655
static const per_sequence_t EventTrigger_UE_Info_Item_sequence[] = {
7656
  { &hf_e2ap_eventTriggerUEID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_UE_ID },
7657
  { &hf_e2ap_ueType         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ueType },
7658
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
7659
  { NULL, 0, 0, NULL }
7660
};
7661
7662
static unsigned
7663
0
dissect_e2ap_EventTrigger_UE_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7664
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7665
0
                                   ett_e2ap_EventTrigger_UE_Info_Item, EventTrigger_UE_Info_Item_sequence);
7666
7667
0
  return offset;
7668
0
}
7669
7670
7671
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item_sequence_of[1] = {
7672
  { &hf_e2ap_ueInfo_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_UE_Info_Item },
7673
};
7674
7675
static unsigned
7676
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7677
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7678
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item, SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item_sequence_of,
7679
0
                                                  1, maxnoofUEInfo, false);
7680
7681
0
  return offset;
7682
0
}
7683
7684
7685
static const per_sequence_t EventTrigger_UE_Info_sequence[] = {
7686
  { &hf_e2ap_ueInfo_List    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item },
7687
  { NULL, 0, 0, NULL }
7688
};
7689
7690
static unsigned
7691
0
dissect_e2ap_EventTrigger_UE_Info(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7692
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7693
0
                                   ett_e2ap_EventTrigger_UE_Info, EventTrigger_UE_Info_sequence);
7694
7695
0
  return offset;
7696
0
}
7697
7698
7699
7700
static unsigned
7701
0
dissect_e2ap_RIC_EventTrigger_UEevent_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7702
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7703
0
                                                            1U, 65535U, NULL, true);
7704
7705
0
  return offset;
7706
0
}
7707
7708
7709
static const per_sequence_t EventTrigger_UEevent_Info_Item_sequence[] = {
7710
  { &hf_e2ap_ueEventID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_UEevent_ID },
7711
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
7712
  { NULL, 0, 0, NULL }
7713
};
7714
7715
static unsigned
7716
0
dissect_e2ap_EventTrigger_UEevent_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7717
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7718
0
                                   ett_e2ap_EventTrigger_UEevent_Info_Item, EventTrigger_UEevent_Info_Item_sequence);
7719
7720
0
  return offset;
7721
0
}
7722
7723
7724
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item_sequence_of[1] = {
7725
  { &hf_e2ap_ueEvent_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_UEevent_Info_Item },
7726
};
7727
7728
static unsigned
7729
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7730
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7731
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item, SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item_sequence_of,
7732
0
                                                  1, maxnoofUEeventInfo, false);
7733
7734
0
  return offset;
7735
0
}
7736
7737
7738
static const per_sequence_t EventTrigger_UEevent_Info_sequence[] = {
7739
  { &hf_e2ap_ueEvent_List   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item },
7740
  { NULL, 0, 0, NULL }
7741
};
7742
7743
static unsigned
7744
0
dissect_e2ap_EventTrigger_UEevent_Info(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7745
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7746
0
                                   ett_e2ap_EventTrigger_UEevent_Info, EventTrigger_UEevent_Info_sequence);
7747
7748
0
  return offset;
7749
0
}
7750
7751
7752
7753
static unsigned
7754
0
dissect_e2ap_RANParameter_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7755
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
7756
0
                                          1, 150, true,
7757
0
                                          NULL);
7758
7759
0
  return offset;
7760
0
}
7761
7762
7763
static const per_sequence_t RANParameter_Definition_Choice_LIST_Item_sequence[] = {
7764
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7765
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
7766
  { &hf_e2ap_ranParameter_Definition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
7767
  { NULL, 0, 0, NULL }
7768
};
7769
7770
static unsigned
7771
0
dissect_e2ap_RANParameter_Definition_Choice_LIST_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7772
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7773
0
                                   ett_e2ap_RANParameter_Definition_Choice_LIST_Item, RANParameter_Definition_Choice_LIST_Item_sequence);
7774
7775
0
  return offset;
7776
0
}
7777
7778
7779
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item_sequence_of[1] = {
7780
  { &hf_e2ap_ranParameter_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice_LIST_Item },
7781
};
7782
7783
static unsigned
7784
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7785
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7786
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item, SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item_sequence_of,
7787
0
                                                  1, maxnoofItemsinList, false);
7788
7789
0
  return offset;
7790
0
}
7791
7792
7793
static const per_sequence_t RANParameter_Definition_Choice_LIST_sequence[] = {
7794
  { &hf_e2ap_ranParameter_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item },
7795
  { NULL, 0, 0, NULL }
7796
};
7797
7798
static unsigned
7799
0
dissect_e2ap_RANParameter_Definition_Choice_LIST(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7800
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7801
0
                                   ett_e2ap_RANParameter_Definition_Choice_LIST, RANParameter_Definition_Choice_LIST_sequence);
7802
7803
0
  return offset;
7804
0
}
7805
7806
7807
static const per_sequence_t RANParameter_Definition_Choice_STRUCTURE_Item_sequence[] = {
7808
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7809
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
7810
  { &hf_e2ap_ranParameter_Definition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
7811
  { NULL, 0, 0, NULL }
7812
};
7813
7814
static unsigned
7815
0
dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7816
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7817
0
                                   ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item, RANParameter_Definition_Choice_STRUCTURE_Item_sequence);
7818
7819
0
  return offset;
7820
0
}
7821
7822
7823
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item_sequence_of[1] = {
7824
  { &hf_e2ap_ranParameter_STRUCTURE_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item },
7825
};
7826
7827
static unsigned
7828
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7829
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7830
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item, SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item_sequence_of,
7831
0
                                                  1, maxnoofParametersinStructure, false);
7832
7833
0
  return offset;
7834
0
}
7835
7836
7837
static const per_sequence_t RANParameter_Definition_Choice_STRUCTURE_sequence[] = {
7838
  { &hf_e2ap_ranParameter_STRUCTURE, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item },
7839
  { NULL, 0, 0, NULL }
7840
};
7841
7842
static unsigned
7843
0
dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7844
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7845
0
                                   ett_e2ap_RANParameter_Definition_Choice_STRUCTURE, RANParameter_Definition_Choice_STRUCTURE_sequence);
7846
7847
0
  return offset;
7848
0
}
7849
7850
7851
static const value_string e2ap_RANParameter_Definition_Choice_vals[] = {
7852
  {   0, "choiceLIST" },
7853
  {   1, "choiceSTRUCTURE" },
7854
  { 0, NULL }
7855
};
7856
7857
static const per_choice_t RANParameter_Definition_Choice_choice[] = {
7858
  {   0, &hf_e2ap_choiceLIST     , ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Definition_Choice_LIST },
7859
  {   1, &hf_e2ap_choiceSTRUCTURE, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE },
7860
  { 0, NULL, 0, NULL }
7861
};
7862
7863
static unsigned
7864
0
dissect_e2ap_RANParameter_Definition_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7865
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7866
0
                                 ett_e2ap_RANParameter_Definition_Choice, RANParameter_Definition_Choice_choice,
7867
0
                                 NULL);
7868
7869
0
  return offset;
7870
0
}
7871
7872
7873
static const per_sequence_t RANParameter_Definition_sequence[] = {
7874
  { &hf_e2ap_ranParameter_Definition_Choice, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice },
7875
  { NULL, 0, 0, NULL }
7876
};
7877
7878
static unsigned
7879
0
dissect_e2ap_RANParameter_Definition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7880
  // RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-LIST -> RANParameter-Definition-Choice-LIST/ranParameter-List -> RANParameter-Definition-Choice-LIST-Item -> RANParameter-Definition
7881
0
  increment_dissection_depth_by_n(actx->pinfo, 5);
7882
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7883
0
                                   ett_e2ap_RANParameter_Definition, RANParameter_Definition_sequence);
7884
7885
0
  decrement_dissection_depth_by_n(actx->pinfo, 5);
7886
0
  return offset;
7887
0
}
7888
7889
7890
static const per_sequence_t RANParameter_ValueType_Choice_ElementTrue_sequence[] = {
7891
  { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
7892
  { NULL, 0, 0, NULL }
7893
};
7894
7895
static unsigned
7896
0
dissect_e2ap_RANParameter_ValueType_Choice_ElementTrue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7897
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7898
0
                                   ett_e2ap_RANParameter_ValueType_Choice_ElementTrue, RANParameter_ValueType_Choice_ElementTrue_sequence);
7899
7900
0
  return offset;
7901
0
}
7902
7903
7904
static const per_sequence_t RANParameter_ValueType_Choice_ElementFalse_sequence[] = {
7905
  { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Value },
7906
  { NULL, 0, 0, NULL }
7907
};
7908
7909
static unsigned
7910
0
dissect_e2ap_RANParameter_ValueType_Choice_ElementFalse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7911
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7912
0
                                   ett_e2ap_RANParameter_ValueType_Choice_ElementFalse, RANParameter_ValueType_Choice_ElementFalse_sequence);
7913
7914
0
  return offset;
7915
0
}
7916
7917
7918
static const per_sequence_t RANParameter_STRUCTURE_Item_sequence[] = {
7919
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7920
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
7921
  { NULL, 0, 0, NULL }
7922
};
7923
7924
static unsigned
7925
0
dissect_e2ap_RANParameter_STRUCTURE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7926
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7927
0
                                   ett_e2ap_RANParameter_STRUCTURE_Item, RANParameter_STRUCTURE_Item_sequence);
7928
7929
0
  return offset;
7930
0
}
7931
7932
7933
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item_sequence_of[1] = {
7934
  { &hf_e2ap_sequence_of_ranParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE_Item },
7935
};
7936
7937
static unsigned
7938
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7939
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7940
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item, SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item_sequence_of,
7941
0
                                                  1, maxnoofParametersinStructure, false);
7942
7943
0
  return offset;
7944
0
}
7945
7946
7947
static const per_sequence_t RANParameter_STRUCTURE_sequence[] = {
7948
  { &hf_e2ap_sequence_of_ranParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item },
7949
  { NULL, 0, 0, NULL }
7950
};
7951
7952
static unsigned
7953
0
dissect_e2ap_RANParameter_STRUCTURE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7954
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7955
0
                                   ett_e2ap_RANParameter_STRUCTURE, RANParameter_STRUCTURE_sequence);
7956
7957
0
  return offset;
7958
0
}
7959
7960
7961
static const per_sequence_t RANParameter_ValueType_Choice_Structure_sequence[] = {
7962
  { &hf_e2ap_ranParameter_Structure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE },
7963
  { NULL, 0, 0, NULL }
7964
};
7965
7966
static unsigned
7967
0
dissect_e2ap_RANParameter_ValueType_Choice_Structure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7968
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7969
0
                                   ett_e2ap_RANParameter_ValueType_Choice_Structure, RANParameter_ValueType_Choice_Structure_sequence);
7970
7971
0
  return offset;
7972
0
}
7973
7974
7975
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE_sequence_of[1] = {
7976
  { &hf_e2ap_list_of_ranParameter_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE },
7977
};
7978
7979
static unsigned
7980
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7981
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7982
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE, SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE_sequence_of,
7983
0
                                                  1, maxnoofItemsinList, false);
7984
7985
0
  return offset;
7986
0
}
7987
7988
7989
static const per_sequence_t RANParameter_LIST_sequence[] = {
7990
  { &hf_e2ap_list_of_ranParameter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE },
7991
  { NULL, 0, 0, NULL }
7992
};
7993
7994
static unsigned
7995
0
dissect_e2ap_RANParameter_LIST(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7996
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7997
0
                                   ett_e2ap_RANParameter_LIST, RANParameter_LIST_sequence);
7998
7999
0
  return offset;
8000
0
}
8001
8002
8003
static const per_sequence_t RANParameter_ValueType_Choice_List_sequence[] = {
8004
  { &hf_e2ap_ranParameter_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_LIST },
8005
  { NULL, 0, 0, NULL }
8006
};
8007
8008
static unsigned
8009
0
dissect_e2ap_RANParameter_ValueType_Choice_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8010
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8011
0
                                   ett_e2ap_RANParameter_ValueType_Choice_List, RANParameter_ValueType_Choice_List_sequence);
8012
8013
0
  return offset;
8014
0
}
8015
8016
8017
static const value_string e2ap_RANParameter_ValueType_vals[] = {
8018
  {   0, "ranP-Choice-ElementTrue" },
8019
  {   1, "ranP-Choice-ElementFalse" },
8020
  {   2, "ranP-Choice-Structure" },
8021
  {   3, "ranP-Choice-List" },
8022
  { 0, NULL }
8023
};
8024
8025
static const per_choice_t RANParameter_ValueType_choice[] = {
8026
  {   0, &hf_e2ap_ranP_Choice_ElementTrue, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_ValueType_Choice_ElementTrue },
8027
  {   1, &hf_e2ap_ranP_Choice_ElementFalse, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_ValueType_Choice_ElementFalse },
8028
  {   2, &hf_e2ap_ranP_Choice_Structure, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_ValueType_Choice_Structure },
8029
  {   3, &hf_e2ap_ranP_Choice_List, ASN1_EXTENSION_ROOT    , dissect_e2ap_RANParameter_ValueType_Choice_List },
8030
  { 0, NULL, 0, NULL }
8031
};
8032
8033
static unsigned
8034
0
dissect_e2ap_RANParameter_ValueType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8035
  // RANParameter-ValueType -> RANParameter-ValueType-Choice-Structure -> RANParameter-STRUCTURE -> RANParameter-STRUCTURE/sequence-of-ranParameters -> RANParameter-STRUCTURE-Item -> RANParameter-ValueType
8036
0
  increment_dissection_depth_by_n(actx->pinfo, 5);
8037
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8038
0
                                 ett_e2ap_RANParameter_ValueType, RANParameter_ValueType_choice,
8039
0
                                 NULL);
8040
8041
0
  decrement_dissection_depth_by_n(actx->pinfo, 5);
8042
0
  return offset;
8043
0
}
8044
8045
8046
8047
static unsigned
8048
0
dissect_e2ap_RAN_CallProcess_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8049
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8050
0
                                                            1U, 232U, NULL, true);
8051
8052
0
  return offset;
8053
0
}
8054
8055
8056
8057
static unsigned
8058
0
dissect_e2ap_RIC_CallProcessType_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8059
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8060
0
                                                            1U, 65535U, NULL, true);
8061
8062
0
  return offset;
8063
0
}
8064
8065
8066
8067
static unsigned
8068
0
dissect_e2ap_RIC_CallProcessType_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8069
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8070
0
                                          1, 150, true,
8071
0
                                          NULL);
8072
8073
0
  return offset;
8074
0
}
8075
8076
8077
8078
static unsigned
8079
0
dissect_e2ap_RIC_CallProcessBreakpoint_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8080
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8081
0
                                                            1U, 65535U, NULL, true);
8082
8083
0
  return offset;
8084
0
}
8085
8086
8087
8088
static unsigned
8089
0
dissect_e2ap_RIC_CallProcessBreakpoint_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8090
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8091
0
                                          1, 150, true,
8092
0
                                          NULL);
8093
8094
0
  return offset;
8095
0
}
8096
8097
8098
8099
static unsigned
8100
0
dissect_e2ap_RIC_ControlAction_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8101
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8102
0
                                                            1U, 65535U, NULL, true);
8103
8104
0
  return offset;
8105
0
}
8106
8107
8108
8109
static unsigned
8110
0
dissect_e2ap_RIC_ControlAction_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8111
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8112
0
                                          1, 150, true,
8113
0
                                          NULL);
8114
8115
0
  return offset;
8116
0
}
8117
8118
8119
8120
static unsigned
8121
0
dissect_e2ap_RIC_EventTriggerCondition_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8122
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8123
0
                                                            1U, 65535U, NULL, true);
8124
8125
0
  return offset;
8126
0
}
8127
8128
8129
8130
static unsigned
8131
0
dissect_e2ap_RIC_InsertIndication_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8132
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8133
0
                                                            1U, 65535U, NULL, true);
8134
8135
0
  return offset;
8136
0
}
8137
8138
8139
8140
static unsigned
8141
0
dissect_e2ap_RIC_InsertIndication_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8142
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8143
0
                                          1, 150, true,
8144
0
                                          NULL);
8145
8146
0
  return offset;
8147
0
}
8148
8149
8150
static const per_sequence_t RIC_PolicyAction_RANParameter_Item_sequence[] = {
8151
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8152
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
8153
  { NULL, 0, 0, NULL }
8154
};
8155
8156
static unsigned
8157
0
dissect_e2ap_RIC_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8158
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8159
0
                                   ett_e2ap_RIC_PolicyAction_RANParameter_Item, RIC_PolicyAction_RANParameter_Item_sequence);
8160
8161
0
  return offset;
8162
0
}
8163
8164
8165
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item_sequence_of[1] = {
8166
  { &hf_e2ap_ranParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyAction_RANParameter_Item },
8167
};
8168
8169
static unsigned
8170
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8171
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8172
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item_sequence_of,
8173
0
                                                  1, maxnoofAssociatedRANParameters, false);
8174
8175
0
  return offset;
8176
0
}
8177
8178
8179
static const value_string e2ap_T_ric_PolicyDecision_vals[] = {
8180
  {   0, "accept" },
8181
  {   1, "reject" },
8182
  { 0, NULL }
8183
};
8184
8185
8186
static unsigned
8187
0
dissect_e2ap_T_ric_PolicyDecision(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8188
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8189
0
                                     2, NULL, true, 0, NULL);
8190
8191
0
  return offset;
8192
0
}
8193
8194
8195
static const per_sequence_t RIC_PolicyAction_sequence[] = {
8196
  { &hf_e2ap_ric_PolicyAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
8197
  { &hf_e2ap_ranParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item },
8198
  { &hf_e2ap_ric_PolicyDecision, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_T_ric_PolicyDecision },
8199
  { NULL, 0, 0, NULL }
8200
};
8201
8202
static unsigned
8203
0
dissect_e2ap_RIC_PolicyAction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8204
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8205
0
                                   ett_e2ap_RIC_PolicyAction, RIC_PolicyAction_sequence);
8206
8207
0
  return offset;
8208
0
}
8209
8210
8211
static const per_sequence_t MessageType_Choice_NI_sequence[] = {
8212
  { &hf_e2ap_nI_Type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_InterfaceType },
8213
  { &hf_e2ap_nI_Identifier  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_InterfaceIdentifier },
8214
  { &hf_e2ap_nI_Message     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_Interface_MessageID },
8215
  { NULL, 0, 0, NULL }
8216
};
8217
8218
static unsigned
8219
0
dissect_e2ap_MessageType_Choice_NI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8220
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8221
0
                                   ett_e2ap_MessageType_Choice_NI, MessageType_Choice_NI_sequence);
8222
8223
0
  return offset;
8224
0
}
8225
8226
8227
static const per_sequence_t MessageType_Choice_RRC_sequence[] = {
8228
  { &hf_e2ap_rRC_Message    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RRC_MessageID },
8229
  { NULL, 0, 0, NULL }
8230
};
8231
8232
static unsigned
8233
0
dissect_e2ap_MessageType_Choice_RRC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8234
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8235
0
                                   ett_e2ap_MessageType_Choice_RRC, MessageType_Choice_RRC_sequence);
8236
8237
0
  return offset;
8238
0
}
8239
8240
8241
static const value_string e2ap_MessageType_Choice_vals[] = {
8242
  {   0, "messageType-Choice-NI" },
8243
  {   1, "messageType-Choice-RRC" },
8244
  { 0, NULL }
8245
};
8246
8247
static const per_choice_t MessageType_Choice_choice[] = {
8248
  {   0, &hf_e2ap_messageType_Choice_NI, ASN1_EXTENSION_ROOT    , dissect_e2ap_MessageType_Choice_NI },
8249
  {   1, &hf_e2ap_messageType_Choice_RRC, ASN1_EXTENSION_ROOT    , dissect_e2ap_MessageType_Choice_RRC },
8250
  { 0, NULL, 0, NULL }
8251
};
8252
8253
static unsigned
8254
0
dissect_e2ap_MessageType_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8255
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8256
0
                                 ett_e2ap_MessageType_Choice, MessageType_Choice_choice,
8257
0
                                 NULL);
8258
8259
0
  return offset;
8260
0
}
8261
8262
8263
static const value_string e2ap_T_messageDirection_vals[] = {
8264
  {   0, "incoming" },
8265
  {   1, "outgoing" },
8266
  { 0, NULL }
8267
};
8268
8269
8270
static unsigned
8271
0
dissect_e2ap_T_messageDirection(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8272
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8273
0
                                     2, NULL, true, 0, NULL);
8274
8275
0
  return offset;
8276
0
}
8277
8278
8279
static const per_sequence_t E2SM_RC_EventTrigger_Format1_Item_sequence[] = {
8280
  { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8281
  { &hf_e2ap_messageType_01 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MessageType_Choice },
8282
  { &hf_e2ap_messageDirection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_messageDirection },
8283
  { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UE_Info },
8284
  { &hf_e2ap_associatedUEEvent, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UEevent_Info },
8285
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
8286
  { NULL, 0, 0, NULL }
8287
};
8288
8289
static unsigned
8290
0
dissect_e2ap_E2SM_RC_EventTrigger_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8291
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8292
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format1_Item, E2SM_RC_EventTrigger_Format1_Item_sequence);
8293
8294
0
  return offset;
8295
0
}
8296
8297
8298
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item_sequence_of[1] = {
8299
  { &hf_e2ap_message_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format1_Item },
8300
};
8301
8302
static unsigned
8303
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8304
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8305
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item, SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item_sequence_of,
8306
0
                                                  1, maxnoofMessages, false);
8307
8308
0
  return offset;
8309
0
}
8310
8311
8312
static const per_sequence_t E2SM_RC_EventTrigger_Format1_sequence[] = {
8313
  { &hf_e2ap_message_List   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item },
8314
  { &hf_e2ap_globalAssociatedUEInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UE_Info },
8315
  { NULL, 0, 0, NULL }
8316
};
8317
8318
static unsigned
8319
0
dissect_e2ap_E2SM_RC_EventTrigger_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8320
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8321
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format1, E2SM_RC_EventTrigger_Format1_sequence);
8322
8323
0
  return offset;
8324
0
}
8325
8326
8327
static const per_sequence_t E2SM_RC_EventTrigger_Format2_sequence[] = {
8328
  { &hf_e2ap_ric_callProcessType_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_ID },
8329
  { &hf_e2ap_ric_callProcessBreakpoint_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_ID },
8330
  { &hf_e2ap_associatedE2NodeInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Testing },
8331
  { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UE_Info },
8332
  { NULL, 0, 0, NULL }
8333
};
8334
8335
static unsigned
8336
0
dissect_e2ap_E2SM_RC_EventTrigger_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8337
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8338
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format2, E2SM_RC_EventTrigger_Format2_sequence);
8339
8340
0
  return offset;
8341
0
}
8342
8343
8344
8345
static unsigned
8346
0
dissect_e2ap_INTEGER_1_512_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8347
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8348
0
                                                            1U, 512U, NULL, true);
8349
8350
0
  return offset;
8351
0
}
8352
8353
8354
static const per_sequence_t E2SM_RC_EventTrigger_Format3_Item_sequence[] = {
8355
  { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8356
  { &hf_e2ap_e2NodeInfoChange_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_512_ },
8357
  { &hf_e2ap_associatedCellInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_Cell_Info },
8358
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
8359
  { NULL, 0, 0, NULL }
8360
};
8361
8362
static unsigned
8363
0
dissect_e2ap_E2SM_RC_EventTrigger_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8364
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8365
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format3_Item, E2SM_RC_EventTrigger_Format3_Item_sequence);
8366
8367
0
  return offset;
8368
0
}
8369
8370
8371
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item_sequence_of[1] = {
8372
  { &hf_e2ap_e2NodeInfoChange_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format3_Item },
8373
};
8374
8375
static unsigned
8376
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8377
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8378
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item, SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item_sequence_of,
8379
0
                                                  1, maxnoofE2InfoChanges, false);
8380
8381
0
  return offset;
8382
0
}
8383
8384
8385
static const per_sequence_t E2SM_RC_EventTrigger_Format3_sequence[] = {
8386
  { &hf_e2ap_e2NodeInfoChange_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item },
8387
  { NULL, 0, 0, NULL }
8388
};
8389
8390
static unsigned
8391
0
dissect_e2ap_E2SM_RC_EventTrigger_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8392
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8393
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format3, E2SM_RC_EventTrigger_Format3_sequence);
8394
8395
0
  return offset;
8396
0
}
8397
8398
8399
static const per_sequence_t TriggerType_Choice_RRCstate_Item_sequence[] = {
8400
  { &hf_e2ap_stateChangedTo , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RRC_State },
8401
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
8402
  { NULL, 0, 0, NULL }
8403
};
8404
8405
static unsigned
8406
0
dissect_e2ap_TriggerType_Choice_RRCstate_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8407
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8408
0
                                   ett_e2ap_TriggerType_Choice_RRCstate_Item, TriggerType_Choice_RRCstate_Item_sequence);
8409
8410
0
  return offset;
8411
0
}
8412
8413
8414
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item_sequence_of[1] = {
8415
  { &hf_e2ap_rrcState_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_TriggerType_Choice_RRCstate_Item },
8416
};
8417
8418
static unsigned
8419
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8420
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8421
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item, SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item_sequence_of,
8422
0
                                                  1, maxnoofRRCstate, false);
8423
8424
0
  return offset;
8425
0
}
8426
8427
8428
static const per_sequence_t TriggerType_Choice_RRCstate_sequence[] = {
8429
  { &hf_e2ap_rrcState_List  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item },
8430
  { NULL, 0, 0, NULL }
8431
};
8432
8433
static unsigned
8434
0
dissect_e2ap_TriggerType_Choice_RRCstate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8435
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8436
0
                                   ett_e2ap_TriggerType_Choice_RRCstate, TriggerType_Choice_RRCstate_sequence);
8437
8438
0
  return offset;
8439
0
}
8440
8441
8442
static const per_sequence_t TriggerType_Choice_UEID_sequence[] = {
8443
  { &hf_e2ap_ueIDchange_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_512_ },
8444
  { NULL, 0, 0, NULL }
8445
};
8446
8447
static unsigned
8448
0
dissect_e2ap_TriggerType_Choice_UEID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8449
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8450
0
                                   ett_e2ap_TriggerType_Choice_UEID, TriggerType_Choice_UEID_sequence);
8451
8452
0
  return offset;
8453
0
}
8454
8455
8456
static const per_sequence_t TriggerType_Choice_L2state_sequence[] = {
8457
  { &hf_e2ap_associatedL2variables, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
8458
  { NULL, 0, 0, NULL }
8459
};
8460
8461
static unsigned
8462
0
dissect_e2ap_TriggerType_Choice_L2state(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8463
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8464
0
                                   ett_e2ap_TriggerType_Choice_L2state, TriggerType_Choice_L2state_sequence);
8465
8466
0
  return offset;
8467
0
}
8468
8469
8470
static const value_string e2ap_TriggerType_Choice_vals[] = {
8471
  {   0, "triggerType-Choice-RRCstate" },
8472
  {   1, "triggerType-Choice-UEID" },
8473
  {   2, "triggerType-Choice-L2state" },
8474
  { 0, NULL }
8475
};
8476
8477
static const per_choice_t TriggerType_Choice_choice[] = {
8478
  {   0, &hf_e2ap_triggerType_Choice_RRCstate, ASN1_EXTENSION_ROOT    , dissect_e2ap_TriggerType_Choice_RRCstate },
8479
  {   1, &hf_e2ap_triggerType_Choice_UEID, ASN1_EXTENSION_ROOT    , dissect_e2ap_TriggerType_Choice_UEID },
8480
  {   2, &hf_e2ap_triggerType_Choice_L2state, ASN1_EXTENSION_ROOT    , dissect_e2ap_TriggerType_Choice_L2state },
8481
  { 0, NULL, 0, NULL }
8482
};
8483
8484
static unsigned
8485
0
dissect_e2ap_TriggerType_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8486
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8487
0
                                 ett_e2ap_TriggerType_Choice, TriggerType_Choice_choice,
8488
0
                                 NULL);
8489
8490
0
  return offset;
8491
0
}
8492
8493
8494
static const per_sequence_t E2SM_RC_EventTrigger_Format4_Item_sequence[] = {
8495
  { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8496
  { &hf_e2ap_triggerType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TriggerType_Choice },
8497
  { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UE_Info },
8498
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
8499
  { NULL, 0, 0, NULL }
8500
};
8501
8502
static unsigned
8503
0
dissect_e2ap_E2SM_RC_EventTrigger_Format4_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8504
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8505
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format4_Item, E2SM_RC_EventTrigger_Format4_Item_sequence);
8506
8507
0
  return offset;
8508
0
}
8509
8510
8511
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item_sequence_of[1] = {
8512
  { &hf_e2ap_uEInfoChange_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format4_Item },
8513
};
8514
8515
static unsigned
8516
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8517
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8518
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item, SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item_sequence_of,
8519
0
                                                  1, maxnoofUEInfoChanges, false);
8520
8521
0
  return offset;
8522
0
}
8523
8524
8525
static const per_sequence_t E2SM_RC_EventTrigger_Format4_sequence[] = {
8526
  { &hf_e2ap_uEInfoChange_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item },
8527
  { NULL, 0, 0, NULL }
8528
};
8529
8530
static unsigned
8531
0
dissect_e2ap_E2SM_RC_EventTrigger_Format4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8532
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8533
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format4, E2SM_RC_EventTrigger_Format4_sequence);
8534
8535
0
  return offset;
8536
0
}
8537
8538
8539
static const value_string e2ap_T_onDemand_vals[] = {
8540
  {   0, "true" },
8541
  { 0, NULL }
8542
};
8543
8544
8545
static unsigned
8546
0
dissect_e2ap_T_onDemand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8547
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8548
0
                                     1, NULL, true, 0, NULL);
8549
8550
0
  return offset;
8551
0
}
8552
8553
8554
static const per_sequence_t E2SM_RC_EventTrigger_Format5_sequence[] = {
8555
  { &hf_e2ap_onDemand       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_onDemand },
8556
  { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_UE_Info },
8557
  { &hf_e2ap_associatedCellInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_EventTrigger_Cell_Info },
8558
  { NULL, 0, 0, NULL }
8559
};
8560
8561
static unsigned
8562
0
dissect_e2ap_E2SM_RC_EventTrigger_Format5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8563
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8564
0
                                   ett_e2ap_E2SM_RC_EventTrigger_Format5, E2SM_RC_EventTrigger_Format5_sequence);
8565
8566
0
  return offset;
8567
0
}
8568
8569
8570
static const value_string e2ap_T_ric_eventTrigger_formats_vals[] = {
8571
  {   0, "eventTrigger-Format1" },
8572
  {   1, "eventTrigger-Format2" },
8573
  {   2, "eventTrigger-Format3" },
8574
  {   3, "eventTrigger-Format4" },
8575
  {   4, "eventTrigger-Format5" },
8576
  { 0, NULL }
8577
};
8578
8579
static const per_choice_t T_ric_eventTrigger_formats_choice[] = {
8580
  {   0, &hf_e2ap_eventTrigger_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_EventTrigger_Format1 },
8581
  {   1, &hf_e2ap_eventTrigger_Format2, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_EventTrigger_Format2 },
8582
  {   2, &hf_e2ap_eventTrigger_Format3, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_EventTrigger_Format3 },
8583
  {   3, &hf_e2ap_eventTrigger_Format4, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_EventTrigger_Format4 },
8584
  {   4, &hf_e2ap_eventTrigger_Format5, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_EventTrigger_Format5 },
8585
  { 0, NULL, 0, NULL }
8586
};
8587
8588
static unsigned
8589
0
dissect_e2ap_T_ric_eventTrigger_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8590
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8591
0
                                 ett_e2ap_T_ric_eventTrigger_formats, T_ric_eventTrigger_formats_choice,
8592
0
                                 NULL);
8593
8594
0
  return offset;
8595
0
}
8596
8597
8598
static const per_sequence_t E2SM_RC_EventTrigger_sequence[] = {
8599
  { &hf_e2ap_ric_eventTrigger_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_eventTrigger_formats },
8600
  { NULL, 0, 0, NULL }
8601
};
8602
8603
static unsigned
8604
0
dissect_e2ap_E2SM_RC_EventTrigger(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8605
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8606
0
                                   ett_e2ap_E2SM_RC_EventTrigger, E2SM_RC_EventTrigger_sequence);
8607
8608
0
  return offset;
8609
0
}
8610
8611
8612
static const per_sequence_t E2SM_RC_ActionDefinition_Format1_Item_sequence[] = {
8613
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8614
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
8615
  { NULL, 0, 0, NULL }
8616
};
8617
8618
static unsigned
8619
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8620
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8621
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item, E2SM_RC_ActionDefinition_Format1_Item_sequence);
8622
8623
0
  return offset;
8624
0
}
8625
8626
8627
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item_sequence_of[1] = {
8628
  { &hf_e2ap_ranP_ToBeReported_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format1_Item },
8629
};
8630
8631
static unsigned
8632
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8633
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8634
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item, SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item_sequence_of,
8635
0
                                                  1, maxnoofParametersToReport, false);
8636
8637
0
  return offset;
8638
0
}
8639
8640
8641
static const per_sequence_t E2SM_RC_ActionDefinition_Format1_sequence[] = {
8642
  { &hf_e2ap_ranP_ToBeReported_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item },
8643
  { NULL, 0, 0, NULL }
8644
};
8645
8646
static unsigned
8647
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8648
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8649
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format1, E2SM_RC_ActionDefinition_Format1_sequence);
8650
8651
0
  return offset;
8652
0
}
8653
8654
8655
static const per_sequence_t E2SM_RC_ActionDefinition_Format2_Item_sequence[] = {
8656
  { &hf_e2ap_ric_PolicyAction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyAction },
8657
  { &hf_e2ap_ric_PolicyConditionDefinition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Testing },
8658
  { NULL, 0, 0, NULL }
8659
};
8660
8661
static unsigned
8662
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format2_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8663
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8664
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item, E2SM_RC_ActionDefinition_Format2_Item_sequence);
8665
8666
0
  return offset;
8667
0
}
8668
8669
8670
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item_sequence_of[1] = {
8671
  { &hf_e2ap_ric_PolicyConditions_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format2_Item },
8672
};
8673
8674
static unsigned
8675
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8676
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8677
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item, SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item_sequence_of,
8678
0
                                                  1, maxnoofPolicyConditions, false);
8679
8680
0
  return offset;
8681
0
}
8682
8683
8684
static const per_sequence_t E2SM_RC_ActionDefinition_Format2_sequence[] = {
8685
  { &hf_e2ap_ric_PolicyConditions_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item },
8686
  { NULL, 0, 0, NULL }
8687
};
8688
8689
static unsigned
8690
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8691
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8692
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format2, E2SM_RC_ActionDefinition_Format2_sequence);
8693
8694
0
  return offset;
8695
0
}
8696
8697
8698
static const per_sequence_t E2SM_RC_ActionDefinition_Format3_Item_sequence[] = {
8699
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8700
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
8701
  { NULL, 0, 0, NULL }
8702
};
8703
8704
static unsigned
8705
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8706
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8707
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item, E2SM_RC_ActionDefinition_Format3_Item_sequence);
8708
8709
0
  return offset;
8710
0
}
8711
8712
8713
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item_sequence_of[1] = {
8714
  { &hf_e2ap_ranP_InsertIndication_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format3_Item },
8715
};
8716
8717
static unsigned
8718
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8719
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8720
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item_sequence_of,
8721
0
                                                  1, maxnoofAssociatedRANParameters, false);
8722
8723
0
  return offset;
8724
0
}
8725
8726
8727
static const per_sequence_t E2SM_RC_ActionDefinition_Format3_sequence[] = {
8728
  { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8729
  { &hf_e2ap_ranP_InsertIndication_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item },
8730
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID },
8731
  { NULL, 0, 0, NULL }
8732
};
8733
8734
static unsigned
8735
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8736
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8737
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format3, E2SM_RC_ActionDefinition_Format3_sequence);
8738
8739
0
  return offset;
8740
0
}
8741
8742
8743
static const per_sequence_t E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence[] = {
8744
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8745
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
8746
  { NULL, 0, 0, NULL }
8747
};
8748
8749
static unsigned
8750
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8751
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8752
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item, E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence);
8753
8754
0
  return offset;
8755
0
}
8756
8757
8758
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence_of[1] = {
8759
  { &hf_e2ap_ranP_InsertIndication_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item },
8760
};
8761
8762
static unsigned
8763
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8764
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8765
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence_of,
8766
0
                                                  1, maxnoofAssociatedRANParameters, false);
8767
8768
0
  return offset;
8769
0
}
8770
8771
8772
static const per_sequence_t E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence[] = {
8773
  { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8774
  { &hf_e2ap_ranP_InsertIndication_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item },
8775
  { NULL, 0, 0, NULL }
8776
};
8777
8778
static unsigned
8779
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8780
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8781
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item, E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence);
8782
8783
0
  return offset;
8784
0
}
8785
8786
8787
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence_of[1] = {
8788
  { &hf_e2ap_ric_InsertIndication_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item },
8789
};
8790
8791
static unsigned
8792
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8793
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8794
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item, SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence_of,
8795
0
                                                  1, maxnoofInsertIndicationActions, false);
8796
8797
0
  return offset;
8798
0
}
8799
8800
8801
static const per_sequence_t E2SM_RC_ActionDefinition_Format4_Style_Item_sequence[] = {
8802
  { &hf_e2ap_requested_Insert_Style_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8803
  { &hf_e2ap_ric_InsertIndication_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item },
8804
  { NULL, 0, 0, NULL }
8805
};
8806
8807
static unsigned
8808
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8809
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8810
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item, E2SM_RC_ActionDefinition_Format4_Style_Item_sequence);
8811
8812
0
  return offset;
8813
0
}
8814
8815
8816
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item_sequence_of[1] = {
8817
  { &hf_e2ap_ric_InsertStyle_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item },
8818
};
8819
8820
static unsigned
8821
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8822
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8823
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item_sequence_of,
8824
0
                                                  1, maxnoofRICStyles, false);
8825
8826
0
  return offset;
8827
0
}
8828
8829
8830
static const per_sequence_t E2SM_RC_ActionDefinition_Format4_sequence[] = {
8831
  { &hf_e2ap_ric_InsertStyle_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item },
8832
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID },
8833
  { NULL, 0, 0, NULL }
8834
};
8835
8836
static unsigned
8837
0
dissect_e2ap_E2SM_RC_ActionDefinition_Format4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8838
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8839
0
                                   ett_e2ap_E2SM_RC_ActionDefinition_Format4, E2SM_RC_ActionDefinition_Format4_sequence);
8840
8841
0
  return offset;
8842
0
}
8843
8844
8845
static const value_string e2ap_T_ric_actionDefinition_formats_vals[] = {
8846
  {   0, "actionDefinition-Format1" },
8847
  {   1, "actionDefinition-Format2" },
8848
  {   2, "actionDefinition-Format3" },
8849
  {   3, "actionDefinition-Format4" },
8850
  { 0, NULL }
8851
};
8852
8853
static const per_choice_t T_ric_actionDefinition_formats_choice[] = {
8854
  {   0, &hf_e2ap_actionDefinition_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ActionDefinition_Format1 },
8855
  {   1, &hf_e2ap_actionDefinition_Format2, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ActionDefinition_Format2 },
8856
  {   2, &hf_e2ap_actionDefinition_Format3, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ActionDefinition_Format3 },
8857
  {   3, &hf_e2ap_actionDefinition_Format4, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ActionDefinition_Format4 },
8858
  { 0, NULL, 0, NULL }
8859
};
8860
8861
static unsigned
8862
0
dissect_e2ap_T_ric_actionDefinition_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8863
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8864
0
                                 ett_e2ap_T_ric_actionDefinition_formats, T_ric_actionDefinition_formats_choice,
8865
0
                                 NULL);
8866
8867
0
  return offset;
8868
0
}
8869
8870
8871
static const per_sequence_t E2SM_RC_ActionDefinition_sequence[] = {
8872
  { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8873
  { &hf_e2ap_ric_actionDefinition_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_actionDefinition_formats },
8874
  { NULL, 0, 0, NULL }
8875
};
8876
8877
static unsigned
8878
0
dissect_e2ap_E2SM_RC_ActionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8879
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8880
0
                                   ett_e2ap_E2SM_RC_ActionDefinition, E2SM_RC_ActionDefinition_sequence);
8881
8882
0
  return offset;
8883
0
}
8884
8885
8886
static const per_sequence_t E2SM_RC_IndicationHeader_Format1_sequence[] = {
8887
  { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RIC_EventTriggerCondition_ID },
8888
  { NULL, 0, 0, NULL }
8889
};
8890
8891
static unsigned
8892
0
dissect_e2ap_E2SM_RC_IndicationHeader_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8893
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8894
0
                                   ett_e2ap_E2SM_RC_IndicationHeader_Format1, E2SM_RC_IndicationHeader_Format1_sequence);
8895
8896
0
  return offset;
8897
0
}
8898
8899
8900
static const per_sequence_t E2SM_RC_IndicationHeader_Format2_sequence[] = {
8901
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
8902
  { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8903
  { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8904
  { NULL, 0, 0, NULL }
8905
};
8906
8907
static unsigned
8908
0
dissect_e2ap_E2SM_RC_IndicationHeader_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8909
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8910
0
                                   ett_e2ap_E2SM_RC_IndicationHeader_Format2, E2SM_RC_IndicationHeader_Format2_sequence);
8911
8912
0
  return offset;
8913
0
}
8914
8915
8916
static const per_sequence_t E2SM_RC_IndicationHeader_Format3_sequence[] = {
8917
  { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RIC_EventTriggerCondition_ID },
8918
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID },
8919
  { NULL, 0, 0, NULL }
8920
};
8921
8922
static unsigned
8923
0
dissect_e2ap_E2SM_RC_IndicationHeader_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8924
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8925
0
                                   ett_e2ap_E2SM_RC_IndicationHeader_Format3, E2SM_RC_IndicationHeader_Format3_sequence);
8926
8927
0
  return offset;
8928
0
}
8929
8930
8931
static const value_string e2ap_T_ric_indicationHeader_formats_vals[] = {
8932
  {   0, "indicationHeader-Format1" },
8933
  {   1, "indicationHeader-Format2" },
8934
  {   2, "indicationHeader-Format3" },
8935
  { 0, NULL }
8936
};
8937
8938
static const per_choice_t T_ric_indicationHeader_formats_choice[] = {
8939
  {   0, &hf_e2ap_indicationHeader_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationHeader_Format1 },
8940
  {   1, &hf_e2ap_indicationHeader_Format2, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationHeader_Format2 },
8941
  {   2, &hf_e2ap_indicationHeader_Format3, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_IndicationHeader_Format3 },
8942
  { 0, NULL, 0, NULL }
8943
};
8944
8945
static unsigned
8946
0
dissect_e2ap_T_ric_indicationHeader_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8947
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8948
0
                                 ett_e2ap_T_ric_indicationHeader_formats, T_ric_indicationHeader_formats_choice,
8949
0
                                 NULL);
8950
8951
0
  return offset;
8952
0
}
8953
8954
8955
static const per_sequence_t E2SM_RC_IndicationHeader_sequence[] = {
8956
  { &hf_e2ap_ric_indicationHeader_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_indicationHeader_formats },
8957
  { NULL, 0, 0, NULL }
8958
};
8959
8960
static unsigned
8961
0
dissect_e2ap_E2SM_RC_IndicationHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8962
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8963
0
                                   ett_e2ap_E2SM_RC_IndicationHeader, E2SM_RC_IndicationHeader_sequence);
8964
8965
0
  return offset;
8966
0
}
8967
8968
8969
static const per_sequence_t E2SM_RC_IndicationMessage_Format1_Item_sequence[] = {
8970
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8971
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
8972
  { NULL, 0, 0, NULL }
8973
};
8974
8975
static unsigned
8976
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8977
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8978
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item, E2SM_RC_IndicationMessage_Format1_Item_sequence);
8979
8980
0
  return offset;
8981
0
}
8982
8983
8984
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item_sequence_of[1] = {
8985
  { &hf_e2ap_ranP_Reported_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format1_Item },
8986
};
8987
8988
static unsigned
8989
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8990
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8991
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item_sequence_of,
8992
0
                                                  1, maxnoofAssociatedRANParameters, false);
8993
8994
0
  return offset;
8995
0
}
8996
8997
8998
static const per_sequence_t E2SM_RC_IndicationMessage_Format1_sequence[] = {
8999
  { &hf_e2ap_ranP_Reported_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item },
9000
  { NULL, 0, 0, NULL }
9001
};
9002
9003
static unsigned
9004
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9005
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9006
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format1, E2SM_RC_IndicationMessage_Format1_sequence);
9007
9008
0
  return offset;
9009
0
}
9010
9011
9012
static const per_sequence_t E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence[] = {
9013
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9014
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9015
  { NULL, 0, 0, NULL }
9016
};
9017
9018
static unsigned
9019
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9020
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9021
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item, E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence);
9022
9023
0
  return offset;
9024
0
}
9025
9026
9027
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence_of[1] = {
9028
  { &hf_e2ap_ranP_List_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item },
9029
};
9030
9031
static unsigned
9032
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9033
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9034
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence_of,
9035
0
                                                  1, maxnoofAssociatedRANParameters, false);
9036
9037
0
  return offset;
9038
0
}
9039
9040
9041
static const per_sequence_t E2SM_RC_IndicationMessage_Format2_Item_sequence[] = {
9042
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9043
  { &hf_e2ap_ranP_List      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item },
9044
  { NULL, 0, 0, NULL }
9045
};
9046
9047
static unsigned
9048
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format2_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9049
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9050
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item, E2SM_RC_IndicationMessage_Format2_Item_sequence);
9051
9052
0
  return offset;
9053
0
}
9054
9055
9056
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item_sequence_of[1] = {
9057
  { &hf_e2ap_ueParameter_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format2_Item },
9058
};
9059
9060
static unsigned
9061
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9062
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9063
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item, SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item_sequence_of,
9064
0
                                                  1, maxnoofUEID, false);
9065
9066
0
  return offset;
9067
0
}
9068
9069
9070
static const per_sequence_t E2SM_RC_IndicationMessage_Format2_sequence[] = {
9071
  { &hf_e2ap_ueParameter_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item },
9072
  { NULL, 0, 0, NULL }
9073
};
9074
9075
static unsigned
9076
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9077
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9078
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format2, E2SM_RC_IndicationMessage_Format2_sequence);
9079
9080
0
  return offset;
9081
0
}
9082
9083
9084
static const per_sequence_t E2SM_RC_IndicationMessage_Format3_Item_sequence[] = {
9085
  { &hf_e2ap_cellGlobal_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9086
  { &hf_e2ap_cellContextInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_OCTET_STRING },
9087
  { &hf_e2ap_cellDeleted    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_BOOLEAN },
9088
  { &hf_e2ap_neighborRelation_Table, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NeighborRelation_Info },
9089
  { NULL, 0, 0, NULL }
9090
};
9091
9092
static unsigned
9093
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9094
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9095
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item, E2SM_RC_IndicationMessage_Format3_Item_sequence);
9096
9097
0
  return offset;
9098
0
}
9099
9100
9101
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item_sequence_of[1] = {
9102
  { &hf_e2ap_cellInfo_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format3_Item },
9103
};
9104
9105
static unsigned
9106
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9107
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9108
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item, SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item_sequence_of,
9109
0
                                                  1, maxnoofCellID, false);
9110
9111
0
  return offset;
9112
0
}
9113
9114
9115
static const per_sequence_t E2SM_RC_IndicationMessage_Format3_sequence[] = {
9116
  { &hf_e2ap_cellInfo_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item },
9117
  { NULL, 0, 0, NULL }
9118
};
9119
9120
static unsigned
9121
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9122
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9123
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format3, E2SM_RC_IndicationMessage_Format3_sequence);
9124
9125
0
  return offset;
9126
0
}
9127
9128
9129
static const per_sequence_t E2SM_RC_IndicationMessage_Format4_ItemUE_sequence[] = {
9130
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9131
  { &hf_e2ap_ueContextInfo  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_OCTET_STRING },
9132
  { &hf_e2ap_cellGlobal_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9133
  { NULL, 0, 0, NULL }
9134
};
9135
9136
static unsigned
9137
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9138
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9139
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE, E2SM_RC_IndicationMessage_Format4_ItemUE_sequence);
9140
9141
0
  return offset;
9142
0
}
9143
9144
9145
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE_sequence_of[1] = {
9146
  { &hf_e2ap_ueInfo_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE },
9147
};
9148
9149
static unsigned
9150
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9151
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9152
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE, SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE_sequence_of,
9153
0
                                                  0, maxnoofUEID, false);
9154
9155
0
  return offset;
9156
0
}
9157
9158
9159
static const per_sequence_t E2SM_RC_IndicationMessage_Format4_ItemCell_sequence[] = {
9160
  { &hf_e2ap_cellGlobal_ID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9161
  { &hf_e2ap_cellContextInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_OCTET_STRING },
9162
  { &hf_e2ap_neighborRelation_Table, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NeighborRelation_Info },
9163
  { NULL, 0, 0, NULL }
9164
};
9165
9166
static unsigned
9167
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9168
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9169
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell, E2SM_RC_IndicationMessage_Format4_ItemCell_sequence);
9170
9171
0
  return offset;
9172
0
}
9173
9174
9175
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell_sequence_of[1] = {
9176
  { &hf_e2ap_cellInfo_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell },
9177
};
9178
9179
static unsigned
9180
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9181
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9182
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell, SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell_sequence_of,
9183
0
                                                  0, maxnoofCellID, false);
9184
9185
0
  return offset;
9186
0
}
9187
9188
9189
static const per_sequence_t E2SM_RC_IndicationMessage_Format4_sequence[] = {
9190
  { &hf_e2ap_ueInfo_List_01 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE },
9191
  { &hf_e2ap_cellInfo_List_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell },
9192
  { NULL, 0, 0, NULL }
9193
};
9194
9195
static unsigned
9196
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9197
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9198
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format4, E2SM_RC_IndicationMessage_Format4_sequence);
9199
9200
0
  return offset;
9201
0
}
9202
9203
9204
static const per_sequence_t E2SM_RC_IndicationMessage_Format5_Item_sequence[] = {
9205
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9206
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9207
  { NULL, 0, 0, NULL }
9208
};
9209
9210
static unsigned
9211
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format5_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9212
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9213
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item, E2SM_RC_IndicationMessage_Format5_Item_sequence);
9214
9215
0
  return offset;
9216
0
}
9217
9218
9219
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item_sequence_of[1] = {
9220
  { &hf_e2ap_ranP_Requested_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format5_Item },
9221
};
9222
9223
static unsigned
9224
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9225
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9226
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item, SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item_sequence_of,
9227
0
                                                  0, maxnoofAssociatedRANParameters, false);
9228
9229
0
  return offset;
9230
0
}
9231
9232
9233
static const per_sequence_t E2SM_RC_IndicationMessage_Format5_sequence[] = {
9234
  { &hf_e2ap_ranP_Requested_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item },
9235
  { NULL, 0, 0, NULL }
9236
};
9237
9238
static unsigned
9239
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9240
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9241
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format5, E2SM_RC_IndicationMessage_Format5_sequence);
9242
9243
0
  return offset;
9244
0
}
9245
9246
9247
static const per_sequence_t E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence[] = {
9248
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9249
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9250
  { NULL, 0, 0, NULL }
9251
};
9252
9253
static unsigned
9254
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9255
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9256
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item, E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence);
9257
9258
0
  return offset;
9259
0
}
9260
9261
9262
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence_of[1] = {
9263
  { &hf_e2ap_ranP_InsertIndication_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item },
9264
};
9265
9266
static unsigned
9267
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9268
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9269
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item, SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence_of,
9270
0
                                                  0, maxnoofAssociatedRANParameters, false);
9271
9272
0
  return offset;
9273
0
}
9274
9275
9276
static const per_sequence_t E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence[] = {
9277
  { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
9278
  { &hf_e2ap_ranP_InsertIndication_List_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item },
9279
  { NULL, 0, 0, NULL }
9280
};
9281
9282
static unsigned
9283
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9284
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9285
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item, E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence);
9286
9287
0
  return offset;
9288
0
}
9289
9290
9291
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence_of[1] = {
9292
  { &hf_e2ap_ric_InsertIndication_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item },
9293
};
9294
9295
static unsigned
9296
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9297
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9298
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item, SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence_of,
9299
0
                                                  1, maxnoofInsertIndicationActions, false);
9300
9301
0
  return offset;
9302
0
}
9303
9304
9305
static const per_sequence_t E2SM_RC_IndicationMessage_Format6_Style_Item_sequence[] = {
9306
  { &hf_e2ap_indicated_Insert_Style_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9307
  { &hf_e2ap_ric_InsertIndication_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item },
9308
  { NULL, 0, 0, NULL }
9309
};
9310
9311
static unsigned
9312
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9313
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9314
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item, E2SM_RC_IndicationMessage_Format6_Style_Item_sequence);
9315
9316
0
  return offset;
9317
0
}
9318
9319
9320
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item_sequence_of[1] = {
9321
  { &hf_e2ap_ric_InsertStyle_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item },
9322
};
9323
9324
static unsigned
9325
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9326
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9327
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item_sequence_of,
9328
0
                                                  1, maxnoofRICStyles, false);
9329
9330
0
  return offset;
9331
0
}
9332
9333
9334
static const per_sequence_t E2SM_RC_IndicationMessage_Format6_sequence[] = {
9335
  { &hf_e2ap_ric_InsertStyle_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item },
9336
  { NULL, 0, 0, NULL }
9337
};
9338
9339
static unsigned
9340
0
dissect_e2ap_E2SM_RC_IndicationMessage_Format6(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9341
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9342
0
                                   ett_e2ap_E2SM_RC_IndicationMessage_Format6, E2SM_RC_IndicationMessage_Format6_sequence);
9343
9344
0
  return offset;
9345
0
}
9346
9347
9348
static const value_string e2ap_T_ric_indicationMessage_formats_vals[] = {
9349
  {   0, "indicationMessage-Format1" },
9350
  {   1, "indicationMessage-Format2" },
9351
  {   2, "indicationMessage-Format3" },
9352
  {   3, "indicationMessage-Format4" },
9353
  {   4, "indicationMessage-Format5" },
9354
  {   5, "indicationMessage-Format6" },
9355
  { 0, NULL }
9356
};
9357
9358
static const per_choice_t T_ric_indicationMessage_formats_choice[] = {
9359
  {   0, &hf_e2ap_indicationMessage_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationMessage_Format1 },
9360
  {   1, &hf_e2ap_indicationMessage_Format2, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationMessage_Format2 },
9361
  {   2, &hf_e2ap_indicationMessage_Format3, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationMessage_Format3 },
9362
  {   3, &hf_e2ap_indicationMessage_Format4, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationMessage_Format4 },
9363
  {   4, &hf_e2ap_indicationMessage_Format5, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_IndicationMessage_Format5 },
9364
  {   5, &hf_e2ap_indicationMessage_Format6, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_IndicationMessage_Format6 },
9365
  { 0, NULL, 0, NULL }
9366
};
9367
9368
static unsigned
9369
0
dissect_e2ap_T_ric_indicationMessage_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9370
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9371
0
                                 ett_e2ap_T_ric_indicationMessage_formats, T_ric_indicationMessage_formats_choice,
9372
0
                                 NULL);
9373
9374
0
  return offset;
9375
0
}
9376
9377
9378
static const per_sequence_t E2SM_RC_IndicationMessage_sequence[] = {
9379
  { &hf_e2ap_ric_indicationMessage_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_indicationMessage_formats },
9380
  { NULL, 0, 0, NULL }
9381
};
9382
9383
static unsigned
9384
0
dissect_e2ap_E2SM_RC_IndicationMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9385
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9386
0
                                   ett_e2ap_E2SM_RC_IndicationMessage, E2SM_RC_IndicationMessage_sequence);
9387
9388
0
  return offset;
9389
0
}
9390
9391
9392
static const per_sequence_t E2SM_RC_CallProcessID_Format1_sequence[] = {
9393
  { &hf_e2ap_ric_callProcess_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RAN_CallProcess_ID },
9394
  { NULL, 0, 0, NULL }
9395
};
9396
9397
static unsigned
9398
0
dissect_e2ap_E2SM_RC_CallProcessID_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9399
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9400
0
                                   ett_e2ap_E2SM_RC_CallProcessID_Format1, E2SM_RC_CallProcessID_Format1_sequence);
9401
9402
0
  return offset;
9403
0
}
9404
9405
9406
static const value_string e2ap_T_ric_callProcessID_formats_vals[] = {
9407
  {   0, "callProcessID-Format1" },
9408
  { 0, NULL }
9409
};
9410
9411
static const per_choice_t T_ric_callProcessID_formats_choice[] = {
9412
  {   0, &hf_e2ap_callProcessID_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_CallProcessID_Format1 },
9413
  { 0, NULL, 0, NULL }
9414
};
9415
9416
static unsigned
9417
0
dissect_e2ap_T_ric_callProcessID_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9418
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9419
0
                                 ett_e2ap_T_ric_callProcessID_formats, T_ric_callProcessID_formats_choice,
9420
0
                                 NULL);
9421
9422
0
  return offset;
9423
0
}
9424
9425
9426
static const per_sequence_t E2SM_RC_CallProcessID_sequence[] = {
9427
  { &hf_e2ap_ric_callProcessID_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_callProcessID_formats },
9428
  { NULL, 0, 0, NULL }
9429
};
9430
9431
static unsigned
9432
0
dissect_e2ap_E2SM_RC_CallProcessID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9433
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9434
0
                                   ett_e2ap_E2SM_RC_CallProcessID, E2SM_RC_CallProcessID_sequence);
9435
9436
0
  return offset;
9437
0
}
9438
9439
9440
static const value_string e2ap_T_ric_ControlDecision_vals[] = {
9441
  {   0, "accept" },
9442
  {   1, "reject" },
9443
  { 0, NULL }
9444
};
9445
9446
9447
static unsigned
9448
0
dissect_e2ap_T_ric_ControlDecision(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9449
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9450
0
                                     2, NULL, true, 0, NULL);
9451
9452
0
  return offset;
9453
0
}
9454
9455
9456
static const per_sequence_t E2SM_RC_ControlHeader_Format1_sequence[] = {
9457
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9458
  { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9459
  { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9460
  { &hf_e2ap_ric_ControlDecision, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_ric_ControlDecision },
9461
  { NULL, 0, 0, NULL }
9462
};
9463
9464
static unsigned
9465
0
dissect_e2ap_E2SM_RC_ControlHeader_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9466
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9467
0
                                   ett_e2ap_E2SM_RC_ControlHeader_Format1, E2SM_RC_ControlHeader_Format1_sequence);
9468
9469
0
  return offset;
9470
0
}
9471
9472
9473
static const value_string e2ap_T_ric_ControlDecision_01_vals[] = {
9474
  {   0, "accept" },
9475
  {   1, "reject" },
9476
  { 0, NULL }
9477
};
9478
9479
9480
static unsigned
9481
0
dissect_e2ap_T_ric_ControlDecision_01(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9482
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9483
0
                                     2, NULL, true, 0, NULL);
9484
9485
0
  return offset;
9486
0
}
9487
9488
9489
static const per_sequence_t E2SM_RC_ControlHeader_Format2_sequence[] = {
9490
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_UEID },
9491
  { &hf_e2ap_ric_ControlDecision_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_ric_ControlDecision_01 },
9492
  { NULL, 0, 0, NULL }
9493
};
9494
9495
static unsigned
9496
0
dissect_e2ap_E2SM_RC_ControlHeader_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9497
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9498
0
                                   ett_e2ap_E2SM_RC_ControlHeader_Format2, E2SM_RC_ControlHeader_Format2_sequence);
9499
9500
0
  return offset;
9501
0
}
9502
9503
9504
static const value_string e2ap_T_ric_controlHeader_formats_vals[] = {
9505
  {   0, "controlHeader-Format1" },
9506
  {   1, "controlHeader-Format2" },
9507
  { 0, NULL }
9508
};
9509
9510
static const per_choice_t T_ric_controlHeader_formats_choice[] = {
9511
  {   0, &hf_e2ap_controlHeader_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ControlHeader_Format1 },
9512
  {   1, &hf_e2ap_controlHeader_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlHeader_Format2 },
9513
  { 0, NULL, 0, NULL }
9514
};
9515
9516
static unsigned
9517
0
dissect_e2ap_T_ric_controlHeader_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9518
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9519
0
                                 ett_e2ap_T_ric_controlHeader_formats, T_ric_controlHeader_formats_choice,
9520
0
                                 NULL);
9521
9522
0
  return offset;
9523
0
}
9524
9525
9526
static const per_sequence_t E2SM_RC_ControlHeader_sequence[] = {
9527
  { &hf_e2ap_ric_controlHeader_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlHeader_formats },
9528
  { NULL, 0, 0, NULL }
9529
};
9530
9531
static unsigned
9532
0
dissect_e2ap_E2SM_RC_ControlHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9533
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9534
0
                                   ett_e2ap_E2SM_RC_ControlHeader, E2SM_RC_ControlHeader_sequence);
9535
9536
0
  return offset;
9537
0
}
9538
9539
9540
static const per_sequence_t E2SM_RC_ControlMessage_Format1_Item_sequence[] = {
9541
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9542
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9543
  { NULL, 0, 0, NULL }
9544
};
9545
9546
static unsigned
9547
0
dissect_e2ap_E2SM_RC_ControlMessage_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9548
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9549
0
                                   ett_e2ap_E2SM_RC_ControlMessage_Format1_Item, E2SM_RC_ControlMessage_Format1_Item_sequence);
9550
9551
0
  return offset;
9552
0
}
9553
9554
9555
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item_sequence_of[1] = {
9556
  { &hf_e2ap_ranP_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format1_Item },
9557
};
9558
9559
static unsigned
9560
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9561
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9562
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item, SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item_sequence_of,
9563
0
                                                  0, maxnoofAssociatedRANParameters, false);
9564
9565
0
  return offset;
9566
0
}
9567
9568
9569
static const per_sequence_t E2SM_RC_ControlMessage_Format1_sequence[] = {
9570
  { &hf_e2ap_ranP_List_01   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item },
9571
  { NULL, 0, 0, NULL }
9572
};
9573
9574
static unsigned
9575
0
dissect_e2ap_E2SM_RC_ControlMessage_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9576
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9577
0
                                   ett_e2ap_E2SM_RC_ControlMessage_Format1, E2SM_RC_ControlMessage_Format1_sequence);
9578
9579
0
  return offset;
9580
0
}
9581
9582
9583
static const per_sequence_t E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence[] = {
9584
  { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9585
  { &hf_e2ap_ranP_List_02   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format1 },
9586
  { NULL, 0, 0, NULL }
9587
};
9588
9589
static unsigned
9590
0
dissect_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9591
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9592
0
                                   ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item, E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence);
9593
9594
0
  return offset;
9595
0
}
9596
9597
9598
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence_of[1] = {
9599
  { &hf_e2ap_ric_ControlAction_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item },
9600
};
9601
9602
static unsigned
9603
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9604
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9605
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item, SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence_of,
9606
0
                                                  1, maxnoofMulCtrlActions, false);
9607
9608
0
  return offset;
9609
0
}
9610
9611
9612
static const per_sequence_t E2SM_RC_ControlMessage_Format2_Style_Item_sequence[] = {
9613
  { &hf_e2ap_indicated_Control_Style_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9614
  { &hf_e2ap_ric_ControlAction_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item },
9615
  { NULL, 0, 0, NULL }
9616
};
9617
9618
static unsigned
9619
0
dissect_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9620
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9621
0
                                   ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item, E2SM_RC_ControlMessage_Format2_Style_Item_sequence);
9622
9623
0
  return offset;
9624
0
}
9625
9626
9627
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item_sequence_of[1] = {
9628
  { &hf_e2ap_ric_ControlStyle_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item },
9629
};
9630
9631
static unsigned
9632
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9633
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9634
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item_sequence_of,
9635
0
                                                  1, maxnoofRICStyles, false);
9636
9637
0
  return offset;
9638
0
}
9639
9640
9641
static const per_sequence_t E2SM_RC_ControlMessage_Format2_sequence[] = {
9642
  { &hf_e2ap_ric_ControlStyle_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item },
9643
  { NULL, 0, 0, NULL }
9644
};
9645
9646
static unsigned
9647
0
dissect_e2ap_E2SM_RC_ControlMessage_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9648
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9649
0
                                   ett_e2ap_E2SM_RC_ControlMessage_Format2, E2SM_RC_ControlMessage_Format2_sequence);
9650
9651
0
  return offset;
9652
0
}
9653
9654
9655
static const value_string e2ap_T_ric_controlMessage_formats_vals[] = {
9656
  {   0, "controlMessage-Format1" },
9657
  {   1, "controlMessage-Format2" },
9658
  { 0, NULL }
9659
};
9660
9661
static const per_choice_t T_ric_controlMessage_formats_choice[] = {
9662
  {   0, &hf_e2ap_controlMessage_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ControlMessage_Format1 },
9663
  {   1, &hf_e2ap_controlMessage_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlMessage_Format2 },
9664
  { 0, NULL, 0, NULL }
9665
};
9666
9667
static unsigned
9668
0
dissect_e2ap_T_ric_controlMessage_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9669
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9670
0
                                 ett_e2ap_T_ric_controlMessage_formats, T_ric_controlMessage_formats_choice,
9671
0
                                 NULL);
9672
9673
0
  return offset;
9674
0
}
9675
9676
9677
static const per_sequence_t E2SM_RC_ControlMessage_sequence[] = {
9678
  { &hf_e2ap_ric_controlMessage_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlMessage_formats },
9679
  { NULL, 0, 0, NULL }
9680
};
9681
9682
static unsigned
9683
0
dissect_e2ap_E2SM_RC_ControlMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9684
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9685
0
                                   ett_e2ap_E2SM_RC_ControlMessage, E2SM_RC_ControlMessage_sequence);
9686
9687
0
  return offset;
9688
0
}
9689
9690
9691
static const per_sequence_t E2SM_RC_ControlOutcome_Format1_Item_sequence[] = {
9692
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9693
  { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
9694
  { NULL, 0, 0, NULL }
9695
};
9696
9697
static unsigned
9698
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9699
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9700
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item, E2SM_RC_ControlOutcome_Format1_Item_sequence);
9701
9702
0
  return offset;
9703
0
}
9704
9705
9706
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item_sequence_of[1] = {
9707
  { &hf_e2ap_ranP_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format1_Item },
9708
};
9709
9710
static unsigned
9711
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9712
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9713
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item, SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item_sequence_of,
9714
0
                                                  0, maxnoofRANOutcomeParameters, false);
9715
9716
0
  return offset;
9717
0
}
9718
9719
9720
static const per_sequence_t E2SM_RC_ControlOutcome_Format1_sequence[] = {
9721
  { &hf_e2ap_ranP_List_03   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item },
9722
  { NULL, 0, 0, NULL }
9723
};
9724
9725
static unsigned
9726
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9727
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9728
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format1, E2SM_RC_ControlOutcome_Format1_sequence);
9729
9730
0
  return offset;
9731
0
}
9732
9733
9734
static const per_sequence_t E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence[] = {
9735
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9736
  { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
9737
  { NULL, 0, 0, NULL }
9738
};
9739
9740
static unsigned
9741
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9742
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9743
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item, E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence);
9744
9745
0
  return offset;
9746
0
}
9747
9748
9749
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence_of[1] = {
9750
  { &hf_e2ap_ranP_List_item_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item },
9751
};
9752
9753
static unsigned
9754
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9755
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9756
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence_of,
9757
0
                                                  1, maxnoofAssociatedRANParameters, false);
9758
9759
0
  return offset;
9760
0
}
9761
9762
9763
static const per_sequence_t E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence[] = {
9764
  { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9765
  { &hf_e2ap_ranP_List_04   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item },
9766
  { NULL, 0, 0, NULL }
9767
};
9768
9769
static unsigned
9770
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9771
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9772
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item, E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence);
9773
9774
0
  return offset;
9775
0
}
9776
9777
9778
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence_of[1] = {
9779
  { &hf_e2ap_ric_ControlOutcome_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item },
9780
};
9781
9782
static unsigned
9783
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9784
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9785
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item, SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence_of,
9786
0
                                                  1, maxnoofMulCtrlActions, false);
9787
9788
0
  return offset;
9789
0
}
9790
9791
9792
static const per_sequence_t E2SM_RC_ControlOutcome_Format2_Style_Item_sequence[] = {
9793
  { &hf_e2ap_indicated_Control_Style_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9794
  { &hf_e2ap_ric_ControlOutcome_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item },
9795
  { NULL, 0, 0, NULL }
9796
};
9797
9798
static unsigned
9799
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9800
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9801
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item, E2SM_RC_ControlOutcome_Format2_Style_Item_sequence);
9802
9803
0
  return offset;
9804
0
}
9805
9806
9807
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item_sequence_of[1] = {
9808
  { &hf_e2ap_ric_ControlStyle_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item },
9809
};
9810
9811
static unsigned
9812
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9813
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9814
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item_sequence_of,
9815
0
                                                  1, maxnoofRICStyles, false);
9816
9817
0
  return offset;
9818
0
}
9819
9820
9821
static const per_sequence_t E2SM_RC_ControlOutcome_Format2_sequence[] = {
9822
  { &hf_e2ap_ric_ControlStyle_List_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item },
9823
  { NULL, 0, 0, NULL }
9824
};
9825
9826
static unsigned
9827
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9828
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9829
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format2, E2SM_RC_ControlOutcome_Format2_sequence);
9830
9831
0
  return offset;
9832
0
}
9833
9834
9835
static const per_sequence_t E2SM_RC_ControlOutcome_Format3_Item_sequence[] = {
9836
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9837
  { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9838
  { NULL, 0, 0, NULL }
9839
};
9840
9841
static unsigned
9842
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9843
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9844
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item, E2SM_RC_ControlOutcome_Format3_Item_sequence);
9845
9846
0
  return offset;
9847
0
}
9848
9849
9850
static const per_sequence_t SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item_sequence_of[1] = {
9851
  { &hf_e2ap_ranP_List_item_04, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format3_Item },
9852
};
9853
9854
static unsigned
9855
0
dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9856
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9857
0
                                                  ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item, SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item_sequence_of,
9858
0
                                                  0, maxnoofRANOutcomeParameters, false);
9859
9860
0
  return offset;
9861
0
}
9862
9863
9864
static const per_sequence_t E2SM_RC_ControlOutcome_Format3_sequence[] = {
9865
  { &hf_e2ap_ranP_List_05   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item },
9866
  { NULL, 0, 0, NULL }
9867
};
9868
9869
static unsigned
9870
0
dissect_e2ap_E2SM_RC_ControlOutcome_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9871
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9872
0
                                   ett_e2ap_E2SM_RC_ControlOutcome_Format3, E2SM_RC_ControlOutcome_Format3_sequence);
9873
9874
0
  return offset;
9875
0
}
9876
9877
9878
static const value_string e2ap_T_ric_controlOutcome_formats_vals[] = {
9879
  {   0, "controlOutcome-Format1" },
9880
  {   1, "controlOutcome-Format2" },
9881
  {   2, "controlOutcome-Format3" },
9882
  { 0, NULL }
9883
};
9884
9885
static const per_choice_t T_ric_controlOutcome_formats_choice[] = {
9886
  {   0, &hf_e2ap_controlOutcome_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_RC_ControlOutcome_Format1 },
9887
  {   1, &hf_e2ap_controlOutcome_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlOutcome_Format2 },
9888
  {   2, &hf_e2ap_controlOutcome_Format3, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlOutcome_Format3 },
9889
  { 0, NULL, 0, NULL }
9890
};
9891
9892
static unsigned
9893
0
dissect_e2ap_T_ric_controlOutcome_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9894
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9895
0
                                 ett_e2ap_T_ric_controlOutcome_formats, T_ric_controlOutcome_formats_choice,
9896
0
                                 NULL);
9897
9898
0
  return offset;
9899
0
}
9900
9901
9902
static const per_sequence_t E2SM_RC_ControlOutcome_sequence[] = {
9903
  { &hf_e2ap_ric_controlOutcome_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlOutcome_formats },
9904
  { NULL, 0, 0, NULL }
9905
};
9906
9907
static unsigned
9908
0
dissect_e2ap_E2SM_RC_ControlOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9909
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9910
0
                                   ett_e2ap_E2SM_RC_ControlOutcome, E2SM_RC_ControlOutcome_sequence);
9911
9912
0
  return offset;
9913
0
}
9914
9915
9916
static const per_sequence_t RANFunctionDefinition_EventTrigger_Style_Item_sequence[] = {
9917
  { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9918
  { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
9919
  { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
9920
  { NULL, 0, 0, NULL }
9921
};
9922
9923
static unsigned
9924
0
dissect_e2ap_RANFunctionDefinition_EventTrigger_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9925
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9926
0
                                   ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item, RANFunctionDefinition_EventTrigger_Style_Item_sequence);
9927
9928
0
  return offset;
9929
0
}
9930
9931
9932
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item_sequence_of[1] = {
9933
  { &hf_e2ap_ric_EventTriggerStyle_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_Style_Item },
9934
};
9935
9936
static unsigned
9937
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9938
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9939
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item_sequence_of,
9940
0
                                                  1, maxnoofRICStyles, false);
9941
9942
0
  return offset;
9943
0
}
9944
9945
9946
static const per_sequence_t L2Parameters_RANParameter_Item_sequence[] = {
9947
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9948
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
9949
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
9950
  { NULL, 0, 0, NULL }
9951
};
9952
9953
static unsigned
9954
0
dissect_e2ap_L2Parameters_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9955
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9956
0
                                   ett_e2ap_L2Parameters_RANParameter_Item, L2Parameters_RANParameter_Item_sequence);
9957
9958
0
  return offset;
9959
0
}
9960
9961
9962
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item_sequence_of[1] = {
9963
  { &hf_e2ap_ran_L2Parameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_L2Parameters_RANParameter_Item },
9964
};
9965
9966
static unsigned
9967
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9968
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9969
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item_sequence_of,
9970
0
                                                  1, maxnoofAssociatedRANParameters, false);
9971
9972
0
  return offset;
9973
0
}
9974
9975
9976
static const per_sequence_t CallProcessBreakpoint_RANParameter_Item_sequence[] = {
9977
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9978
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
9979
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
9980
  { NULL, 0, 0, NULL }
9981
};
9982
9983
static unsigned
9984
0
dissect_e2ap_CallProcessBreakpoint_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9985
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9986
0
                                   ett_e2ap_CallProcessBreakpoint_RANParameter_Item, CallProcessBreakpoint_RANParameter_Item_sequence);
9987
9988
0
  return offset;
9989
0
}
9990
9991
9992
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item_sequence_of[1] = {
9993
  { &hf_e2ap_ran_CallProcessBreakpointParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_CallProcessBreakpoint_RANParameter_Item },
9994
};
9995
9996
static unsigned
9997
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9998
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9999
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item_sequence_of,
10000
0
                                                  1, maxnoofAssociatedRANParameters, false);
10001
10002
0
  return offset;
10003
0
}
10004
10005
10006
static const per_sequence_t RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence[] = {
10007
  { &hf_e2ap_callProcessBreakpoint_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_ID },
10008
  { &hf_e2ap_callProcessBreakpoint_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_Name },
10009
  { &hf_e2ap_ran_CallProcessBreakpointParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item },
10010
  { NULL, 0, 0, NULL }
10011
};
10012
10013
static unsigned
10014
0
dissect_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10015
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10016
0
                                   ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item, RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence);
10017
10018
0
  return offset;
10019
0
}
10020
10021
10022
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence_of[1] = {
10023
  { &hf_e2ap_callProcessBreakpoints_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item },
10024
};
10025
10026
static unsigned
10027
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10028
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10029
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item, SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence_of,
10030
0
                                                  1, maxnoofCallProcessBreakpoints, false);
10031
10032
0
  return offset;
10033
0
}
10034
10035
10036
static const per_sequence_t RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence[] = {
10037
  { &hf_e2ap_callProcessType_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_ID },
10038
  { &hf_e2ap_callProcessType_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_Name },
10039
  { &hf_e2ap_callProcessBreakpoints_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item },
10040
  { NULL, 0, 0, NULL }
10041
};
10042
10043
static unsigned
10044
0
dissect_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10045
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10046
0
                                   ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item, RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence);
10047
10048
0
  return offset;
10049
0
}
10050
10051
10052
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence_of[1] = {
10053
  { &hf_e2ap_ran_CallProcessTypes_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item },
10054
};
10055
10056
static unsigned
10057
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10058
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10059
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item, SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence_of,
10060
0
                                                  1, maxnoofCallProcessTypes, false);
10061
10062
0
  return offset;
10063
0
}
10064
10065
10066
static const per_sequence_t UEIdentification_RANParameter_Item_sequence[] = {
10067
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10068
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10069
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10070
  { NULL, 0, 0, NULL }
10071
};
10072
10073
static unsigned
10074
0
dissect_e2ap_UEIdentification_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10075
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10076
0
                                   ett_e2ap_UEIdentification_RANParameter_Item, UEIdentification_RANParameter_Item_sequence);
10077
10078
0
  return offset;
10079
0
}
10080
10081
10082
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item_sequence_of[1] = {
10083
  { &hf_e2ap_ran_UEIdentificationParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_UEIdentification_RANParameter_Item },
10084
};
10085
10086
static unsigned
10087
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10088
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10089
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item_sequence_of,
10090
0
                                                  1, maxnoofAssociatedRANParameters, false);
10091
10092
0
  return offset;
10093
0
}
10094
10095
10096
static const per_sequence_t CellIdentification_RANParameter_Item_sequence[] = {
10097
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10098
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10099
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10100
  { NULL, 0, 0, NULL }
10101
};
10102
10103
static unsigned
10104
0
dissect_e2ap_CellIdentification_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10105
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10106
0
                                   ett_e2ap_CellIdentification_RANParameter_Item, CellIdentification_RANParameter_Item_sequence);
10107
10108
0
  return offset;
10109
0
}
10110
10111
10112
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item_sequence_of[1] = {
10113
  { &hf_e2ap_ran_CellIdentificationParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_CellIdentification_RANParameter_Item },
10114
};
10115
10116
static unsigned
10117
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10118
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10119
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item_sequence_of,
10120
0
                                                  1, maxnoofAssociatedRANParameters, false);
10121
10122
0
  return offset;
10123
0
}
10124
10125
10126
static const per_sequence_t RANFunctionDefinition_EventTrigger_sequence[] = {
10127
  { &hf_e2ap_ric_EventTriggerStyle_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item },
10128
  { &hf_e2ap_ran_L2Parameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item },
10129
  { &hf_e2ap_ran_CallProcessTypes_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item },
10130
  { &hf_e2ap_ran_UEIdentificationParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item },
10131
  { &hf_e2ap_ran_CellIdentificationParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item },
10132
  { NULL, 0, 0, NULL }
10133
};
10134
10135
static unsigned
10136
0
dissect_e2ap_RANFunctionDefinition_EventTrigger(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10137
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10138
0
                                   ett_e2ap_RANFunctionDefinition_EventTrigger, RANFunctionDefinition_EventTrigger_sequence);
10139
10140
0
  return offset;
10141
0
}
10142
10143
10144
static const per_sequence_t Report_RANParameter_Item_sequence[] = {
10145
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10146
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10147
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10148
  { NULL, 0, 0, NULL }
10149
};
10150
10151
static unsigned
10152
0
dissect_e2ap_Report_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10153
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10154
0
                                   ett_e2ap_Report_RANParameter_Item, Report_RANParameter_Item_sequence);
10155
10156
0
  return offset;
10157
0
}
10158
10159
10160
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item_sequence_of[1] = {
10161
  { &hf_e2ap_ran_ReportParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Report_RANParameter_Item },
10162
};
10163
10164
static unsigned
10165
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10166
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10167
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item_sequence_of,
10168
0
                                                  1, maxnoofAssociatedRANParameters, false);
10169
10170
0
  return offset;
10171
0
}
10172
10173
10174
static const per_sequence_t RANFunctionDefinition_Report_Item_sequence[] = {
10175
  { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10176
  { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10177
  { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10178
  { &hf_e2ap_ric_ReportActionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10179
  { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10180
  { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10181
  { &hf_e2ap_ran_ReportParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item },
10182
  { NULL, 0, 0, NULL }
10183
};
10184
10185
static unsigned
10186
0
dissect_e2ap_RANFunctionDefinition_Report_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10187
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10188
0
                                   ett_e2ap_RANFunctionDefinition_Report_Item, RANFunctionDefinition_Report_Item_sequence);
10189
10190
0
  return offset;
10191
0
}
10192
10193
10194
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item_sequence_of[1] = {
10195
  { &hf_e2ap_ric_ReportStyle_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Report_Item },
10196
};
10197
10198
static unsigned
10199
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10200
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10201
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item_sequence_of,
10202
0
                                                  1, maxnoofRICStyles, false);
10203
10204
0
  return offset;
10205
0
}
10206
10207
10208
static const per_sequence_t RANFunctionDefinition_Report_sequence[] = {
10209
  { &hf_e2ap_ric_ReportStyle_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item },
10210
  { NULL, 0, 0, NULL }
10211
};
10212
10213
static unsigned
10214
0
dissect_e2ap_RANFunctionDefinition_Report(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10215
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10216
0
                                   ett_e2ap_RANFunctionDefinition_Report, RANFunctionDefinition_Report_sequence);
10217
10218
0
  return offset;
10219
0
}
10220
10221
10222
static const per_sequence_t InsertIndication_RANParameter_Item_sequence[] = {
10223
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10224
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10225
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10226
  { NULL, 0, 0, NULL }
10227
};
10228
10229
static unsigned
10230
0
dissect_e2ap_InsertIndication_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10231
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10232
0
                                   ett_e2ap_InsertIndication_RANParameter_Item, InsertIndication_RANParameter_Item_sequence);
10233
10234
0
  return offset;
10235
0
}
10236
10237
10238
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item_sequence_of[1] = {
10239
  { &hf_e2ap_ran_InsertIndicationParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_InsertIndication_RANParameter_Item },
10240
};
10241
10242
static unsigned
10243
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10244
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10245
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item_sequence_of,
10246
0
                                                  1, maxnoofAssociatedRANParameters, false);
10247
10248
0
  return offset;
10249
0
}
10250
10251
10252
static const per_sequence_t RANFunctionDefinition_Insert_Indication_Item_sequence[] = {
10253
  { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
10254
  { &hf_e2ap_ric_InsertIndication_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_Name },
10255
  { &hf_e2ap_ran_InsertIndicationParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item },
10256
  { NULL, 0, 0, NULL }
10257
};
10258
10259
static unsigned
10260
0
dissect_e2ap_RANFunctionDefinition_Insert_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10261
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10262
0
                                   ett_e2ap_RANFunctionDefinition_Insert_Indication_Item, RANFunctionDefinition_Insert_Indication_Item_sequence);
10263
10264
0
  return offset;
10265
0
}
10266
10267
10268
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item_sequence_of[1] = {
10269
  { &hf_e2ap_ric_InsertIndication_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Insert_Indication_Item },
10270
};
10271
10272
static unsigned
10273
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10274
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10275
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item, SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item_sequence_of,
10276
0
                                                  1, maxnoofInsertIndication, false);
10277
10278
0
  return offset;
10279
0
}
10280
10281
10282
static const per_sequence_t RANFunctionDefinition_Insert_Item_sequence[] = {
10283
  { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10284
  { &hf_e2ap_ric_InsertStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10285
  { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10286
  { &hf_e2ap_ric_ActionDefinitionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10287
  { &hf_e2ap_ric_InsertIndication_List_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item },
10288
  { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10289
  { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10290
  { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10291
  { NULL, 0, 0, NULL }
10292
};
10293
10294
static unsigned
10295
0
dissect_e2ap_RANFunctionDefinition_Insert_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10296
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10297
0
                                   ett_e2ap_RANFunctionDefinition_Insert_Item, RANFunctionDefinition_Insert_Item_sequence);
10298
10299
0
  return offset;
10300
0
}
10301
10302
10303
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item_sequence_of[1] = {
10304
  { &hf_e2ap_ric_InsertStyle_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Insert_Item },
10305
};
10306
10307
static unsigned
10308
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10309
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10310
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item_sequence_of,
10311
0
                                                  1, maxnoofRICStyles, false);
10312
10313
0
  return offset;
10314
0
}
10315
10316
10317
static const per_sequence_t RANFunctionDefinition_Insert_sequence[] = {
10318
  { &hf_e2ap_ric_InsertStyle_List_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item },
10319
  { NULL, 0, 0, NULL }
10320
};
10321
10322
static unsigned
10323
0
dissect_e2ap_RANFunctionDefinition_Insert(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10324
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10325
0
                                   ett_e2ap_RANFunctionDefinition_Insert, RANFunctionDefinition_Insert_sequence);
10326
10327
0
  return offset;
10328
0
}
10329
10330
10331
static const per_sequence_t ControlAction_RANParameter_Item_sequence[] = {
10332
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10333
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10334
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10335
  { NULL, 0, 0, NULL }
10336
};
10337
10338
static unsigned
10339
0
dissect_e2ap_ControlAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10340
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10341
0
                                   ett_e2ap_ControlAction_RANParameter_Item, ControlAction_RANParameter_Item_sequence);
10342
10343
0
  return offset;
10344
0
}
10345
10346
10347
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item_sequence_of[1] = {
10348
  { &hf_e2ap_ran_ControlActionParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ControlAction_RANParameter_Item },
10349
};
10350
10351
static unsigned
10352
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10353
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10354
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item_sequence_of,
10355
0
                                                  1, maxnoofAssociatedRANParameters, false);
10356
10357
0
  return offset;
10358
0
}
10359
10360
10361
static const per_sequence_t RANFunctionDefinition_Control_Action_Item_sequence[] = {
10362
  { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
10363
  { &hf_e2ap_ric_ControlAction_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_Name },
10364
  { &hf_e2ap_ran_ControlActionParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item },
10365
  { NULL, 0, 0, NULL }
10366
};
10367
10368
static unsigned
10369
0
dissect_e2ap_RANFunctionDefinition_Control_Action_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10370
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10371
0
                                   ett_e2ap_RANFunctionDefinition_Control_Action_Item, RANFunctionDefinition_Control_Action_Item_sequence);
10372
10373
0
  return offset;
10374
0
}
10375
10376
10377
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item_sequence_of[1] = {
10378
  { &hf_e2ap_ric_ControlAction_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Control_Action_Item },
10379
};
10380
10381
static unsigned
10382
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10383
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10384
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item, SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item_sequence_of,
10385
0
                                                  1, maxnoofControlAction, false);
10386
10387
0
  return offset;
10388
0
}
10389
10390
10391
static const per_sequence_t ControlOutcome_RANParameter_Item_sequence[] = {
10392
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10393
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10394
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10395
  { NULL, 0, 0, NULL }
10396
};
10397
10398
static unsigned
10399
0
dissect_e2ap_ControlOutcome_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10400
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10401
0
                                   ett_e2ap_ControlOutcome_RANParameter_Item, ControlOutcome_RANParameter_Item_sequence);
10402
10403
0
  return offset;
10404
0
}
10405
10406
10407
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item_sequence_of[1] = {
10408
  { &hf_e2ap_ran_ControlOutcomeParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_ControlOutcome_RANParameter_Item },
10409
};
10410
10411
static unsigned
10412
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10413
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10414
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item_sequence_of,
10415
0
                                                  1, maxnoofRANOutcomeParameters, false);
10416
10417
0
  return offset;
10418
0
}
10419
10420
10421
static const per_sequence_t RANFunctionDefinition_Control_Item_sequence[] = {
10422
  { &hf_e2ap_ric_ControlStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10423
  { &hf_e2ap_ric_ControlStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10424
  { &hf_e2ap_ric_ControlAction_List_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item },
10425
  { &hf_e2ap_ric_ControlHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10426
  { &hf_e2ap_ric_ControlMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10427
  { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RIC_Format_Type },
10428
  { &hf_e2ap_ric_ControlOutcomeFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10429
  { &hf_e2ap_ran_ControlOutcomeParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item },
10430
  { NULL, 0, 0, NULL }
10431
};
10432
10433
static unsigned
10434
0
dissect_e2ap_RANFunctionDefinition_Control_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10435
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10436
0
                                   ett_e2ap_RANFunctionDefinition_Control_Item, RANFunctionDefinition_Control_Item_sequence);
10437
10438
0
  return offset;
10439
0
}
10440
10441
10442
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item_sequence_of[1] = {
10443
  { &hf_e2ap_ric_ControlStyle_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Control_Item },
10444
};
10445
10446
static unsigned
10447
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10448
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10449
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item_sequence_of,
10450
0
                                                  1, maxnoofRICStyles, false);
10451
10452
0
  return offset;
10453
0
}
10454
10455
10456
static const per_sequence_t RANFunctionDefinition_Control_sequence[] = {
10457
  { &hf_e2ap_ric_ControlStyle_List_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item },
10458
  { NULL, 0, 0, NULL }
10459
};
10460
10461
static unsigned
10462
0
dissect_e2ap_RANFunctionDefinition_Control(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10463
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10464
0
                                   ett_e2ap_RANFunctionDefinition_Control, RANFunctionDefinition_Control_sequence);
10465
10466
0
  return offset;
10467
0
}
10468
10469
10470
static const per_sequence_t PolicyAction_RANParameter_Item_sequence[] = {
10471
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10472
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10473
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10474
  { NULL, 0, 0, NULL }
10475
};
10476
10477
static unsigned
10478
0
dissect_e2ap_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10479
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10480
0
                                   ett_e2ap_PolicyAction_RANParameter_Item, PolicyAction_RANParameter_Item_sequence);
10481
10482
0
  return offset;
10483
0
}
10484
10485
10486
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item_sequence_of[1] = {
10487
  { &hf_e2ap_ran_PolicyActionParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_PolicyAction_RANParameter_Item },
10488
};
10489
10490
static unsigned
10491
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10492
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10493
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item_sequence_of,
10494
0
                                                  1, maxnoofAssociatedRANParameters, false);
10495
10496
0
  return offset;
10497
0
}
10498
10499
10500
static const per_sequence_t PolicyCondition_RANParameter_Item_sequence[] = {
10501
  { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10502
  { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10503
  { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_RANParameter_Definition },
10504
  { NULL, 0, 0, NULL }
10505
};
10506
10507
static unsigned
10508
0
dissect_e2ap_PolicyCondition_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10509
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10510
0
                                   ett_e2ap_PolicyCondition_RANParameter_Item, PolicyCondition_RANParameter_Item_sequence);
10511
10512
0
  return offset;
10513
0
}
10514
10515
10516
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item_sequence_of[1] = {
10517
  { &hf_e2ap_ran_PolicyConditionParameters_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_PolicyCondition_RANParameter_Item },
10518
};
10519
10520
static unsigned
10521
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10522
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10523
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item_sequence_of,
10524
0
                                                  1, maxnoofAssociatedRANParameters, false);
10525
10526
0
  return offset;
10527
0
}
10528
10529
10530
static const per_sequence_t RANFunctionDefinition_Policy_Action_Item_sequence[] = {
10531
  { &hf_e2ap_ric_PolicyAction_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
10532
  { &hf_e2ap_ric_PolicyAction_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_Name },
10533
  { &hf_e2ap_ric_ActionDefinitionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10534
  { &hf_e2ap_ran_PolicyActionParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item },
10535
  { &hf_e2ap_ran_PolicyConditionParameters_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item },
10536
  { NULL, 0, 0, NULL }
10537
};
10538
10539
static unsigned
10540
0
dissect_e2ap_RANFunctionDefinition_Policy_Action_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10541
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10542
0
                                   ett_e2ap_RANFunctionDefinition_Policy_Action_Item, RANFunctionDefinition_Policy_Action_Item_sequence);
10543
10544
0
  return offset;
10545
0
}
10546
10547
10548
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item_sequence_of[1] = {
10549
  { &hf_e2ap_ric_PolicyAction_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Policy_Action_Item },
10550
};
10551
10552
static unsigned
10553
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10554
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10555
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item, SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item_sequence_of,
10556
0
                                                  1, maxnoofPolicyAction, false);
10557
10558
0
  return offset;
10559
0
}
10560
10561
10562
static const per_sequence_t RANFunctionDefinition_Policy_Item_sequence[] = {
10563
  { &hf_e2ap_ric_PolicyStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10564
  { &hf_e2ap_ric_PolicyStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10565
  { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10566
  { &hf_e2ap_ric_PolicyAction_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item },
10567
  { NULL, 0, 0, NULL }
10568
};
10569
10570
static unsigned
10571
0
dissect_e2ap_RANFunctionDefinition_Policy_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10572
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10573
0
                                   ett_e2ap_RANFunctionDefinition_Policy_Item, RANFunctionDefinition_Policy_Item_sequence);
10574
10575
0
  return offset;
10576
0
}
10577
10578
10579
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item_sequence_of[1] = {
10580
  { &hf_e2ap_ric_PolicyStyle_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Policy_Item },
10581
};
10582
10583
static unsigned
10584
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10585
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10586
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item_sequence_of,
10587
0
                                                  1, maxnoofRICStyles, false);
10588
10589
0
  return offset;
10590
0
}
10591
10592
10593
static const per_sequence_t RANFunctionDefinition_Policy_sequence[] = {
10594
  { &hf_e2ap_ric_PolicyStyle_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item },
10595
  { NULL, 0, 0, NULL }
10596
};
10597
10598
static unsigned
10599
0
dissect_e2ap_RANFunctionDefinition_Policy(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10600
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10601
0
                                   ett_e2ap_RANFunctionDefinition_Policy, RANFunctionDefinition_Policy_sequence);
10602
10603
0
  return offset;
10604
0
}
10605
10606
10607
static const per_sequence_t E2SM_RC_RANFunctionDefinition_sequence[] = {
10608
  { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
10609
  { &hf_e2ap_ranFunctionDefinition_EventTrigger, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANFunctionDefinition_EventTrigger },
10610
  { &hf_e2ap_ranFunctionDefinition_Report, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANFunctionDefinition_Report },
10611
  { &hf_e2ap_ranFunctionDefinition_Insert, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANFunctionDefinition_Insert },
10612
  { &hf_e2ap_ranFunctionDefinition_Control, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANFunctionDefinition_Control },
10613
  { &hf_e2ap_ranFunctionDefinition_Policy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RANFunctionDefinition_Policy },
10614
  { NULL, 0, 0, NULL }
10615
};
10616
10617
static unsigned
10618
0
dissect_e2ap_E2SM_RC_RANFunctionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10619
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10620
0
                                   ett_e2ap_E2SM_RC_RANFunctionDefinition, E2SM_RC_RANFunctionDefinition_sequence);
10621
10622
0
  return offset;
10623
0
}
10624
10625
10626
10627
static unsigned
10628
0
dissect_e2ap_TimeStamp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10629
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10630
0
                                       8, 8, false, NULL);
10631
10632
0
  return offset;
10633
0
}
10634
10635
10636
10637
static unsigned
10638
0
dissect_e2ap_BinIndex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10639
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10640
0
                                                            1U, 65535U, NULL, true);
10641
10642
0
  return offset;
10643
0
}
10644
10645
10646
static const value_string e2ap_BinRangeValue_vals[] = {
10647
  {   0, "valueInt" },
10648
  {   1, "valueReal" },
10649
  { 0, NULL }
10650
};
10651
10652
static const per_choice_t BinRangeValue_choice[] = {
10653
  {   0, &hf_e2ap_valueInt       , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
10654
  {   1, &hf_e2ap_valueReal      , ASN1_EXTENSION_ROOT    , dissect_e2ap_REAL },
10655
  { 0, NULL, 0, NULL }
10656
};
10657
10658
static unsigned
10659
0
dissect_e2ap_BinRangeValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10660
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10661
0
                                 ett_e2ap_BinRangeValue, BinRangeValue_choice,
10662
0
                                 NULL);
10663
10664
0
  return offset;
10665
0
}
10666
10667
10668
10669
static unsigned
10670
0
dissect_e2ap_GranularityPeriod(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10671
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10672
0
                                                            1U, 4294967295U, NULL, false);
10673
10674
0
  return offset;
10675
0
}
10676
10677
10678
10679
static unsigned
10680
0
dissect_e2ap_MeasurementTypeName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10681
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
10682
0
                                          1, 150, true,
10683
0
                                          NULL);
10684
10685
0
  return offset;
10686
0
}
10687
10688
10689
10690
static unsigned
10691
0
dissect_e2ap_MeasurementTypeID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10692
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10693
0
                                                            1U, 65536U, NULL, true);
10694
10695
0
  return offset;
10696
0
}
10697
10698
10699
static const value_string e2ap_MeasurementType_vals[] = {
10700
  {   0, "measName" },
10701
  {   1, "measID" },
10702
  { 0, NULL }
10703
};
10704
10705
static const per_choice_t MeasurementType_choice[] = {
10706
  {   0, &hf_e2ap_measName       , ASN1_EXTENSION_ROOT    , dissect_e2ap_MeasurementTypeName },
10707
  {   1, &hf_e2ap_measID         , ASN1_EXTENSION_ROOT    , dissect_e2ap_MeasurementTypeID },
10708
  { 0, NULL, 0, NULL }
10709
};
10710
10711
static unsigned
10712
0
dissect_e2ap_MeasurementType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10713
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10714
0
                                 ett_e2ap_MeasurementType, MeasurementType_choice,
10715
0
                                 NULL);
10716
10717
0
  return offset;
10718
0
}
10719
10720
10721
static const value_string e2ap_T_noLabel_vals[] = {
10722
  {   0, "true" },
10723
  { 0, NULL }
10724
};
10725
10726
10727
static unsigned
10728
0
dissect_e2ap_T_noLabel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10729
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10730
0
                                     1, NULL, true, 0, NULL);
10731
10732
0
  return offset;
10733
0
}
10734
10735
10736
10737
static unsigned
10738
0
dissect_e2ap_INTEGER_1_15_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10739
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10740
0
                                                            1U, 15U, NULL, true);
10741
10742
0
  return offset;
10743
0
}
10744
10745
10746
static const value_string e2ap_T_sUM_vals[] = {
10747
  {   0, "true" },
10748
  { 0, NULL }
10749
};
10750
10751
10752
static unsigned
10753
0
dissect_e2ap_T_sUM(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10754
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10755
0
                                     1, NULL, true, 0, NULL);
10756
10757
0
  return offset;
10758
0
}
10759
10760
10761
static const value_string e2ap_T_preLabelOverride_vals[] = {
10762
  {   0, "true" },
10763
  { 0, NULL }
10764
};
10765
10766
10767
static unsigned
10768
0
dissect_e2ap_T_preLabelOverride(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10769
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10770
0
                                     1, NULL, true, 0, NULL);
10771
10772
0
  return offset;
10773
0
}
10774
10775
10776
static const value_string e2ap_T_startEndInd_vals[] = {
10777
  {   0, "start" },
10778
  {   1, "end" },
10779
  { 0, NULL }
10780
};
10781
10782
10783
static unsigned
10784
0
dissect_e2ap_T_startEndInd(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10785
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10786
0
                                     2, NULL, true, 0, NULL);
10787
10788
0
  return offset;
10789
0
}
10790
10791
10792
static const value_string e2ap_T_min_vals[] = {
10793
  {   0, "true" },
10794
  { 0, NULL }
10795
};
10796
10797
10798
static unsigned
10799
0
dissect_e2ap_T_min(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10800
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10801
0
                                     1, NULL, true, 0, NULL);
10802
10803
0
  return offset;
10804
0
}
10805
10806
10807
static const value_string e2ap_T_max_vals[] = {
10808
  {   0, "true" },
10809
  { 0, NULL }
10810
};
10811
10812
10813
static unsigned
10814
0
dissect_e2ap_T_max(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10815
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10816
0
                                     1, NULL, true, 0, NULL);
10817
10818
0
  return offset;
10819
0
}
10820
10821
10822
static const value_string e2ap_T_avg_vals[] = {
10823
  {   0, "true" },
10824
  { 0, NULL }
10825
};
10826
10827
10828
static unsigned
10829
0
dissect_e2ap_T_avg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10830
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10831
0
                                     1, NULL, true, 0, NULL);
10832
10833
0
  return offset;
10834
0
}
10835
10836
10837
10838
static unsigned
10839
0
dissect_e2ap_INTEGER_1_2_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10840
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10841
0
                                                            1U, 2U, NULL, true);
10842
10843
0
  return offset;
10844
0
}
10845
10846
10847
static const per_sequence_t MeasurementLabel_sequence[] = {
10848
  { &hf_e2ap_noLabel        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_noLabel },
10849
  { &hf_e2ap_plmnID         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_PLMNIdentity },
10850
  { &hf_e2ap_sliceID        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_S_NSSAI },
10851
  { &hf_e2ap_fiveQI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_FiveQI },
10852
  { &hf_e2ap_qFI            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_QosFlowIdentifier },
10853
  { &hf_e2ap_qCI            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_QCI },
10854
  { &hf_e2ap_qCImax         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_QCI },
10855
  { &hf_e2ap_qCImin         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_QCI },
10856
  { &hf_e2ap_aRPmax         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_15_ },
10857
  { &hf_e2ap_aRPmin         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_15_ },
10858
  { &hf_e2ap_bitrateRange   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10859
  { &hf_e2ap_layerMU_MIMO   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10860
  { &hf_e2ap_sUM            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_sUM },
10861
  { &hf_e2ap_distBinX       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10862
  { &hf_e2ap_distBinY       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10863
  { &hf_e2ap_distBinZ       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10864
  { &hf_e2ap_preLabelOverride, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_preLabelOverride },
10865
  { &hf_e2ap_startEndInd    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_startEndInd },
10866
  { &hf_e2ap_min            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_min },
10867
  { &hf_e2ap_max            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_max },
10868
  { &hf_e2ap_avg            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_avg },
10869
  { &hf_e2ap_ssbIndex       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10870
  { &hf_e2ap_nonGoB_BFmode_Index, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_65535_ },
10871
  { &hf_e2ap_mIMO_mode_Index, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_INTEGER_1_2_ },
10872
  { NULL, 0, 0, NULL }
10873
};
10874
10875
static unsigned
10876
0
dissect_e2ap_MeasurementLabel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10877
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10878
0
                                   ett_e2ap_MeasurementLabel, MeasurementLabel_sequence);
10879
10880
0
  return offset;
10881
0
}
10882
10883
10884
static const value_string e2ap_T_gBR_vals[] = {
10885
  {   0, "true" },
10886
  { 0, NULL }
10887
};
10888
10889
10890
static unsigned
10891
0
dissect_e2ap_T_gBR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10892
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10893
0
                                     1, NULL, true, 0, NULL);
10894
10895
0
  return offset;
10896
0
}
10897
10898
10899
static const value_string e2ap_T_aMBR_vals[] = {
10900
  {   0, "true" },
10901
  { 0, NULL }
10902
};
10903
10904
10905
static unsigned
10906
0
dissect_e2ap_T_aMBR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10907
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10908
0
                                     1, NULL, true, 0, NULL);
10909
10910
0
  return offset;
10911
0
}
10912
10913
10914
static const value_string e2ap_T_isStat_vals[] = {
10915
  {   0, "true" },
10916
  { 0, NULL }
10917
};
10918
10919
10920
static unsigned
10921
0
dissect_e2ap_T_isStat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10922
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10923
0
                                     1, NULL, true, 0, NULL);
10924
10925
0
  return offset;
10926
0
}
10927
10928
10929
static const value_string e2ap_T_isCatM_vals[] = {
10930
  {   0, "true" },
10931
  { 0, NULL }
10932
};
10933
10934
10935
static unsigned
10936
0
dissect_e2ap_T_isCatM(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10937
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10938
0
                                     1, NULL, true, 0, NULL);
10939
10940
0
  return offset;
10941
0
}
10942
10943
10944
static const value_string e2ap_T_rSRP_vals[] = {
10945
  {   0, "true" },
10946
  { 0, NULL }
10947
};
10948
10949
10950
static unsigned
10951
0
dissect_e2ap_T_rSRP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10952
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10953
0
                                     1, NULL, true, 0, NULL);
10954
10955
0
  return offset;
10956
0
}
10957
10958
10959
static const value_string e2ap_T_rSRQ_vals[] = {
10960
  {   0, "true" },
10961
  { 0, NULL }
10962
};
10963
10964
10965
static unsigned
10966
0
dissect_e2ap_T_rSRQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10967
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10968
0
                                     1, NULL, true, 0, NULL);
10969
10970
0
  return offset;
10971
0
}
10972
10973
10974
static const value_string e2ap_T_ul_rSRP_vals[] = {
10975
  {   0, "true" },
10976
  { 0, NULL }
10977
};
10978
10979
10980
static unsigned
10981
0
dissect_e2ap_T_ul_rSRP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10982
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10983
0
                                     1, NULL, true, 0, NULL);
10984
10985
0
  return offset;
10986
0
}
10987
10988
10989
static const value_string e2ap_T_cQI_vals[] = {
10990
  {   0, "true" },
10991
  { 0, NULL }
10992
};
10993
10994
10995
static unsigned
10996
0
dissect_e2ap_T_cQI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10997
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10998
0
                                     1, NULL, true, 0, NULL);
10999
11000
0
  return offset;
11001
0
}
11002
11003
11004
static const value_string e2ap_T_fiveQI_vals[] = {
11005
  {   0, "true" },
11006
  { 0, NULL }
11007
};
11008
11009
11010
static unsigned
11011
0
dissect_e2ap_T_fiveQI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11012
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11013
0
                                     1, NULL, true, 0, NULL);
11014
11015
0
  return offset;
11016
0
}
11017
11018
11019
static const value_string e2ap_T_qCI_vals[] = {
11020
  {   0, "true" },
11021
  { 0, NULL }
11022
};
11023
11024
11025
static unsigned
11026
0
dissect_e2ap_T_qCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11027
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11028
0
                                     1, NULL, true, 0, NULL);
11029
11030
0
  return offset;
11031
0
}
11032
11033
11034
static const value_string e2ap_T_sNSSAI_vals[] = {
11035
  {   0, "true" },
11036
  { 0, NULL }
11037
};
11038
11039
11040
static unsigned
11041
0
dissect_e2ap_T_sNSSAI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11042
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11043
0
                                     1, NULL, true, 0, NULL);
11044
11045
0
  return offset;
11046
0
}
11047
11048
11049
static const value_string e2ap_TestCond_Type_vals[] = {
11050
  {   0, "gBR" },
11051
  {   1, "aMBR" },
11052
  {   2, "isStat" },
11053
  {   3, "isCatM" },
11054
  {   4, "rSRP" },
11055
  {   5, "rSRQ" },
11056
  {   6, "ul-rSRP" },
11057
  {   7, "cQI" },
11058
  {   8, "fiveQI" },
11059
  {   9, "qCI" },
11060
  {  10, "sNSSAI" },
11061
  { 0, NULL }
11062
};
11063
11064
static const per_choice_t TestCond_Type_choice[] = {
11065
  {   0, &hf_e2ap_gBR            , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_gBR },
11066
  {   1, &hf_e2ap_aMBR           , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_aMBR },
11067
  {   2, &hf_e2ap_isStat         , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_isStat },
11068
  {   3, &hf_e2ap_isCatM         , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_isCatM },
11069
  {   4, &hf_e2ap_rSRP           , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_rSRP },
11070
  {   5, &hf_e2ap_rSRQ           , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_rSRQ },
11071
  {   6, &hf_e2ap_ul_rSRP        , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_ul_rSRP },
11072
  {   7, &hf_e2ap_cQI            , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_cQI },
11073
  {   8, &hf_e2ap_fiveQI_01      , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_fiveQI },
11074
  {   9, &hf_e2ap_qCI_01         , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_qCI },
11075
  {  10, &hf_e2ap_sNSSAI         , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_sNSSAI },
11076
  { 0, NULL, 0, NULL }
11077
};
11078
11079
static unsigned
11080
0
dissect_e2ap_TestCond_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11081
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11082
0
                                 ett_e2ap_TestCond_Type, TestCond_Type_choice,
11083
0
                                 NULL);
11084
11085
0
  return offset;
11086
0
}
11087
11088
11089
static const value_string e2ap_TestCond_Expression_vals[] = {
11090
  {   0, "equal" },
11091
  {   1, "greaterthan" },
11092
  {   2, "lessthan" },
11093
  {   3, "contains" },
11094
  {   4, "present" },
11095
  { 0, NULL }
11096
};
11097
11098
11099
static unsigned
11100
0
dissect_e2ap_TestCond_Expression(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11101
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11102
0
                                     5, NULL, true, 0, NULL);
11103
11104
0
  return offset;
11105
0
}
11106
11107
11108
static const value_string e2ap_TestCond_Value_vals[] = {
11109
  {   0, "valueInt" },
11110
  {   1, "valueEnum" },
11111
  {   2, "valueBool" },
11112
  {   3, "valueBitS" },
11113
  {   4, "valueOctS" },
11114
  {   5, "valuePrtS" },
11115
  {   6, "valueReal" },
11116
  { 0, NULL }
11117
};
11118
11119
static const per_choice_t TestCond_Value_choice[] = {
11120
  {   0, &hf_e2ap_valueInt       , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
11121
  {   1, &hf_e2ap_valueEnum      , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
11122
  {   2, &hf_e2ap_valueBool      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BOOLEAN },
11123
  {   3, &hf_e2ap_valueBitS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING },
11124
  {   4, &hf_e2ap_valueOctS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_OCTET_STRING },
11125
  {   5, &hf_e2ap_valuePrtS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_PrintableString },
11126
  {   6, &hf_e2ap_valueReal      , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_REAL },
11127
  { 0, NULL, 0, NULL }
11128
};
11129
11130
static unsigned
11131
0
dissect_e2ap_TestCond_Value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11132
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11133
0
                                 ett_e2ap_TestCond_Value, TestCond_Value_choice,
11134
0
                                 NULL);
11135
11136
0
  return offset;
11137
0
}
11138
11139
11140
static const per_sequence_t TestCondInfo_sequence[] = {
11141
  { &hf_e2ap_testType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TestCond_Type },
11142
  { &hf_e2ap_testExpr       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_TestCond_Expression },
11143
  { &hf_e2ap_testValue      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_TestCond_Value },
11144
  { NULL, 0, 0, NULL }
11145
};
11146
11147
static unsigned
11148
0
dissect_e2ap_TestCondInfo(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11149
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11150
0
                                   ett_e2ap_TestCondInfo, TestCondInfo_sequence);
11151
11152
0
  return offset;
11153
0
}
11154
11155
11156
static const per_sequence_t BinRangeItem_sequence[] = {
11157
  { &hf_e2ap_binIndex       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BinIndex },
11158
  { &hf_e2ap_startValue     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeValue },
11159
  { &hf_e2ap_endValue       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeValue },
11160
  { NULL, 0, 0, NULL }
11161
};
11162
11163
static unsigned
11164
0
dissect_e2ap_BinRangeItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11165
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11166
0
                                   ett_e2ap_BinRangeItem, BinRangeItem_sequence);
11167
11168
0
  return offset;
11169
0
}
11170
11171
11172
static const per_sequence_t BinRangeList_sequence_of[1] = {
11173
  { &hf_e2ap_BinRangeList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeItem },
11174
};
11175
11176
static unsigned
11177
0
dissect_e2ap_BinRangeList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11178
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11179
0
                                                  ett_e2ap_BinRangeList, BinRangeList_sequence_of,
11180
0
                                                  1, maxnoofBin, false);
11181
11182
0
  return offset;
11183
0
}
11184
11185
11186
static const per_sequence_t BinRangeDefinition_sequence[] = {
11187
  { &hf_e2ap_binRangeListX  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeList },
11188
  { &hf_e2ap_binRangeListY  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_BinRangeList },
11189
  { &hf_e2ap_binRangeListZ  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_BinRangeList },
11190
  { NULL, 0, 0, NULL }
11191
};
11192
11193
static unsigned
11194
0
dissect_e2ap_BinRangeDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11195
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11196
0
                                   ett_e2ap_BinRangeDefinition, BinRangeDefinition_sequence);
11197
11198
0
  return offset;
11199
0
}
11200
11201
11202
static const per_sequence_t DistMeasurementBinRangeItem_sequence[] = {
11203
  { &hf_e2ap_measType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11204
  { &hf_e2ap_binRangeDef    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeDefinition },
11205
  { NULL, 0, 0, NULL }
11206
};
11207
11208
static unsigned
11209
0
dissect_e2ap_DistMeasurementBinRangeItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11210
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11211
0
                                   ett_e2ap_DistMeasurementBinRangeItem, DistMeasurementBinRangeItem_sequence);
11212
11213
0
  return offset;
11214
0
}
11215
11216
11217
static const per_sequence_t DistMeasurementBinRangeList_sequence_of[1] = {
11218
  { &hf_e2ap_DistMeasurementBinRangeList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_DistMeasurementBinRangeItem },
11219
};
11220
11221
static unsigned
11222
0
dissect_e2ap_DistMeasurementBinRangeList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11223
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11224
0
                                                  ett_e2ap_DistMeasurementBinRangeList, DistMeasurementBinRangeList_sequence_of,
11225
0
                                                  1, maxnoofMeasurementInfo, false);
11226
11227
0
  return offset;
11228
0
}
11229
11230
11231
static const per_sequence_t LabelInfoItem_sequence[] = {
11232
  { &hf_e2ap_measLabel      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementLabel },
11233
  { NULL, 0, 0, NULL }
11234
};
11235
11236
static unsigned
11237
0
dissect_e2ap_LabelInfoItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11238
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11239
0
                                   ett_e2ap_LabelInfoItem, LabelInfoItem_sequence);
11240
11241
0
  return offset;
11242
0
}
11243
11244
11245
static const per_sequence_t LabelInfoList_sequence_of[1] = {
11246
  { &hf_e2ap_LabelInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_LabelInfoItem },
11247
};
11248
11249
static unsigned
11250
0
dissect_e2ap_LabelInfoList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11251
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11252
0
                                                  ett_e2ap_LabelInfoList, LabelInfoList_sequence_of,
11253
0
                                                  1, maxnoofLabelInfo, false);
11254
11255
0
  return offset;
11256
0
}
11257
11258
11259
static const per_sequence_t MeasurementInfoItem_sequence[] = {
11260
  { &hf_e2ap_measType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11261
  { &hf_e2ap_labelInfoList  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_LabelInfoList },
11262
  { NULL, 0, 0, NULL }
11263
};
11264
11265
static unsigned
11266
0
dissect_e2ap_MeasurementInfoItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11267
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11268
0
                                   ett_e2ap_MeasurementInfoItem, MeasurementInfoItem_sequence);
11269
11270
0
  return offset;
11271
0
}
11272
11273
11274
static const per_sequence_t MeasurementInfoList_sequence_of[1] = {
11275
  { &hf_e2ap_MeasurementInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfoItem },
11276
};
11277
11278
static unsigned
11279
0
dissect_e2ap_MeasurementInfoList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11280
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11281
0
                                                  ett_e2ap_MeasurementInfoList, MeasurementInfoList_sequence_of,
11282
0
                                                  1, maxnoofMeasurementInfo, false);
11283
11284
0
  return offset;
11285
0
}
11286
11287
11288
11289
static unsigned
11290
0
dissect_e2ap_INTEGER_0_4294967295(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11291
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11292
0
                                                            0U, 4294967295U, NULL, false);
11293
11294
0
  return offset;
11295
0
}
11296
11297
11298
11299
static unsigned
11300
0
dissect_e2ap_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11301
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
11302
11303
0
  return offset;
11304
0
}
11305
11306
11307
static const value_string e2ap_MeasurementRecordItem_vals[] = {
11308
  {   0, "integer" },
11309
  {   1, "real" },
11310
  {   2, "noValue" },
11311
  { 0, NULL }
11312
};
11313
11314
static const per_choice_t MeasurementRecordItem_choice[] = {
11315
  {   0, &hf_e2ap_integer        , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER_0_4294967295 },
11316
  {   1, &hf_e2ap_real           , ASN1_EXTENSION_ROOT    , dissect_e2ap_REAL },
11317
  {   2, &hf_e2ap_noValue        , ASN1_EXTENSION_ROOT    , dissect_e2ap_NULL },
11318
  { 0, NULL, 0, NULL }
11319
};
11320
11321
static unsigned
11322
0
dissect_e2ap_MeasurementRecordItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11323
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11324
0
                                 ett_e2ap_MeasurementRecordItem, MeasurementRecordItem_choice,
11325
0
                                 NULL);
11326
11327
0
  return offset;
11328
0
}
11329
11330
11331
static const per_sequence_t MeasurementRecord_sequence_of[1] = {
11332
  { &hf_e2ap_MeasurementRecord_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementRecordItem },
11333
};
11334
11335
static unsigned
11336
0
dissect_e2ap_MeasurementRecord(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11337
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11338
0
                                                  ett_e2ap_MeasurementRecord, MeasurementRecord_sequence_of,
11339
0
                                                  1, maxnoofMeasurementValue, false);
11340
11341
0
  return offset;
11342
0
}
11343
11344
11345
static const value_string e2ap_T_incompleteFlag_vals[] = {
11346
  {   0, "true" },
11347
  { 0, NULL }
11348
};
11349
11350
11351
static unsigned
11352
0
dissect_e2ap_T_incompleteFlag(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11353
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11354
0
                                     1, NULL, true, 0, NULL);
11355
11356
0
  return offset;
11357
0
}
11358
11359
11360
static const per_sequence_t MeasurementDataItem_sequence[] = {
11361
  { &hf_e2ap_measRecord     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementRecord },
11362
  { &hf_e2ap_incompleteFlag , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_T_incompleteFlag },
11363
  { NULL, 0, 0, NULL }
11364
};
11365
11366
static unsigned
11367
0
dissect_e2ap_MeasurementDataItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11368
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11369
0
                                   ett_e2ap_MeasurementDataItem, MeasurementDataItem_sequence);
11370
11371
0
  return offset;
11372
0
}
11373
11374
11375
static const per_sequence_t MeasurementData_sequence_of[1] = {
11376
  { &hf_e2ap_MeasurementData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementDataItem },
11377
};
11378
11379
static unsigned
11380
0
dissect_e2ap_MeasurementData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11381
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11382
0
                                                  ett_e2ap_MeasurementData, MeasurementData_sequence_of,
11383
0
                                                  1, maxnoofMeasurementRecord, false);
11384
11385
0
  return offset;
11386
0
}
11387
11388
11389
static const per_sequence_t MeasurementInfo_Action_Item_sequence[] = {
11390
  { &hf_e2ap_measName       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementTypeName },
11391
  { &hf_e2ap_measID         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_MeasurementTypeID },
11392
  { &hf_e2ap_binRangeDef    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_BinRangeDefinition },
11393
  { NULL, 0, 0, NULL }
11394
};
11395
11396
static unsigned
11397
0
dissect_e2ap_MeasurementInfo_Action_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11398
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11399
0
                                   ett_e2ap_MeasurementInfo_Action_Item, MeasurementInfo_Action_Item_sequence);
11400
11401
0
  return offset;
11402
0
}
11403
11404
11405
static const per_sequence_t MeasurementInfo_Action_List_sequence_of[1] = {
11406
  { &hf_e2ap_MeasurementInfo_Action_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfo_Action_Item },
11407
};
11408
11409
static unsigned
11410
0
dissect_e2ap_MeasurementInfo_Action_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11411
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11412
0
                                                  ett_e2ap_MeasurementInfo_Action_List, MeasurementInfo_Action_List_sequence_of,
11413
0
                                                  1, maxnoofMeasurementInfo, false);
11414
11415
0
  return offset;
11416
0
}
11417
11418
11419
static const value_string e2ap_MatchingCondItem_Choice_vals[] = {
11420
  {   0, "measLabel" },
11421
  {   1, "testCondInfo" },
11422
  { 0, NULL }
11423
};
11424
11425
static const per_choice_t MatchingCondItem_Choice_choice[] = {
11426
  {   0, &hf_e2ap_measLabel      , ASN1_EXTENSION_ROOT    , dissect_e2ap_MeasurementLabel },
11427
  {   1, &hf_e2ap_testCondInfo   , ASN1_EXTENSION_ROOT    , dissect_e2ap_TestCondInfo },
11428
  { 0, NULL, 0, NULL }
11429
};
11430
11431
static unsigned
11432
0
dissect_e2ap_MatchingCondItem_Choice(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11433
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11434
0
                                 ett_e2ap_MatchingCondItem_Choice, MatchingCondItem_Choice_choice,
11435
0
                                 NULL);
11436
11437
0
  return offset;
11438
0
}
11439
11440
11441
static const per_sequence_t MatchingCondItem_sequence[] = {
11442
  { &hf_e2ap_matchingCondChoice, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondItem_Choice },
11443
  { &hf_e2ap_logicalOR      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
11444
  { NULL, 0, 0, NULL }
11445
};
11446
11447
static unsigned
11448
0
dissect_e2ap_MatchingCondItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11449
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11450
0
                                   ett_e2ap_MatchingCondItem, MatchingCondItem_sequence);
11451
11452
0
  return offset;
11453
0
}
11454
11455
11456
static const per_sequence_t MatchingCondList_sequence_of[1] = {
11457
  { &hf_e2ap_MatchingCondList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondItem },
11458
};
11459
11460
static unsigned
11461
0
dissect_e2ap_MatchingCondList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11462
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11463
0
                                                  ett_e2ap_MatchingCondList, MatchingCondList_sequence_of,
11464
0
                                                  1, maxnoofConditionInfo, false);
11465
11466
0
  return offset;
11467
0
}
11468
11469
11470
static const per_sequence_t MeasurementCondItem_sequence[] = {
11471
  { &hf_e2ap_measType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11472
  { &hf_e2ap_matchingCond   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondList },
11473
  { &hf_e2ap_binRangeDef    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_BinRangeDefinition },
11474
  { NULL, 0, 0, NULL }
11475
};
11476
11477
static unsigned
11478
0
dissect_e2ap_MeasurementCondItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11479
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11480
0
                                   ett_e2ap_MeasurementCondItem, MeasurementCondItem_sequence);
11481
11482
0
  return offset;
11483
0
}
11484
11485
11486
static const per_sequence_t MeasurementCondList_sequence_of[1] = {
11487
  { &hf_e2ap_MeasurementCondList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondItem },
11488
};
11489
11490
static unsigned
11491
0
dissect_e2ap_MeasurementCondList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11492
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11493
0
                                                  ett_e2ap_MeasurementCondList, MeasurementCondList_sequence_of,
11494
0
                                                  1, maxnoofMeasurementInfo, false);
11495
11496
0
  return offset;
11497
0
}
11498
11499
11500
static const per_sequence_t MatchingUEidItem_sequence[] = {
11501
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11502
  { NULL, 0, 0, NULL }
11503
};
11504
11505
static unsigned
11506
0
dissect_e2ap_MatchingUEidItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11507
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11508
0
                                   ett_e2ap_MatchingUEidItem, MatchingUEidItem_sequence);
11509
11510
0
  return offset;
11511
0
}
11512
11513
11514
static const per_sequence_t MatchingUEidList_sequence_of[1] = {
11515
  { &hf_e2ap_MatchingUEidList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidItem },
11516
};
11517
11518
static unsigned
11519
0
dissect_e2ap_MatchingUEidList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11520
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11521
0
                                                  ett_e2ap_MatchingUEidList, MatchingUEidList_sequence_of,
11522
0
                                                  1, maxnoofUEID, false);
11523
11524
0
  return offset;
11525
0
}
11526
11527
11528
static const value_string e2ap_T_noUEmatched_vals[] = {
11529
  {   0, "true" },
11530
  { 0, NULL }
11531
};
11532
11533
11534
static unsigned
11535
0
dissect_e2ap_T_noUEmatched(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11536
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11537
0
                                     1, NULL, true, 0, NULL);
11538
11539
0
  return offset;
11540
0
}
11541
11542
11543
static const per_sequence_t MatchingUEidItem_PerGP_sequence[] = {
11544
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11545
  { NULL, 0, 0, NULL }
11546
};
11547
11548
static unsigned
11549
0
dissect_e2ap_MatchingUEidItem_PerGP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11550
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11551
0
                                   ett_e2ap_MatchingUEidItem_PerGP, MatchingUEidItem_PerGP_sequence);
11552
11553
0
  return offset;
11554
0
}
11555
11556
11557
static const per_sequence_t MatchingUEidList_PerGP_sequence_of[1] = {
11558
  { &hf_e2ap_MatchingUEidList_PerGP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidItem_PerGP },
11559
};
11560
11561
static unsigned
11562
0
dissect_e2ap_MatchingUEidList_PerGP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11563
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11564
0
                                                  ett_e2ap_MatchingUEidList_PerGP, MatchingUEidList_PerGP_sequence_of,
11565
0
                                                  1, maxnoofUEID, false);
11566
11567
0
  return offset;
11568
0
}
11569
11570
11571
static const value_string e2ap_T_matchedPerGP_vals[] = {
11572
  {   0, "noUEmatched" },
11573
  {   1, "oneOrMoreUEmatched" },
11574
  { 0, NULL }
11575
};
11576
11577
static const per_choice_t T_matchedPerGP_choice[] = {
11578
  {   0, &hf_e2ap_noUEmatched    , ASN1_EXTENSION_ROOT    , dissect_e2ap_T_noUEmatched },
11579
  {   1, &hf_e2ap_oneOrMoreUEmatched, ASN1_EXTENSION_ROOT    , dissect_e2ap_MatchingUEidList_PerGP },
11580
  { 0, NULL, 0, NULL }
11581
};
11582
11583
static unsigned
11584
0
dissect_e2ap_T_matchedPerGP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11585
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11586
0
                                 ett_e2ap_T_matchedPerGP, T_matchedPerGP_choice,
11587
0
                                 NULL);
11588
11589
0
  return offset;
11590
0
}
11591
11592
11593
static const per_sequence_t MatchingUEidPerGP_Item_sequence[] = {
11594
  { &hf_e2ap_matchedPerGP   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_matchedPerGP },
11595
  { NULL, 0, 0, NULL }
11596
};
11597
11598
static unsigned
11599
0
dissect_e2ap_MatchingUEidPerGP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11600
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11601
0
                                   ett_e2ap_MatchingUEidPerGP_Item, MatchingUEidPerGP_Item_sequence);
11602
11603
0
  return offset;
11604
0
}
11605
11606
11607
static const per_sequence_t MatchingUEidPerGP_sequence_of[1] = {
11608
  { &hf_e2ap_MatchingUEidPerGP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerGP_Item },
11609
};
11610
11611
static unsigned
11612
0
dissect_e2ap_MatchingUEidPerGP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11613
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11614
0
                                                  ett_e2ap_MatchingUEidPerGP, MatchingUEidPerGP_sequence_of,
11615
0
                                                  1, maxnoofMeasurementRecord, false);
11616
11617
0
  return offset;
11618
0
}
11619
11620
11621
static const per_sequence_t MeasurementCondUEidItem_sequence[] = {
11622
  { &hf_e2ap_measType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11623
  { &hf_e2ap_matchingCond   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondList },
11624
  { &hf_e2ap_matchingUEidList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_MatchingUEidList },
11625
  { &hf_e2ap_matchingUEidPerGP, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_MatchingUEidPerGP },
11626
  { NULL, 0, 0, NULL }
11627
};
11628
11629
static unsigned
11630
0
dissect_e2ap_MeasurementCondUEidItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11631
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11632
0
                                   ett_e2ap_MeasurementCondUEidItem, MeasurementCondUEidItem_sequence);
11633
11634
0
  return offset;
11635
0
}
11636
11637
11638
static const per_sequence_t MeasurementCondUEidList_sequence_of[1] = {
11639
  { &hf_e2ap_MeasurementCondUEidList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondUEidItem },
11640
};
11641
11642
static unsigned
11643
0
dissect_e2ap_MeasurementCondUEidList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11644
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11645
0
                                                  ett_e2ap_MeasurementCondUEidList, MeasurementCondUEidList_sequence_of,
11646
0
                                                  1, maxnoofMeasurementInfo, false);
11647
11648
0
  return offset;
11649
0
}
11650
11651
11652
static const per_sequence_t MatchingUeCondPerSubItem_sequence[] = {
11653
  { &hf_e2ap_testCondInfo   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TestCondInfo },
11654
  { &hf_e2ap_logicalOR      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_LogicalOR },
11655
  { NULL, 0, 0, NULL }
11656
};
11657
11658
static unsigned
11659
0
dissect_e2ap_MatchingUeCondPerSubItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11660
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11661
0
                                   ett_e2ap_MatchingUeCondPerSubItem, MatchingUeCondPerSubItem_sequence);
11662
11663
0
  return offset;
11664
0
}
11665
11666
11667
static const per_sequence_t MatchingUeCondPerSubList_sequence_of[1] = {
11668
  { &hf_e2ap_MatchingUeCondPerSubList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUeCondPerSubItem },
11669
};
11670
11671
static unsigned
11672
0
dissect_e2ap_MatchingUeCondPerSubList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11673
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11674
0
                                                  ett_e2ap_MatchingUeCondPerSubList, MatchingUeCondPerSubList_sequence_of,
11675
0
                                                  1, maxnoofConditionInfoPerSub, false);
11676
11677
0
  return offset;
11678
0
}
11679
11680
11681
static const per_sequence_t MatchingUEidPerSubItem_sequence[] = {
11682
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11683
  { NULL, 0, 0, NULL }
11684
};
11685
11686
static unsigned
11687
0
dissect_e2ap_MatchingUEidPerSubItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11688
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11689
0
                                   ett_e2ap_MatchingUEidPerSubItem, MatchingUEidPerSubItem_sequence);
11690
11691
0
  return offset;
11692
0
}
11693
11694
11695
static const per_sequence_t MatchingUEidPerSubList_sequence_of[1] = {
11696
  { &hf_e2ap_MatchingUEidPerSubList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerSubItem },
11697
};
11698
11699
static unsigned
11700
0
dissect_e2ap_MatchingUEidPerSubList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11701
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11702
0
                                                  ett_e2ap_MatchingUEidPerSubList, MatchingUEidPerSubList_sequence_of,
11703
0
                                                  2, maxnoofUEIDPerSub, false);
11704
11705
0
  return offset;
11706
0
}
11707
11708
11709
static const per_sequence_t E2SM_KPM_IndicationMessage_Format1_sequence[] = {
11710
  { &hf_e2ap_measData       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementData },
11711
  { &hf_e2ap_measInfoList   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_MeasurementInfoList },
11712
  { &hf_e2ap_granulPeriod   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GranularityPeriod },
11713
  { NULL, 0, 0, NULL }
11714
};
11715
11716
static unsigned
11717
0
dissect_e2ap_E2SM_KPM_IndicationMessage_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11718
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11719
0
                                   ett_e2ap_E2SM_KPM_IndicationMessage_Format1, E2SM_KPM_IndicationMessage_Format1_sequence);
11720
11721
0
  return offset;
11722
0
}
11723
11724
11725
static const per_sequence_t UEMeasurementReportItem_sequence[] = {
11726
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11727
  { &hf_e2ap_measReport     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_IndicationMessage_Format1 },
11728
  { NULL, 0, 0, NULL }
11729
};
11730
11731
static unsigned
11732
0
dissect_e2ap_UEMeasurementReportItem(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11733
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11734
0
                                   ett_e2ap_UEMeasurementReportItem, UEMeasurementReportItem_sequence);
11735
11736
0
  return offset;
11737
0
}
11738
11739
11740
static const per_sequence_t UEMeasurementReportList_sequence_of[1] = {
11741
  { &hf_e2ap_UEMeasurementReportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_UEMeasurementReportItem },
11742
};
11743
11744
static unsigned
11745
0
dissect_e2ap_UEMeasurementReportList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11746
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11747
0
                                                  ett_e2ap_UEMeasurementReportList, UEMeasurementReportList_sequence_of,
11748
0
                                                  1, maxnoofUEMeasReport, false);
11749
11750
0
  return offset;
11751
0
}
11752
11753
11754
11755
static unsigned
11756
0
dissect_e2ap_INTEGER_1_4294967295(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11757
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11758
0
                                                            1U, 4294967295U, NULL, false);
11759
11760
0
  return offset;
11761
0
}
11762
11763
11764
static const per_sequence_t E2SM_KPM_EventTriggerDefinition_Format1_sequence[] = {
11765
  { &hf_e2ap_reportingPeriod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_4294967295 },
11766
  { NULL, 0, 0, NULL }
11767
};
11768
11769
static unsigned
11770
0
dissect_e2ap_E2SM_KPM_EventTriggerDefinition_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11771
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11772
0
                                   ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1, E2SM_KPM_EventTriggerDefinition_Format1_sequence);
11773
11774
0
  return offset;
11775
0
}
11776
11777
11778
static const value_string e2ap_T_eventDefinition_formats_vals[] = {
11779
  {   0, "eventDefinition-Format1" },
11780
  { 0, NULL }
11781
};
11782
11783
static const per_choice_t T_eventDefinition_formats_choice[] = {
11784
  {   0, &hf_e2ap_eventDefinition_Format1, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_EventTriggerDefinition_Format1 },
11785
  { 0, NULL, 0, NULL }
11786
};
11787
11788
static unsigned
11789
0
dissect_e2ap_T_eventDefinition_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11790
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11791
0
                                 ett_e2ap_T_eventDefinition_formats, T_eventDefinition_formats_choice,
11792
0
                                 NULL);
11793
11794
0
  return offset;
11795
0
}
11796
11797
11798
static const per_sequence_t E2SM_KPM_EventTriggerDefinition_sequence[] = {
11799
  { &hf_e2ap_eventDefinition_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_eventDefinition_formats },
11800
  { NULL, 0, 0, NULL }
11801
};
11802
11803
static unsigned
11804
0
dissect_e2ap_E2SM_KPM_EventTriggerDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11805
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11806
0
                                   ett_e2ap_E2SM_KPM_EventTriggerDefinition, E2SM_KPM_EventTriggerDefinition_sequence);
11807
11808
0
  return offset;
11809
0
}
11810
11811
11812
static const per_sequence_t E2SM_KPM_ActionDefinition_Format1_sequence[] = {
11813
  { &hf_e2ap_measInfoList   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfoList },
11814
  { &hf_e2ap_granulPeriod   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GranularityPeriod },
11815
  { &hf_e2ap_cellGlobalID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_CGI },
11816
  { &hf_e2ap_distMeasBinRangeInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_e2ap_DistMeasurementBinRangeList },
11817
  { NULL, 0, 0, NULL }
11818
};
11819
11820
static unsigned
11821
0
dissect_e2ap_E2SM_KPM_ActionDefinition_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11822
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11823
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition_Format1, E2SM_KPM_ActionDefinition_Format1_sequence);
11824
11825
0
  return offset;
11826
0
}
11827
11828
11829
static const per_sequence_t E2SM_KPM_ActionDefinition_Format2_sequence[] = {
11830
  { &hf_e2ap_ueID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11831
  { &hf_e2ap_subscriptInfo  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11832
  { NULL, 0, 0, NULL }
11833
};
11834
11835
static unsigned
11836
0
dissect_e2ap_E2SM_KPM_ActionDefinition_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11837
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11838
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition_Format2, E2SM_KPM_ActionDefinition_Format2_sequence);
11839
11840
0
  return offset;
11841
0
}
11842
11843
11844
static const per_sequence_t E2SM_KPM_ActionDefinition_Format3_sequence[] = {
11845
  { &hf_e2ap_measCondList   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondList },
11846
  { &hf_e2ap_granulPeriod   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_GranularityPeriod },
11847
  { &hf_e2ap_cellGlobalID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_CGI },
11848
  { NULL, 0, 0, NULL }
11849
};
11850
11851
static unsigned
11852
0
dissect_e2ap_E2SM_KPM_ActionDefinition_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11853
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11854
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition_Format3, E2SM_KPM_ActionDefinition_Format3_sequence);
11855
11856
0
  return offset;
11857
0
}
11858
11859
11860
static const per_sequence_t E2SM_KPM_ActionDefinition_Format4_sequence[] = {
11861
  { &hf_e2ap_matchingUeCondList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUeCondPerSubList },
11862
  { &hf_e2ap_subscriptionInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11863
  { NULL, 0, 0, NULL }
11864
};
11865
11866
static unsigned
11867
0
dissect_e2ap_E2SM_KPM_ActionDefinition_Format4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11868
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11869
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition_Format4, E2SM_KPM_ActionDefinition_Format4_sequence);
11870
11871
0
  return offset;
11872
0
}
11873
11874
11875
static const per_sequence_t E2SM_KPM_ActionDefinition_Format5_sequence[] = {
11876
  { &hf_e2ap_matchingUEidList_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerSubList },
11877
  { &hf_e2ap_subscriptionInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11878
  { NULL, 0, 0, NULL }
11879
};
11880
11881
static unsigned
11882
0
dissect_e2ap_E2SM_KPM_ActionDefinition_Format5(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11883
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11884
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition_Format5, E2SM_KPM_ActionDefinition_Format5_sequence);
11885
11886
0
  return offset;
11887
0
}
11888
11889
11890
static const value_string e2ap_T_actionDefinition_formats_vals[] = {
11891
  {   0, "actionDefinition-Format1" },
11892
  {   1, "actionDefinition-Format2" },
11893
  {   2, "actionDefinition-Format3" },
11894
  {   3, "actionDefinition-Format4" },
11895
  {   4, "actionDefinition-Format5" },
11896
  { 0, NULL }
11897
};
11898
11899
static const per_choice_t T_actionDefinition_formats_choice[] = {
11900
  {   0, &hf_e2ap_actionDefinition_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11901
  {   1, &hf_e2ap_actionDefinition_Format2_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_ActionDefinition_Format2 },
11902
  {   2, &hf_e2ap_actionDefinition_Format3_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_ActionDefinition_Format3 },
11903
  {   3, &hf_e2ap_actionDefinition_Format4_01, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_ActionDefinition_Format4 },
11904
  {   4, &hf_e2ap_actionDefinition_Format5, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_ActionDefinition_Format5 },
11905
  { 0, NULL, 0, NULL }
11906
};
11907
11908
static unsigned
11909
0
dissect_e2ap_T_actionDefinition_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11910
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11911
0
                                 ett_e2ap_T_actionDefinition_formats, T_actionDefinition_formats_choice,
11912
0
                                 NULL);
11913
11914
0
  return offset;
11915
0
}
11916
11917
11918
static const per_sequence_t E2SM_KPM_ActionDefinition_sequence[] = {
11919
  { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
11920
  { &hf_e2ap_actionDefinition_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_actionDefinition_formats },
11921
  { NULL, 0, 0, NULL }
11922
};
11923
11924
static unsigned
11925
0
dissect_e2ap_E2SM_KPM_ActionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11926
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11927
0
                                   ett_e2ap_E2SM_KPM_ActionDefinition, E2SM_KPM_ActionDefinition_sequence);
11928
11929
0
  return offset;
11930
0
}
11931
11932
11933
11934
static unsigned
11935
0
dissect_e2ap_T_colletStartTime(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11936
0
  int ts_offset = offset;
11937
0
    offset = dissect_e2ap_TimeStamp(tvb, offset, actx, tree, hf_index);
11938
11939
  /* Add as a generated field the timestamp decoded */
11940
0
  const char *time_str = tvb_ntp_fmt_ts_sec(actx->pinfo->pool, tvb, (ts_offset+7)/8);
11941
0
  proto_item *ti = proto_tree_add_string(tree, hf_e2ap_timestamp_string, tvb, (ts_offset+7)/8, 4, time_str);
11942
0
  proto_item_set_generated(ti);
11943
11944
11945
11946
11947
0
  return offset;
11948
0
}
11949
11950
11951
11952
static unsigned
11953
0
dissect_e2ap_PrintableString_SIZE_0_15_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11954
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11955
0
                                          0, 15, true,
11956
0
                                          NULL);
11957
11958
0
  return offset;
11959
0
}
11960
11961
11962
11963
static unsigned
11964
0
dissect_e2ap_PrintableString_SIZE_0_400_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11965
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11966
0
                                          0, 400, true,
11967
0
                                          NULL);
11968
11969
0
  return offset;
11970
0
}
11971
11972
11973
11974
static unsigned
11975
0
dissect_e2ap_PrintableString_SIZE_0_8_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11976
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11977
0
                                          0, 8, true,
11978
0
                                          NULL);
11979
11980
0
  return offset;
11981
0
}
11982
11983
11984
11985
static unsigned
11986
0
dissect_e2ap_PrintableString_SIZE_0_32_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11987
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11988
0
                                          0, 32, true,
11989
0
                                          NULL);
11990
11991
0
  return offset;
11992
0
}
11993
11994
11995
static const per_sequence_t E2SM_KPM_IndicationHeader_Format1_sequence[] = {
11996
  { &hf_e2ap_colletStartTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_colletStartTime },
11997
  { &hf_e2ap_fileFormatversion, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_PrintableString_SIZE_0_15_ },
11998
  { &hf_e2ap_senderName     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_PrintableString_SIZE_0_400_ },
11999
  { &hf_e2ap_senderType     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_PrintableString_SIZE_0_8_ },
12000
  { &hf_e2ap_vendorName     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_PrintableString_SIZE_0_32_ },
12001
  { NULL, 0, 0, NULL }
12002
};
12003
12004
static unsigned
12005
0
dissect_e2ap_E2SM_KPM_IndicationHeader_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12006
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12007
0
                                   ett_e2ap_E2SM_KPM_IndicationHeader_Format1, E2SM_KPM_IndicationHeader_Format1_sequence);
12008
12009
0
  return offset;
12010
0
}
12011
12012
12013
static const value_string e2ap_T_indicationHeader_formats_vals[] = {
12014
  {   0, "indicationHeader-Format1" },
12015
  { 0, NULL }
12016
};
12017
12018
static const per_choice_t T_indicationHeader_formats_choice[] = {
12019
  {   0, &hf_e2ap_indicationHeader_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_IndicationHeader_Format1 },
12020
  { 0, NULL, 0, NULL }
12021
};
12022
12023
static unsigned
12024
0
dissect_e2ap_T_indicationHeader_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12025
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12026
0
                                 ett_e2ap_T_indicationHeader_formats, T_indicationHeader_formats_choice,
12027
0
                                 NULL);
12028
12029
0
  return offset;
12030
0
}
12031
12032
12033
static const per_sequence_t E2SM_KPM_IndicationHeader_sequence[] = {
12034
  { &hf_e2ap_indicationHeader_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_indicationHeader_formats },
12035
  { NULL, 0, 0, NULL }
12036
};
12037
12038
static unsigned
12039
0
dissect_e2ap_E2SM_KPM_IndicationHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12040
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12041
0
                                   ett_e2ap_E2SM_KPM_IndicationHeader, E2SM_KPM_IndicationHeader_sequence);
12042
12043
0
  return offset;
12044
0
}
12045
12046
12047
static const per_sequence_t E2SM_KPM_IndicationMessage_Format2_sequence[] = {
12048
  { &hf_e2ap_measData       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementData },
12049
  { &hf_e2ap_measCondUEidList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondUEidList },
12050
  { &hf_e2ap_granulPeriod   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_GranularityPeriod },
12051
  { NULL, 0, 0, NULL }
12052
};
12053
12054
static unsigned
12055
0
dissect_e2ap_E2SM_KPM_IndicationMessage_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12056
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12057
0
                                   ett_e2ap_E2SM_KPM_IndicationMessage_Format2, E2SM_KPM_IndicationMessage_Format2_sequence);
12058
12059
0
  return offset;
12060
0
}
12061
12062
12063
static const per_sequence_t E2SM_KPM_IndicationMessage_Format3_sequence[] = {
12064
  { &hf_e2ap_ueMeasReportList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_UEMeasurementReportList },
12065
  { NULL, 0, 0, NULL }
12066
};
12067
12068
static unsigned
12069
0
dissect_e2ap_E2SM_KPM_IndicationMessage_Format3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12070
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12071
0
                                   ett_e2ap_E2SM_KPM_IndicationMessage_Format3, E2SM_KPM_IndicationMessage_Format3_sequence);
12072
12073
0
  return offset;
12074
0
}
12075
12076
12077
static const value_string e2ap_T_indicationMessage_formats_vals[] = {
12078
  {   0, "indicationMessage-Format1" },
12079
  {   1, "indicationMessage-Format2" },
12080
  {   2, "indicationMessage-Format3" },
12081
  { 0, NULL }
12082
};
12083
12084
static const per_choice_t T_indicationMessage_formats_choice[] = {
12085
  {   0, &hf_e2ap_indicationMessage_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_IndicationMessage_Format1 },
12086
  {   1, &hf_e2ap_indicationMessage_Format2_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_KPM_IndicationMessage_Format2 },
12087
  {   2, &hf_e2ap_indicationMessage_Format3_01, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_IndicationMessage_Format3 },
12088
  { 0, NULL, 0, NULL }
12089
};
12090
12091
static unsigned
12092
0
dissect_e2ap_T_indicationMessage_formats(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12093
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12094
0
                                 ett_e2ap_T_indicationMessage_formats, T_indicationMessage_formats_choice,
12095
0
                                 NULL);
12096
12097
0
  return offset;
12098
0
}
12099
12100
12101
static const per_sequence_t E2SM_KPM_IndicationMessage_sequence[] = {
12102
  { &hf_e2ap_indicationMessage_formats, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_T_indicationMessage_formats },
12103
  { NULL, 0, 0, NULL }
12104
};
12105
12106
static unsigned
12107
0
dissect_e2ap_E2SM_KPM_IndicationMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12108
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12109
0
                                   ett_e2ap_E2SM_KPM_IndicationMessage, E2SM_KPM_IndicationMessage_sequence);
12110
12111
0
  return offset;
12112
0
}
12113
12114
12115
static const per_sequence_t RIC_EventTriggerStyle_Item_sequence[] = {
12116
  { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12117
  { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
12118
  { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12119
  { NULL, 0, 0, NULL }
12120
};
12121
12122
static unsigned
12123
0
dissect_e2ap_RIC_EventTriggerStyle_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12124
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12125
0
                                   ett_e2ap_RIC_EventTriggerStyle_Item, RIC_EventTriggerStyle_Item_sequence);
12126
12127
0
  return offset;
12128
0
}
12129
12130
12131
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item_sequence_of[1] = {
12132
  { &hf_e2ap_ric_EventTriggerStyle_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerStyle_Item },
12133
};
12134
12135
static unsigned
12136
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12137
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12138
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item_sequence_of,
12139
0
                                                  1, maxnoofRICStyles, false);
12140
12141
0
  return offset;
12142
0
}
12143
12144
12145
static const per_sequence_t RIC_ReportStyle_Item_sequence[] = {
12146
  { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12147
  { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
12148
  { &hf_e2ap_ric_ActionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12149
  { &hf_e2ap_measInfo_Action_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfo_Action_List },
12150
  { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12151
  { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12152
  { NULL, 0, 0, NULL }
12153
};
12154
12155
static unsigned
12156
0
dissect_e2ap_RIC_ReportStyle_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12157
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12158
0
                                   ett_e2ap_RIC_ReportStyle_Item, RIC_ReportStyle_Item_sequence);
12159
12160
0
  return offset;
12161
0
}
12162
12163
12164
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item_sequence_of[1] = {
12165
  { &hf_e2ap_ric_ReportStyle_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ReportStyle_Item },
12166
};
12167
12168
static unsigned
12169
0
dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12170
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12171
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item_sequence_of,
12172
0
                                                  1, maxnoofRICStyles, false);
12173
12174
0
  return offset;
12175
0
}
12176
12177
12178
static const per_sequence_t E2SM_KPM_RANfunction_Description_sequence[] = {
12179
  { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
12180
  { &hf_e2ap_ric_EventTriggerStyle_List_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item },
12181
  { &hf_e2ap_ric_ReportStyle_List_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item },
12182
  { NULL, 0, 0, NULL }
12183
};
12184
12185
static unsigned
12186
0
dissect_e2ap_E2SM_KPM_RANfunction_Description(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12187
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12188
0
                                   ett_e2ap_E2SM_KPM_RANfunction_Description, E2SM_KPM_RANfunction_Description_sequence);
12189
12190
0
  return offset;
12191
0
}
12192
12193
12194
static const value_string e2ap_NI_Type_vals[] = {
12195
  {   0, "s1" },
12196
  {   1, "x2" },
12197
  {   2, "ng" },
12198
  {   3, "xn" },
12199
  {   4, "f1" },
12200
  {   5, "e1" },
12201
  { 0, NULL }
12202
};
12203
12204
12205
static unsigned
12206
0
dissect_e2ap_NI_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12207
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12208
0
                                     6, NULL, true, 0, NULL);
12209
12210
0
  return offset;
12211
0
}
12212
12213
12214
12215
static unsigned
12216
0
dissect_e2ap_Global_eNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12217
0
  offset = dissect_e2ap_GlobalENB_ID(tvb, offset, actx, tree, hf_index);
12218
12219
0
  return offset;
12220
0
}
12221
12222
12223
12224
static unsigned
12225
0
dissect_e2ap_Global_en_gNB_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12226
0
  offset = dissect_e2ap_GlobalenGNB_ID(tvb, offset, actx, tree, hf_index);
12227
12228
0
  return offset;
12229
0
}
12230
12231
12232
12233
static unsigned
12234
0
dissect_e2ap_Global_ng_RAN_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12235
0
  offset = dissect_e2ap_GlobalNG_RANNode_ID(tvb, offset, actx, tree, hf_index);
12236
12237
0
  return offset;
12238
0
}
12239
12240
12241
static const per_sequence_t Global_gNB_DU_ID_sequence[] = {
12242
  { &hf_e2ap_global_ng_RAN_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Global_ng_RAN_ID },
12243
  { &hf_e2ap_gNB_DU_ID      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
12244
  { NULL, 0, 0, NULL }
12245
};
12246
12247
static unsigned
12248
0
dissect_e2ap_Global_gNB_DU_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12249
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12250
0
                                   ett_e2ap_Global_gNB_DU_ID, Global_gNB_DU_ID_sequence);
12251
12252
0
  return offset;
12253
0
}
12254
12255
12256
static const per_sequence_t Global_gNB_CU_UP_ID_sequence[] = {
12257
  { &hf_e2ap_global_ng_RAN_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_Global_ng_RAN_ID },
12258
  { &hf_e2ap_gNB_CU_UP_ID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
12259
  { NULL, 0, 0, NULL }
12260
};
12261
12262
static unsigned
12263
0
dissect_e2ap_Global_gNB_CU_UP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12264
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12265
0
                                   ett_e2ap_Global_gNB_CU_UP_ID, Global_gNB_CU_UP_ID_sequence);
12266
12267
0
  return offset;
12268
0
}
12269
12270
12271
static const value_string e2ap_NI_Identifier_vals[] = {
12272
  {   0, "global-eNB-ID" },
12273
  {   1, "global-en-gNB-ID" },
12274
  {   2, "global-ng-RAN-ID" },
12275
  {   3, "global-gNB-DU-ID" },
12276
  {   4, "global-gNB-CU-UP-ID" },
12277
  { 0, NULL }
12278
};
12279
12280
static const per_choice_t NI_Identifier_choice[] = {
12281
  {   0, &hf_e2ap_global_eNB_ID_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_Global_eNB_ID },
12282
  {   1, &hf_e2ap_global_en_gNB_ID_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_Global_en_gNB_ID },
12283
  {   2, &hf_e2ap_global_ng_RAN_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_Global_ng_RAN_ID },
12284
  {   3, &hf_e2ap_global_gNB_DU_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_Global_gNB_DU_ID },
12285
  {   4, &hf_e2ap_global_gNB_CU_UP_ID, ASN1_EXTENSION_ROOT    , dissect_e2ap_Global_gNB_CU_UP_ID },
12286
  { 0, NULL, 0, NULL }
12287
};
12288
12289
static unsigned
12290
0
dissect_e2ap_NI_Identifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12291
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12292
0
                                 ett_e2ap_NI_Identifier, NI_Identifier_choice,
12293
0
                                 NULL);
12294
12295
0
  return offset;
12296
0
}
12297
12298
12299
static const value_string e2ap_NI_Direction_vals[] = {
12300
  {   0, "incoming" },
12301
  {   1, "outgoing" },
12302
  {   2, "both" },
12303
  { 0, NULL }
12304
};
12305
12306
12307
static unsigned
12308
0
dissect_e2ap_NI_Direction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12309
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12310
0
                                     3, NULL, true, 0, NULL);
12311
12312
0
  return offset;
12313
0
}
12314
12315
12316
static const value_string e2ap_TypeOfMessage_vals[] = {
12317
  {   0, "nothing" },
12318
  {   1, "initiating-message" },
12319
  {   2, "successful-outcome" },
12320
  {   3, "unsuccessful-outcome" },
12321
  { 0, NULL }
12322
};
12323
12324
12325
static unsigned
12326
0
dissect_e2ap_TypeOfMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12327
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12328
0
                                     4, NULL, false, 0, NULL);
12329
12330
0
  return offset;
12331
0
}
12332
12333
12334
static const per_sequence_t NI_MessageTypeApproach1_sequence[] = {
12335
  { &hf_e2ap_procedureCode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
12336
  { &hf_e2ap_typeOfMessage  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_TypeOfMessage },
12337
  { NULL, 0, 0, NULL }
12338
};
12339
12340
static unsigned
12341
0
dissect_e2ap_NI_MessageTypeApproach1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12342
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12343
0
                                   ett_e2ap_NI_MessageTypeApproach1, NI_MessageTypeApproach1_sequence);
12344
12345
0
  return offset;
12346
0
}
12347
12348
12349
12350
static unsigned
12351
0
dissect_e2ap_NI_MessageTypeS1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12352
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12353
12354
0
  return offset;
12355
0
}
12356
12357
12358
12359
static unsigned
12360
0
dissect_e2ap_NI_MessageTypeX2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12361
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12362
12363
0
  return offset;
12364
0
}
12365
12366
12367
12368
static unsigned
12369
0
dissect_e2ap_NI_MessageTypeNG(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12370
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12371
12372
0
  return offset;
12373
0
}
12374
12375
12376
12377
static unsigned
12378
0
dissect_e2ap_NI_MessageTypeXn(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12379
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12380
12381
0
  return offset;
12382
0
}
12383
12384
12385
12386
static unsigned
12387
0
dissect_e2ap_NI_MessageTypeF1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12388
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12389
12390
0
  return offset;
12391
0
}
12392
12393
12394
12395
static unsigned
12396
0
dissect_e2ap_NI_MessageTypeE1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12397
0
  offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12398
12399
0
  return offset;
12400
0
}
12401
12402
12403
static const value_string e2ap_NI_MessageType_vals[] = {
12404
  {   0, "s1MessageType" },
12405
  {   1, "x2MessageType" },
12406
  {   2, "ngMessageType" },
12407
  {   3, "xnMessageType" },
12408
  {   4, "f1MessageType" },
12409
  {   5, "e1MessageType" },
12410
  { 0, NULL }
12411
};
12412
12413
static const per_choice_t NI_MessageType_choice[] = {
12414
  {   0, &hf_e2ap_s1MessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeS1 },
12415
  {   1, &hf_e2ap_x2MessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeX2 },
12416
  {   2, &hf_e2ap_ngMessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeNG },
12417
  {   3, &hf_e2ap_xnMessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeXn },
12418
  {   4, &hf_e2ap_f1MessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeF1 },
12419
  {   5, &hf_e2ap_e1MessageType  , ASN1_EXTENSION_ROOT    , dissect_e2ap_NI_MessageTypeE1 },
12420
  { 0, NULL, 0, NULL }
12421
};
12422
12423
static unsigned
12424
0
dissect_e2ap_NI_MessageType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12425
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12426
0
                                 ett_e2ap_NI_MessageType, NI_MessageType_choice,
12427
0
                                 NULL);
12428
12429
0
  return offset;
12430
0
}
12431
12432
12433
12434
static unsigned
12435
0
dissect_e2ap_NI_ProtocolIE_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12436
0
  offset = dissect_e2ap_ProtocolIE_ID(tvb, offset, actx, tree, hf_index);
12437
12438
0
  return offset;
12439
0
}
12440
12441
12442
static const value_string e2ap_NI_ProtocolIE_Test_vals[] = {
12443
  {   0, "equal" },
12444
  {   1, "greaterthan" },
12445
  {   2, "lessthan" },
12446
  {   3, "contains" },
12447
  {   4, "present" },
12448
  { 0, NULL }
12449
};
12450
12451
12452
static unsigned
12453
0
dissect_e2ap_NI_ProtocolIE_Test(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12454
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12455
0
                                     5, NULL, true, 0, NULL);
12456
12457
0
  return offset;
12458
0
}
12459
12460
12461
static const value_string e2ap_NI_ProtocolIE_Value_vals[] = {
12462
  {   0, "valueInt" },
12463
  {   1, "valueEnum" },
12464
  {   2, "valueBool" },
12465
  {   3, "valueBitS" },
12466
  {   4, "valueOctS" },
12467
  {   5, "valuePrtS" },
12468
  { 0, NULL }
12469
};
12470
12471
static const per_choice_t NI_ProtocolIE_Value_choice[] = {
12472
  {   0, &hf_e2ap_valueInt       , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
12473
  {   1, &hf_e2ap_valueEnum      , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
12474
  {   2, &hf_e2ap_valueBool      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BOOLEAN },
12475
  {   3, &hf_e2ap_valueBitS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING },
12476
  {   4, &hf_e2ap_valueOctS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_OCTET_STRING },
12477
  {   5, &hf_e2ap_valuePrtS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_PrintableString },
12478
  { 0, NULL, 0, NULL }
12479
};
12480
12481
static unsigned
12482
0
dissect_e2ap_NI_ProtocolIE_Value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12483
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12484
0
                                 ett_e2ap_NI_ProtocolIE_Value, NI_ProtocolIE_Value_choice,
12485
0
                                 NULL);
12486
12487
0
  return offset;
12488
0
}
12489
12490
12491
static const per_sequence_t NI_ProtocolIE_Item_sequence[] = {
12492
  { &hf_e2ap_interfaceProtocolIE_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_ID },
12493
  { &hf_e2ap_interfaceProtocolIE_Test, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Test },
12494
  { &hf_e2ap_interfaceProtocolIE_Value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Value },
12495
  { NULL, 0, 0, NULL }
12496
};
12497
12498
static unsigned
12499
0
dissect_e2ap_NI_ProtocolIE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12500
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12501
0
                                   ett_e2ap_NI_ProtocolIE_Item, NI_ProtocolIE_Item_sequence);
12502
12503
0
  return offset;
12504
0
}
12505
12506
12507
static const per_sequence_t SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item_sequence_of[1] = {
12508
  { &hf_e2ap_interfaceProtocolIE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Item },
12509
};
12510
12511
static unsigned
12512
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12513
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12514
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item, SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item_sequence_of,
12515
0
                                                  1, maxofInterfaceProtocolTests, false);
12516
12517
0
  return offset;
12518
0
}
12519
12520
12521
static const per_sequence_t E2SM_NI_EventTriggerDefinition_Format1_sequence[] = {
12522
  { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12523
  { &hf_e2ap_interface_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12524
  { &hf_e2ap_interfaceDirection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12525
  { &hf_e2ap_interfaceMessageType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_MessageType },
12526
  { &hf_e2ap_interfaceProtocolIE_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item },
12527
  { NULL, 0, 0, NULL }
12528
};
12529
12530
static unsigned
12531
0
dissect_e2ap_E2SM_NI_EventTriggerDefinition_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12532
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12533
0
                                   ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1, E2SM_NI_EventTriggerDefinition_Format1_sequence);
12534
12535
0
  return offset;
12536
0
}
12537
12538
12539
static const value_string e2ap_E2SM_NI_EventTriggerDefinition_vals[] = {
12540
  {   0, "eventDefinition-Format1" },
12541
  { 0, NULL }
12542
};
12543
12544
static const per_choice_t E2SM_NI_EventTriggerDefinition_choice[] = {
12545
  {   0, &hf_e2ap_eventDefinition_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_EventTriggerDefinition_Format1 },
12546
  { 0, NULL, 0, NULL }
12547
};
12548
12549
static unsigned
12550
0
dissect_e2ap_E2SM_NI_EventTriggerDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12551
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12552
0
                                 ett_e2ap_E2SM_NI_EventTriggerDefinition, E2SM_NI_EventTriggerDefinition_choice,
12553
0
                                 NULL);
12554
12555
0
  return offset;
12556
0
}
12557
12558
12559
12560
static unsigned
12561
0
dissect_e2ap_RANparameter_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12562
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12563
0
                                                            0U, maxofRANparameters, NULL, false);
12564
12565
0
  return offset;
12566
0
}
12567
12568
12569
static const value_string e2ap_RANparameter_Value_vals[] = {
12570
  {   0, "valueInt" },
12571
  {   1, "valueEnum" },
12572
  {   2, "valueBool" },
12573
  {   3, "valueBitS" },
12574
  {   4, "valueOctS" },
12575
  {   5, "valuePrtS" },
12576
  { 0, NULL }
12577
};
12578
12579
static const per_choice_t RANparameter_Value_choice[] = {
12580
  {   0, &hf_e2ap_valueInt       , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
12581
  {   1, &hf_e2ap_valueEnum      , ASN1_EXTENSION_ROOT    , dissect_e2ap_INTEGER },
12582
  {   2, &hf_e2ap_valueBool      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BOOLEAN },
12583
  {   3, &hf_e2ap_valueBitS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_BIT_STRING },
12584
  {   4, &hf_e2ap_valueOctS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_OCTET_STRING },
12585
  {   5, &hf_e2ap_valuePrtS      , ASN1_EXTENSION_ROOT    , dissect_e2ap_PrintableString },
12586
  { 0, NULL, 0, NULL }
12587
};
12588
12589
static unsigned
12590
0
dissect_e2ap_RANparameter_Value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12591
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12592
0
                                 ett_e2ap_RANparameter_Value, RANparameter_Value_choice,
12593
0
                                 NULL);
12594
12595
0
  return offset;
12596
0
}
12597
12598
12599
static const per_sequence_t RANparameter_Item_sequence[] = {
12600
  { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
12601
  { &hf_e2ap_ranParameter_Value_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Value },
12602
  { NULL, 0, 0, NULL }
12603
};
12604
12605
static unsigned
12606
0
dissect_e2ap_RANparameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12607
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12608
0
                                   ett_e2ap_RANparameter_Item, RANparameter_Item_sequence);
12609
12610
0
  return offset;
12611
0
}
12612
12613
12614
static const per_sequence_t SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item_sequence_of[1] = {
12615
  { &hf_e2ap_actionParameter_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Item },
12616
};
12617
12618
static unsigned
12619
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12620
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12621
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item, SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item_sequence_of,
12622
0
                                                  1, maxofActionParameters, false);
12623
12624
0
  return offset;
12625
0
}
12626
12627
12628
static const per_sequence_t E2SM_NI_ActionDefinition_Format1_sequence[] = {
12629
  { &hf_e2ap_actionParameter_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item },
12630
  { NULL, 0, 0, NULL }
12631
};
12632
12633
static unsigned
12634
0
dissect_e2ap_E2SM_NI_ActionDefinition_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12635
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12636
0
                                   ett_e2ap_E2SM_NI_ActionDefinition_Format1, E2SM_NI_ActionDefinition_Format1_sequence);
12637
12638
0
  return offset;
12639
0
}
12640
12641
12642
12643
static unsigned
12644
0
dissect_e2ap_RANueGroupID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12645
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12646
0
                                                            0U, maxofRANueGroups, NULL, false);
12647
12648
0
  return offset;
12649
0
}
12650
12651
12652
static const value_string e2ap_RANparameter_Test_Condition_vals[] = {
12653
  {   0, "equal" },
12654
  {   1, "greaterthan" },
12655
  {   2, "lessthan" },
12656
  {   3, "contains" },
12657
  {   4, "present" },
12658
  { 0, NULL }
12659
};
12660
12661
12662
static unsigned
12663
0
dissect_e2ap_RANparameter_Test_Condition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12664
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12665
0
                                     5, NULL, true, 0, NULL);
12666
12667
0
  return offset;
12668
0
}
12669
12670
12671
static const per_sequence_t RANueGroupDef_Item_sequence[] = {
12672
  { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
12673
  { &hf_e2ap_ranParameter_Test, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Test_Condition },
12674
  { &hf_e2ap_ranParameter_Value_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Value },
12675
  { NULL, 0, 0, NULL }
12676
};
12677
12678
static unsigned
12679
0
dissect_e2ap_RANueGroupDef_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12680
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12681
0
                                   ett_e2ap_RANueGroupDef_Item, RANueGroupDef_Item_sequence);
12682
12683
0
  return offset;
12684
0
}
12685
12686
12687
static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item_sequence_of[1] = {
12688
  { &hf_e2ap_ranUEgroupDef_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupDef_Item },
12689
};
12690
12691
static unsigned
12692
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12693
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12694
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item_sequence_of,
12695
0
                                                  1, maxofRANparameters, false);
12696
12697
0
  return offset;
12698
0
}
12699
12700
12701
static const per_sequence_t RANueGroupDefinition_sequence[] = {
12702
  { &hf_e2ap_ranUEgroupDef_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item },
12703
  { NULL, 0, 0, NULL }
12704
};
12705
12706
static unsigned
12707
0
dissect_e2ap_RANueGroupDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12708
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12709
0
                                   ett_e2ap_RANueGroupDefinition, RANueGroupDefinition_sequence);
12710
12711
0
  return offset;
12712
0
}
12713
12714
12715
static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item_sequence_of[1] = {
12716
  { &hf_e2ap_outcomeElement_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Item },
12717
};
12718
12719
static unsigned
12720
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12721
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12722
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item_sequence_of,
12723
0
                                                  1, maxofRANparameters, false);
12724
12725
0
  return offset;
12726
0
}
12727
12728
12729
static const per_sequence_t RANimperativePolicy_sequence[] = {
12730
  { &hf_e2ap_ranImperativePolicy_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item },
12731
  { NULL, 0, 0, NULL }
12732
};
12733
12734
static unsigned
12735
0
dissect_e2ap_RANimperativePolicy(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12736
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12737
0
                                   ett_e2ap_RANimperativePolicy, RANimperativePolicy_sequence);
12738
12739
0
  return offset;
12740
0
}
12741
12742
12743
static const per_sequence_t RANueGroup_Item_sequence[] = {
12744
  { &hf_e2ap_ranUEgroupID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupID },
12745
  { &hf_e2ap_ranUEgroupDefinition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupDefinition },
12746
  { &hf_e2ap_ranPolicy      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANimperativePolicy },
12747
  { NULL, 0, 0, NULL }
12748
};
12749
12750
static unsigned
12751
0
dissect_e2ap_RANueGroup_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12752
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12753
0
                                   ett_e2ap_RANueGroup_Item, RANueGroup_Item_sequence);
12754
12755
0
  return offset;
12756
0
}
12757
12758
12759
static const per_sequence_t SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item_sequence_of[1] = {
12760
  { &hf_e2ap_ranUEgroup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroup_Item },
12761
};
12762
12763
static unsigned
12764
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12765
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12766
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item, SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item_sequence_of,
12767
0
                                                  1, maxofRANueGroups, false);
12768
12769
0
  return offset;
12770
0
}
12771
12772
12773
static const per_sequence_t E2SM_NI_ActionDefinition_Format2_sequence[] = {
12774
  { &hf_e2ap_ranUEgroup_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item },
12775
  { NULL, 0, 0, NULL }
12776
};
12777
12778
static unsigned
12779
0
dissect_e2ap_E2SM_NI_ActionDefinition_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12780
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12781
0
                                   ett_e2ap_E2SM_NI_ActionDefinition_Format2, E2SM_NI_ActionDefinition_Format2_sequence);
12782
12783
0
  return offset;
12784
0
}
12785
12786
12787
static const value_string e2ap_E2SM_NI_ActionDefinitionFormat_vals[] = {
12788
  {   0, "actionDefinition-Format1" },
12789
  {   1, "actionDefinition-Format2" },
12790
  { 0, NULL }
12791
};
12792
12793
static const per_choice_t E2SM_NI_ActionDefinitionFormat_choice[] = {
12794
  {   0, &hf_e2ap_actionDefinition_Format1_02, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_ActionDefinition_Format1 },
12795
  {   1, &hf_e2ap_actionDefinition_Format2_02, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_ActionDefinition_Format2 },
12796
  { 0, NULL, 0, NULL }
12797
};
12798
12799
static unsigned
12800
0
dissect_e2ap_E2SM_NI_ActionDefinitionFormat(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12801
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12802
0
                                 ett_e2ap_E2SM_NI_ActionDefinitionFormat, E2SM_NI_ActionDefinitionFormat_choice,
12803
0
                                 NULL);
12804
12805
0
  return offset;
12806
0
}
12807
12808
12809
static const per_sequence_t E2SM_NI_ActionDefinition_sequence[] = {
12810
  { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12811
  { &hf_e2ap_action_Definition_Format, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_NI_ActionDefinitionFormat },
12812
  { NULL, 0, 0, NULL }
12813
};
12814
12815
static unsigned
12816
0
dissect_e2ap_E2SM_NI_ActionDefinition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12817
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12818
0
                                   ett_e2ap_E2SM_NI_ActionDefinition, E2SM_NI_ActionDefinition_sequence);
12819
12820
0
  return offset;
12821
0
}
12822
12823
12824
12825
static unsigned
12826
0
dissect_e2ap_NI_TimeStamp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12827
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
12828
0
                                       8, 8, false, NULL);
12829
12830
0
  return offset;
12831
0
}
12832
12833
12834
static const per_sequence_t E2SM_NI_IndicationHeader_Format1_sequence[] = {
12835
  { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12836
  { &hf_e2ap_interface_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12837
  { &hf_e2ap_interfaceDirection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12838
  { &hf_e2ap_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_NI_TimeStamp },
12839
  { NULL, 0, 0, NULL }
12840
};
12841
12842
static unsigned
12843
0
dissect_e2ap_E2SM_NI_IndicationHeader_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12844
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12845
0
                                   ett_e2ap_E2SM_NI_IndicationHeader_Format1, E2SM_NI_IndicationHeader_Format1_sequence);
12846
12847
0
  return offset;
12848
0
}
12849
12850
12851
static const value_string e2ap_E2SM_NI_IndicationHeader_vals[] = {
12852
  {   0, "indicationHeader-Format1" },
12853
  { 0, NULL }
12854
};
12855
12856
static const per_choice_t E2SM_NI_IndicationHeader_choice[] = {
12857
  {   0, &hf_e2ap_indicationHeader_Format1_02, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_IndicationHeader_Format1 },
12858
  { 0, NULL, 0, NULL }
12859
};
12860
12861
static unsigned
12862
0
dissect_e2ap_E2SM_NI_IndicationHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12863
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12864
0
                                 ett_e2ap_E2SM_NI_IndicationHeader, E2SM_NI_IndicationHeader_choice,
12865
0
                                 NULL);
12866
12867
0
  return offset;
12868
0
}
12869
12870
12871
12872
static unsigned
12873
0
dissect_e2ap_NI_Message(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12874
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
12875
0
                                       NO_BOUND, NO_BOUND, false, NULL);
12876
12877
0
  return offset;
12878
0
}
12879
12880
12881
static const per_sequence_t E2SM_NI_IndicationMessage_Format1_sequence[] = {
12882
  { &hf_e2ap_interfaceMessage, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Message },
12883
  { NULL, 0, 0, NULL }
12884
};
12885
12886
static unsigned
12887
0
dissect_e2ap_E2SM_NI_IndicationMessage_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12888
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12889
0
                                   ett_e2ap_E2SM_NI_IndicationMessage_Format1, E2SM_NI_IndicationMessage_Format1_sequence);
12890
12891
0
  return offset;
12892
0
}
12893
12894
12895
static const value_string e2ap_E2SM_NI_IndicationMessage_vals[] = {
12896
  {   0, "indicationMessage-Format1" },
12897
  { 0, NULL }
12898
};
12899
12900
static const per_choice_t E2SM_NI_IndicationMessage_choice[] = {
12901
  {   0, &hf_e2ap_indicationMessage_Format1_02, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_IndicationMessage_Format1 },
12902
  { 0, NULL, 0, NULL }
12903
};
12904
12905
static unsigned
12906
0
dissect_e2ap_E2SM_NI_IndicationMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12907
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12908
0
                                 ett_e2ap_E2SM_NI_IndicationMessage, E2SM_NI_IndicationMessage_choice,
12909
0
                                 NULL);
12910
12911
0
  return offset;
12912
0
}
12913
12914
12915
12916
static unsigned
12917
0
dissect_e2ap_RANcallProcess_ID_number(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12918
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
12919
12920
0
  return offset;
12921
0
}
12922
12923
12924
static const per_sequence_t E2SM_NI_CallProcessID_Format1_sequence[] = {
12925
  { &hf_e2ap_callProcess_ID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANcallProcess_ID_number },
12926
  { NULL, 0, 0, NULL }
12927
};
12928
12929
static unsigned
12930
0
dissect_e2ap_E2SM_NI_CallProcessID_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12931
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12932
0
                                   ett_e2ap_E2SM_NI_CallProcessID_Format1, E2SM_NI_CallProcessID_Format1_sequence);
12933
12934
0
  return offset;
12935
0
}
12936
12937
12938
12939
static unsigned
12940
0
dissect_e2ap_RANcallProcess_ID_string(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12941
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
12942
0
                                          1, 150, true,
12943
0
                                          NULL);
12944
12945
0
  return offset;
12946
0
}
12947
12948
12949
static const per_sequence_t E2SM_NI_CallProcessID_Format2_sequence[] = {
12950
  { &hf_e2ap_callProcess_ID_format2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANcallProcess_ID_string },
12951
  { NULL, 0, 0, NULL }
12952
};
12953
12954
static unsigned
12955
0
dissect_e2ap_E2SM_NI_CallProcessID_Format2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12956
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12957
0
                                   ett_e2ap_E2SM_NI_CallProcessID_Format2, E2SM_NI_CallProcessID_Format2_sequence);
12958
12959
0
  return offset;
12960
0
}
12961
12962
12963
static const value_string e2ap_E2SM_NI_CallProcessID_vals[] = {
12964
  {   0, "callProcessID-Format1" },
12965
  {   1, "callProcessID-Format2" },
12966
  { 0, NULL }
12967
};
12968
12969
static const per_choice_t E2SM_NI_CallProcessID_choice[] = {
12970
  {   0, &hf_e2ap_callProcessID_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_CallProcessID_Format1 },
12971
  {   1, &hf_e2ap_callProcessID_Format2, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_CallProcessID_Format2 },
12972
  { 0, NULL, 0, NULL }
12973
};
12974
12975
static unsigned
12976
0
dissect_e2ap_E2SM_NI_CallProcessID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12977
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12978
0
                                 ett_e2ap_E2SM_NI_CallProcessID, E2SM_NI_CallProcessID_choice,
12979
0
                                 NULL);
12980
12981
0
  return offset;
12982
0
}
12983
12984
12985
12986
static unsigned
12987
0
dissect_e2ap_RIC_Control_Message_Priority(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12988
0
  offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
12989
12990
0
  return offset;
12991
0
}
12992
12993
12994
static const per_sequence_t E2SM_NI_ControlHeader_Format1_sequence[] = {
12995
  { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12996
  { &hf_e2ap_interface_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12997
  { &hf_e2ap_interface_Direction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12998
  { &hf_e2ap_ric_Control_Message_Priority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_RIC_Control_Message_Priority },
12999
  { NULL, 0, 0, NULL }
13000
};
13001
13002
static unsigned
13003
0
dissect_e2ap_E2SM_NI_ControlHeader_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13004
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13005
0
                                   ett_e2ap_E2SM_NI_ControlHeader_Format1, E2SM_NI_ControlHeader_Format1_sequence);
13006
13007
0
  return offset;
13008
0
}
13009
13010
13011
static const value_string e2ap_E2SM_NI_ControlHeader_vals[] = {
13012
  {   0, "controlHeader-Format1" },
13013
  { 0, NULL }
13014
};
13015
13016
static const per_choice_t E2SM_NI_ControlHeader_choice[] = {
13017
  {   0, &hf_e2ap_controlHeader_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_ControlHeader_Format1 },
13018
  { 0, NULL, 0, NULL }
13019
};
13020
13021
static unsigned
13022
0
dissect_e2ap_E2SM_NI_ControlHeader(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13023
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13024
0
                                 ett_e2ap_E2SM_NI_ControlHeader, E2SM_NI_ControlHeader_choice,
13025
0
                                 NULL);
13026
13027
0
  return offset;
13028
0
}
13029
13030
13031
static const per_sequence_t E2SM_NI_ControlMessage_Format1_sequence[] = {
13032
  { &hf_e2ap_interfaceMessage, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Message },
13033
  { NULL, 0, 0, NULL }
13034
};
13035
13036
static unsigned
13037
0
dissect_e2ap_E2SM_NI_ControlMessage_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13038
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13039
0
                                   ett_e2ap_E2SM_NI_ControlMessage_Format1, E2SM_NI_ControlMessage_Format1_sequence);
13040
13041
0
  return offset;
13042
0
}
13043
13044
13045
static const value_string e2ap_E2SM_NI_ControlMessage_vals[] = {
13046
  {   0, "controlMessage-Format1" },
13047
  { 0, NULL }
13048
};
13049
13050
static const per_choice_t E2SM_NI_ControlMessage_choice[] = {
13051
  {   0, &hf_e2ap_controlMessage_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_ControlMessage_Format1 },
13052
  { 0, NULL, 0, NULL }
13053
};
13054
13055
static unsigned
13056
0
dissect_e2ap_E2SM_NI_ControlMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13057
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13058
0
                                 ett_e2ap_E2SM_NI_ControlMessage, E2SM_NI_ControlMessage_choice,
13059
0
                                 NULL);
13060
13061
0
  return offset;
13062
0
}
13063
13064
13065
static const per_sequence_t E2SM_NI_ControlOutcome_Format1_sequence[] = {
13066
  { &hf_e2ap_outcomeElement_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item },
13067
  { NULL, 0, 0, NULL }
13068
};
13069
13070
static unsigned
13071
0
dissect_e2ap_E2SM_NI_ControlOutcome_Format1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13072
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13073
0
                                   ett_e2ap_E2SM_NI_ControlOutcome_Format1, E2SM_NI_ControlOutcome_Format1_sequence);
13074
13075
0
  return offset;
13076
0
}
13077
13078
13079
static const value_string e2ap_E2SM_NI_ControlOutcome_vals[] = {
13080
  {   0, "controlOutcome-Format1" },
13081
  { 0, NULL }
13082
};
13083
13084
static const per_choice_t E2SM_NI_ControlOutcome_choice[] = {
13085
  {   0, &hf_e2ap_controlOutcome_Format1_01, ASN1_EXTENSION_ROOT    , dissect_e2ap_E2SM_NI_ControlOutcome_Format1 },
13086
  { 0, NULL, 0, NULL }
13087
};
13088
13089
static unsigned
13090
0
dissect_e2ap_E2SM_NI_ControlOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13091
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13092
0
                                 ett_e2ap_E2SM_NI_ControlOutcome, E2SM_NI_ControlOutcome_choice,
13093
0
                                 NULL);
13094
13095
0
  return offset;
13096
0
}
13097
13098
13099
static const per_sequence_t RIC_EventTriggerStyle_List_sequence[] = {
13100
  { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13101
  { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13102
  { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13103
  { NULL, 0, 0, NULL }
13104
};
13105
13106
static unsigned
13107
0
dissect_e2ap_RIC_EventTriggerStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13108
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13109
0
                                   ett_e2ap_RIC_EventTriggerStyle_List, RIC_EventTriggerStyle_List_sequence);
13110
13111
0
  return offset;
13112
0
}
13113
13114
13115
static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List_sequence_of[1] = {
13116
  { &hf_e2ap_ric_EventTriggerStyle_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerStyle_List },
13117
};
13118
13119
static unsigned
13120
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13121
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13122
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List_sequence_of,
13123
0
                                                  1, maxofRICstyles, false);
13124
13125
0
  return offset;
13126
0
}
13127
13128
13129
13130
static unsigned
13131
0
dissect_e2ap_RANparameter_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13132
0
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
13133
0
                                          1, 150, true,
13134
0
                                          NULL);
13135
13136
0
  return offset;
13137
0
}
13138
13139
13140
static const value_string e2ap_RANparameter_Type_vals[] = {
13141
  {   0, "integer" },
13142
  {   1, "enumerated" },
13143
  {   2, "boolean" },
13144
  {   3, "bit-string" },
13145
  {   4, "octet-string" },
13146
  {   5, "printable-string" },
13147
  { 0, NULL }
13148
};
13149
13150
13151
static unsigned
13152
0
dissect_e2ap_RANparameter_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13153
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
13154
0
                                     6, NULL, true, 0, NULL);
13155
13156
0
  return offset;
13157
0
}
13158
13159
13160
static const per_sequence_t RANparameterDef_Item_sequence[] = {
13161
  { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
13162
  { &hf_e2ap_ranParameter_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Name },
13163
  { &hf_e2ap_ranParameter_Type_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Type },
13164
  { NULL, 0, 0, NULL }
13165
};
13166
13167
static unsigned
13168
0
dissect_e2ap_RANparameterDef_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13169
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13170
0
                                   ett_e2ap_RANparameterDef_Item, RANparameterDef_Item_sequence);
13171
13172
0
  return offset;
13173
0
}
13174
13175
13176
static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item_sequence_of[1] = {
13177
  { &hf_e2ap_ric_ControlOutcomeRanParaDef_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameterDef_Item },
13178
};
13179
13180
static unsigned
13181
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13182
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13183
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item_sequence_of,
13184
0
                                                  1, maxofRANparameters, false);
13185
13186
0
  return offset;
13187
0
}
13188
13189
13190
static const per_sequence_t RIC_ReportStyle_List_sequence[] = {
13191
  { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13192
  { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13193
  { &hf_e2ap_ric_ReportActionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13194
  { &hf_e2ap_ric_ReportRanParameterDef_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13195
  { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13196
  { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13197
  { NULL, 0, 0, NULL }
13198
};
13199
13200
static unsigned
13201
0
dissect_e2ap_RIC_ReportStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13202
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13203
0
                                   ett_e2ap_RIC_ReportStyle_List, RIC_ReportStyle_List_sequence);
13204
13205
0
  return offset;
13206
0
}
13207
13208
13209
static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List_sequence_of[1] = {
13210
  { &hf_e2ap_ric_ReportStyle_List_item_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ReportStyle_List },
13211
};
13212
13213
static unsigned
13214
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13215
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13216
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List_sequence_of,
13217
0
                                                  1, maxofRICstyles, false);
13218
13219
0
  return offset;
13220
0
}
13221
13222
13223
static const per_sequence_t RIC_InsertStyle_List_sequence[] = {
13224
  { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13225
  { &hf_e2ap_ric_InsertStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13226
  { &hf_e2ap_ric_InsertActionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13227
  { &hf_e2ap_ric_InsertRanParameterDef_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13228
  { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13229
  { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13230
  { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13231
  { NULL, 0, 0, NULL }
13232
};
13233
13234
static unsigned
13235
0
dissect_e2ap_RIC_InsertStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13236
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13237
0
                                   ett_e2ap_RIC_InsertStyle_List, RIC_InsertStyle_List_sequence);
13238
13239
0
  return offset;
13240
0
}
13241
13242
13243
static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List_sequence_of[1] = {
13244
  { &hf_e2ap_ric_InsertStyle_List_item_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertStyle_List },
13245
};
13246
13247
static unsigned
13248
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13249
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13250
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List_sequence_of,
13251
0
                                                  1, maxofRICstyles, false);
13252
13253
0
  return offset;
13254
0
}
13255
13256
13257
static const per_sequence_t RIC_ControlStyle_List_sequence[] = {
13258
  { &hf_e2ap_ric_ControlStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13259
  { &hf_e2ap_ric_ControlStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13260
  { &hf_e2ap_ric_ControlFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13261
  { &hf_e2ap_ric_ControlHeaderFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13262
  { &hf_e2ap_ric_ControlMessageFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13263
  { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13264
  { &hf_e2ap_ric_ControlOutcomeFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13265
  { &hf_e2ap_ric_ControlOutcomeRanParaDef_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13266
  { NULL, 0, 0, NULL }
13267
};
13268
13269
static unsigned
13270
0
dissect_e2ap_RIC_ControlStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13271
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13272
0
                                   ett_e2ap_RIC_ControlStyle_List, RIC_ControlStyle_List_sequence);
13273
13274
0
  return offset;
13275
0
}
13276
13277
13278
static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List_sequence_of[1] = {
13279
  { &hf_e2ap_ric_ControlStyle_List_item_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlStyle_List },
13280
};
13281
13282
static unsigned
13283
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13284
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13285
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List_sequence_of,
13286
0
                                                  1, maxofRICstyles, false);
13287
13288
0
  return offset;
13289
0
}
13290
13291
13292
static const per_sequence_t RIC_PolicyStyle_List_sequence[] = {
13293
  { &hf_e2ap_ric_PolicyStyle_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13294
  { &hf_e2ap_ric_PolicyStyle_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13295
  { &hf_e2ap_ric_PolicyActionFormat_Type, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13296
  { &hf_e2ap_ric_PolicyRanParameterDef_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13297
  { NULL, 0, 0, NULL }
13298
};
13299
13300
static unsigned
13301
0
dissect_e2ap_RIC_PolicyStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13302
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13303
0
                                   ett_e2ap_RIC_PolicyStyle_List, RIC_PolicyStyle_List_sequence);
13304
13305
0
  return offset;
13306
0
}
13307
13308
13309
static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List_sequence_of[1] = {
13310
  { &hf_e2ap_ric_PolicyStyle_List_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyStyle_List },
13311
};
13312
13313
static unsigned
13314
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13315
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13316
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List_sequence_of,
13317
0
                                                  1, maxofRICstyles, false);
13318
13319
0
  return offset;
13320
0
}
13321
13322
13323
static const per_sequence_t E2SM_NI_RANfunction_Item_sequence[] = {
13324
  { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
13325
  { &hf_e2ap_ric_EventTriggerStyle_List_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List },
13326
  { &hf_e2ap_ric_ReportStyle_List_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List },
13327
  { &hf_e2ap_ric_InsertStyle_List_03, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List },
13328
  { &hf_e2ap_ric_ControlStyle_List_03, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List },
13329
  { &hf_e2ap_ric_PolicyStyle_List_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List },
13330
  { NULL, 0, 0, NULL }
13331
};
13332
13333
static unsigned
13334
0
dissect_e2ap_E2SM_NI_RANfunction_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13335
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13336
0
                                   ett_e2ap_E2SM_NI_RANfunction_Item, E2SM_NI_RANfunction_Item_sequence);
13337
13338
0
  return offset;
13339
0
}
13340
13341
13342
static const per_sequence_t SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item_sequence_of[1] = {
13343
  { &hf_e2ap_ni_Type_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_NI_RANfunction_Item },
13344
};
13345
13346
static unsigned
13347
0
dissect_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13348
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13349
0
                                                  ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item, SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item_sequence_of,
13350
0
                                                  1, maxofNItypes, false);
13351
13352
0
  return offset;
13353
0
}
13354
13355
13356
static const per_sequence_t E2SM_NI_RANfunction_Description_sequence[] = {
13357
  { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
13358
  { &hf_e2ap_ni_Type_List   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item },
13359
  { NULL, 0, 0, NULL }
13360
};
13361
13362
static unsigned
13363
0
dissect_e2ap_E2SM_NI_RANfunction_Description(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13364
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13365
0
                                   ett_e2ap_E2SM_NI_RANfunction_Description, E2SM_NI_RANfunction_Description_sequence);
13366
13367
0
  return offset;
13368
0
}
13369
13370
/*--- PDUs ---*/
13371
13372
8
static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13373
8
  unsigned offset = 0;
13374
8
  asn1_ctx_t asn1_ctx;
13375
8
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13376
8
  offset = dissect_e2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_e2ap_Cause_PDU);
13377
8
  offset += 7; offset >>= 3;
13378
8
  return offset;
13379
8
}
13380
9
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13381
9
  unsigned offset = 0;
13382
9
  asn1_ctx_t asn1_ctx;
13383
9
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13384
9
  offset = dissect_e2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_e2ap_CriticalityDiagnostics_PDU);
13385
9
  offset += 7; offset >>= 3;
13386
9
  return offset;
13387
9
}
13388
8
static int dissect_GlobalE2node_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13389
8
  unsigned offset = 0;
13390
8
  asn1_ctx_t asn1_ctx;
13391
8
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13392
8
  offset = dissect_e2ap_GlobalE2node_ID(tvb, offset, &asn1_ctx, tree, hf_e2ap_GlobalE2node_ID_PDU);
13393
8
  offset += 7; offset >>= 3;
13394
8
  return offset;
13395
8
}
13396
15
static int dissect_GlobalRIC_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13397
15
  unsigned offset = 0;
13398
15
  asn1_ctx_t asn1_ctx;
13399
15
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13400
15
  offset = dissect_e2ap_GlobalRIC_ID(tvb, offset, &asn1_ctx, tree, hf_e2ap_GlobalRIC_ID_PDU);
13401
15
  offset += 7; offset >>= 3;
13402
15
  return offset;
13403
15
}
13404
2
static int dissect_RANfunctionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13405
2
  unsigned offset = 0;
13406
2
  asn1_ctx_t asn1_ctx;
13407
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13408
2
  offset = dissect_e2ap_RANfunctionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionID_PDU);
13409
2
  offset += 7; offset >>= 3;
13410
2
  return offset;
13411
2
}
13412
1
static int dissect_RICactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13413
1
  unsigned offset = 0;
13414
1
  asn1_ctx_t asn1_ctx;
13415
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13416
1
  offset = dissect_e2ap_RICactionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactionID_PDU);
13417
1
  offset += 7; offset >>= 3;
13418
1
  return offset;
13419
1
}
13420
1
static int dissect_RICcallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13421
1
  unsigned offset = 0;
13422
1
  asn1_ctx_t asn1_ctx;
13423
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13424
1
  offset = dissect_e2ap_RICcallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcallProcessID_PDU);
13425
1
  offset += 7; offset >>= 3;
13426
1
  return offset;
13427
1
}
13428
4
static int dissect_RICcontrolAckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13429
4
  unsigned offset = 0;
13430
4
  asn1_ctx_t asn1_ctx;
13431
4
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13432
4
  offset = dissect_e2ap_RICcontrolAckRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolAckRequest_PDU);
13433
4
  offset += 7; offset >>= 3;
13434
4
  return offset;
13435
4
}
13436
0
static int dissect_RICcontrolHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13437
0
  unsigned offset = 0;
13438
0
  asn1_ctx_t asn1_ctx;
13439
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13440
0
  offset = dissect_e2ap_RICcontrolHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolHeader_PDU);
13441
0
  offset += 7; offset >>= 3;
13442
0
  return offset;
13443
0
}
13444
2
static int dissect_RICcontrolMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13445
2
  unsigned offset = 0;
13446
2
  asn1_ctx_t asn1_ctx;
13447
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13448
2
  offset = dissect_e2ap_RICcontrolMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolMessage_PDU);
13449
2
  offset += 7; offset >>= 3;
13450
2
  return offset;
13451
2
}
13452
4
static int dissect_RICcontrolOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13453
4
  unsigned offset = 0;
13454
4
  asn1_ctx_t asn1_ctx;
13455
4
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13456
4
  offset = dissect_e2ap_RICcontrolOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolOutcome_PDU);
13457
4
  offset += 7; offset >>= 3;
13458
4
  return offset;
13459
4
}
13460
0
static int dissect_RICeventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13461
0
  unsigned offset = 0;
13462
0
  asn1_ctx_t asn1_ctx;
13463
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13464
0
  offset = dissect_e2ap_RICeventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICeventTriggerDefinition_PDU);
13465
0
  offset += 7; offset >>= 3;
13466
0
  return offset;
13467
0
}
13468
4
static int dissect_RICindicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13469
4
  unsigned offset = 0;
13470
4
  asn1_ctx_t asn1_ctx;
13471
4
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13472
4
  offset = dissect_e2ap_RICindicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationHeader_PDU);
13473
4
  offset += 7; offset >>= 3;
13474
4
  return offset;
13475
4
}
13476
2
static int dissect_RICindicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13477
2
  unsigned offset = 0;
13478
2
  asn1_ctx_t asn1_ctx;
13479
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13480
2
  offset = dissect_e2ap_RICindicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationMessage_PDU);
13481
2
  offset += 7; offset >>= 3;
13482
2
  return offset;
13483
2
}
13484
1
static int dissect_RICindicationSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13485
1
  unsigned offset = 0;
13486
1
  asn1_ctx_t asn1_ctx;
13487
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13488
1
  offset = dissect_e2ap_RICindicationSN(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationSN_PDU);
13489
1
  offset += 7; offset >>= 3;
13490
1
  return offset;
13491
1
}
13492
2
static int dissect_RICindicationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13493
2
  unsigned offset = 0;
13494
2
  asn1_ctx_t asn1_ctx;
13495
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13496
2
  offset = dissect_e2ap_RICindicationType(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationType_PDU);
13497
2
  offset += 7; offset >>= 3;
13498
2
  return offset;
13499
2
}
13500
0
static int dissect_RICrequestID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13501
0
  unsigned offset = 0;
13502
0
  asn1_ctx_t asn1_ctx;
13503
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13504
0
  offset = dissect_e2ap_RICrequestID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICrequestID_PDU);
13505
0
  offset += 7; offset >>= 3;
13506
0
  return offset;
13507
0
}
13508
1
static int dissect_RICsubscriptionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13509
1
  unsigned offset = 0;
13510
1
  asn1_ctx_t asn1_ctx;
13511
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13512
1
  offset = dissect_e2ap_RICsubscriptionTime(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionTime_PDU);
13513
1
  offset += 7; offset >>= 3;
13514
1
  return offset;
13515
1
}
13516
0
static int dissect_RICqueryHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13517
0
  unsigned offset = 0;
13518
0
  asn1_ctx_t asn1_ctx;
13519
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13520
0
  offset = dissect_e2ap_RICqueryHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryHeader_PDU);
13521
0
  offset += 7; offset >>= 3;
13522
0
  return offset;
13523
0
}
13524
1
static int dissect_RICqueryDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13525
1
  unsigned offset = 0;
13526
1
  asn1_ctx_t asn1_ctx;
13527
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13528
1
  offset = dissect_e2ap_RICqueryDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryDefinition_PDU);
13529
1
  offset += 7; offset >>= 3;
13530
1
  return offset;
13531
1
}
13532
0
static int dissect_RICqueryOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13533
0
  unsigned offset = 0;
13534
0
  asn1_ctx_t asn1_ctx;
13535
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13536
0
  offset = dissect_e2ap_RICqueryOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryOutcome_PDU);
13537
0
  offset += 7; offset >>= 3;
13538
0
  return offset;
13539
0
}
13540
1
static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13541
1
  unsigned offset = 0;
13542
1
  asn1_ctx_t asn1_ctx;
13543
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13544
1
  offset = dissect_e2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_e2ap_TimeToWait_PDU);
13545
1
  offset += 7; offset >>= 3;
13546
1
  return offset;
13547
1
}
13548
2
static int dissect_TNLinformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13549
2
  unsigned offset = 0;
13550
2
  asn1_ctx_t asn1_ctx;
13551
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13552
2
  offset = dissect_e2ap_TNLinformation(tvb, offset, &asn1_ctx, tree, hf_e2ap_TNLinformation_PDU);
13553
2
  offset += 7; offset >>= 3;
13554
2
  return offset;
13555
2
}
13556
1
static int dissect_TransactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13557
1
  unsigned offset = 0;
13558
1
  asn1_ctx_t asn1_ctx;
13559
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13560
1
  offset = dissect_e2ap_TransactionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_TransactionID_PDU);
13561
1
  offset += 7; offset >>= 3;
13562
1
  return offset;
13563
1
}
13564
0
static int dissect_RICsubscriptionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13565
0
  unsigned offset = 0;
13566
0
  asn1_ctx_t asn1_ctx;
13567
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13568
0
  offset = dissect_e2ap_RICsubscriptionRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionRequest_PDU);
13569
0
  offset += 7; offset >>= 3;
13570
0
  return offset;
13571
0
}
13572
1
static int dissect_RICsubscriptionDetails_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13573
1
  unsigned offset = 0;
13574
1
  asn1_ctx_t asn1_ctx;
13575
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13576
1
  offset = dissect_e2ap_RICsubscriptionDetails(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDetails_PDU);
13577
1
  offset += 7; offset >>= 3;
13578
1
  return offset;
13579
1
}
13580
3
static int dissect_RICaction_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13581
3
  unsigned offset = 0;
13582
3
  asn1_ctx_t asn1_ctx;
13583
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13584
3
  offset = dissect_e2ap_RICaction_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeSetup_Item_PDU);
13585
3
  offset += 7; offset >>= 3;
13586
3
  return offset;
13587
3
}
13588
2
static int dissect_RICsubscriptionResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13589
2
  unsigned offset = 0;
13590
2
  asn1_ctx_t asn1_ctx;
13591
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13592
2
  offset = dissect_e2ap_RICsubscriptionResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionResponse_PDU);
13593
2
  offset += 7; offset >>= 3;
13594
2
  return offset;
13595
2
}
13596
1
static int dissect_RICaction_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13597
1
  unsigned offset = 0;
13598
1
  asn1_ctx_t asn1_ctx;
13599
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13600
1
  offset = dissect_e2ap_RICaction_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_Admitted_List_PDU);
13601
1
  offset += 7; offset >>= 3;
13602
1
  return offset;
13603
1
}
13604
1
static int dissect_RICaction_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13605
1
  unsigned offset = 0;
13606
1
  asn1_ctx_t asn1_ctx;
13607
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13608
1
  offset = dissect_e2ap_RICaction_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_Admitted_Item_PDU);
13609
1
  offset += 7; offset >>= 3;
13610
1
  return offset;
13611
1
}
13612
0
static int dissect_RICaction_NotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13613
0
  unsigned offset = 0;
13614
0
  asn1_ctx_t asn1_ctx;
13615
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13616
0
  offset = dissect_e2ap_RICaction_NotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_NotAdmitted_List_PDU);
13617
0
  offset += 7; offset >>= 3;
13618
0
  return offset;
13619
0
}
13620
2
static int dissect_RICaction_NotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13621
2
  unsigned offset = 0;
13622
2
  asn1_ctx_t asn1_ctx;
13623
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13624
2
  offset = dissect_e2ap_RICaction_NotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_NotAdmitted_Item_PDU);
13625
2
  offset += 7; offset >>= 3;
13626
2
  return offset;
13627
2
}
13628
0
static int dissect_RICsubscriptionFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13629
0
  unsigned offset = 0;
13630
0
  asn1_ctx_t asn1_ctx;
13631
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13632
0
  offset = dissect_e2ap_RICsubscriptionFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionFailure_PDU);
13633
0
  offset += 7; offset >>= 3;
13634
0
  return offset;
13635
0
}
13636
0
static int dissect_RICsubscriptionDeleteRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13637
0
  unsigned offset = 0;
13638
0
  asn1_ctx_t asn1_ctx;
13639
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13640
0
  offset = dissect_e2ap_RICsubscriptionDeleteRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteRequest_PDU);
13641
0
  offset += 7; offset >>= 3;
13642
0
  return offset;
13643
0
}
13644
0
static int dissect_RICsubscriptionDeleteResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13645
0
  unsigned offset = 0;
13646
0
  asn1_ctx_t asn1_ctx;
13647
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13648
0
  offset = dissect_e2ap_RICsubscriptionDeleteResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteResponse_PDU);
13649
0
  offset += 7; offset >>= 3;
13650
0
  return offset;
13651
0
}
13652
2
static int dissect_RICsubscriptionDeleteFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13653
2
  unsigned offset = 0;
13654
2
  asn1_ctx_t asn1_ctx;
13655
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13656
2
  offset = dissect_e2ap_RICsubscriptionDeleteFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteFailure_PDU);
13657
2
  offset += 7; offset >>= 3;
13658
2
  return offset;
13659
2
}
13660
0
static int dissect_RICsubscriptionDeleteRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13661
0
  unsigned offset = 0;
13662
0
  asn1_ctx_t asn1_ctx;
13663
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13664
0
  offset = dissect_e2ap_RICsubscriptionDeleteRequired(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteRequired_PDU);
13665
0
  offset += 7; offset >>= 3;
13666
0
  return offset;
13667
0
}
13668
1
static int dissect_RICsubscription_List_withCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13669
1
  unsigned offset = 0;
13670
1
  asn1_ctx_t asn1_ctx;
13671
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13672
1
  offset = dissect_e2ap_RICsubscription_List_withCause(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscription_List_withCause_PDU);
13673
1
  offset += 7; offset >>= 3;
13674
1
  return offset;
13675
1
}
13676
20
static int dissect_RICsubscription_withCause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13677
20
  unsigned offset = 0;
13678
20
  asn1_ctx_t asn1_ctx;
13679
20
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13680
20
  offset = dissect_e2ap_RICsubscription_withCause_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscription_withCause_Item_PDU);
13681
20
  offset += 7; offset >>= 3;
13682
20
  return offset;
13683
20
}
13684
1
static int dissect_RICsubscriptionModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13685
1
  unsigned offset = 0;
13686
1
  asn1_ctx_t asn1_ctx;
13687
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13688
1
  offset = dissect_e2ap_RICsubscriptionModificationRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRequest_PDU);
13689
1
  offset += 7; offset >>= 3;
13690
1
  return offset;
13691
1
}
13692
2
static int dissect_RICactions_ToBeRemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13693
2
  unsigned offset = 0;
13694
2
  asn1_ctx_t asn1_ctx;
13695
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13696
2
  offset = dissect_e2ap_RICactions_ToBeRemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU);
13697
2
  offset += 7; offset >>= 3;
13698
2
  return offset;
13699
2
}
13700
0
static int dissect_RICaction_ToBeRemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13701
0
  unsigned offset = 0;
13702
0
  asn1_ctx_t asn1_ctx;
13703
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13704
0
  offset = dissect_e2ap_RICaction_ToBeRemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU);
13705
0
  offset += 7; offset >>= 3;
13706
0
  return offset;
13707
0
}
13708
1
static int dissect_RICactions_ToBeModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13709
1
  unsigned offset = 0;
13710
1
  asn1_ctx_t asn1_ctx;
13711
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13712
1
  offset = dissect_e2ap_RICactions_ToBeModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU);
13713
1
  offset += 7; offset >>= 3;
13714
1
  return offset;
13715
1
}
13716
0
static int dissect_RICaction_ToBeModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13717
0
  unsigned offset = 0;
13718
0
  asn1_ctx_t asn1_ctx;
13719
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13720
0
  offset = dissect_e2ap_RICaction_ToBeModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU);
13721
0
  offset += 7; offset >>= 3;
13722
0
  return offset;
13723
0
}
13724
0
static int dissect_RICactions_ToBeAddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13725
0
  unsigned offset = 0;
13726
0
  asn1_ctx_t asn1_ctx;
13727
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13728
0
  offset = dissect_e2ap_RICactions_ToBeAddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeAddedForModification_List_PDU);
13729
0
  offset += 7; offset >>= 3;
13730
0
  return offset;
13731
0
}
13732
3
static int dissect_RICaction_ToBeAddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13733
3
  unsigned offset = 0;
13734
3
  asn1_ctx_t asn1_ctx;
13735
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13736
3
  offset = dissect_e2ap_RICaction_ToBeAddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU);
13737
3
  offset += 7; offset >>= 3;
13738
3
  return offset;
13739
3
}
13740
0
static int dissect_RICsubscriptionModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13741
0
  unsigned offset = 0;
13742
0
  asn1_ctx_t asn1_ctx;
13743
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13744
0
  offset = dissect_e2ap_RICsubscriptionModificationResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationResponse_PDU);
13745
0
  offset += 7; offset >>= 3;
13746
0
  return offset;
13747
0
}
13748
0
static int dissect_RICactions_RemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13749
0
  unsigned offset = 0;
13750
0
  asn1_ctx_t asn1_ctx;
13751
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13752
0
  offset = dissect_e2ap_RICactions_RemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RemovedForModification_List_PDU);
13753
0
  offset += 7; offset >>= 3;
13754
0
  return offset;
13755
0
}
13756
3
static int dissect_RICaction_RemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13757
3
  unsigned offset = 0;
13758
3
  asn1_ctx_t asn1_ctx;
13759
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13760
3
  offset = dissect_e2ap_RICaction_RemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RemovedForModification_Item_PDU);
13761
3
  offset += 7; offset >>= 3;
13762
3
  return offset;
13763
3
}
13764
2
static int dissect_RICactions_FailedToBeRemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13765
2
  unsigned offset = 0;
13766
2
  asn1_ctx_t asn1_ctx;
13767
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13768
2
  offset = dissect_e2ap_RICactions_FailedToBeRemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU);
13769
2
  offset += 7; offset >>= 3;
13770
2
  return offset;
13771
2
}
13772
2
static int dissect_RICaction_FailedToBeRemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13773
2
  unsigned offset = 0;
13774
2
  asn1_ctx_t asn1_ctx;
13775
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13776
2
  offset = dissect_e2ap_RICaction_FailedToBeRemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU);
13777
2
  offset += 7; offset >>= 3;
13778
2
  return offset;
13779
2
}
13780
0
static int dissect_RICactions_ModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13781
0
  unsigned offset = 0;
13782
0
  asn1_ctx_t asn1_ctx;
13783
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13784
0
  offset = dissect_e2ap_RICactions_ModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ModifiedForModification_List_PDU);
13785
0
  offset += 7; offset >>= 3;
13786
0
  return offset;
13787
0
}
13788
1
static int dissect_RICaction_ModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13789
1
  unsigned offset = 0;
13790
1
  asn1_ctx_t asn1_ctx;
13791
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13792
1
  offset = dissect_e2ap_RICaction_ModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ModifiedForModification_Item_PDU);
13793
1
  offset += 7; offset >>= 3;
13794
1
  return offset;
13795
1
}
13796
1
static int dissect_RICactions_FailedToBeModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13797
1
  unsigned offset = 0;
13798
1
  asn1_ctx_t asn1_ctx;
13799
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13800
1
  offset = dissect_e2ap_RICactions_FailedToBeModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU);
13801
1
  offset += 7; offset >>= 3;
13802
1
  return offset;
13803
1
}
13804
1
static int dissect_RICaction_FailedToBeModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13805
1
  unsigned offset = 0;
13806
1
  asn1_ctx_t asn1_ctx;
13807
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13808
1
  offset = dissect_e2ap_RICaction_FailedToBeModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU);
13809
1
  offset += 7; offset >>= 3;
13810
1
  return offset;
13811
1
}
13812
0
static int dissect_RICactions_AddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13813
0
  unsigned offset = 0;
13814
0
  asn1_ctx_t asn1_ctx;
13815
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13816
0
  offset = dissect_e2ap_RICactions_AddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_AddedForModification_List_PDU);
13817
0
  offset += 7; offset >>= 3;
13818
0
  return offset;
13819
0
}
13820
1
static int dissect_RICaction_AddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13821
1
  unsigned offset = 0;
13822
1
  asn1_ctx_t asn1_ctx;
13823
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13824
1
  offset = dissect_e2ap_RICaction_AddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_AddedForModification_Item_PDU);
13825
1
  offset += 7; offset >>= 3;
13826
1
  return offset;
13827
1
}
13828
1
static int dissect_RICactions_FailedToBeAddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13829
1
  unsigned offset = 0;
13830
1
  asn1_ctx_t asn1_ctx;
13831
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13832
1
  offset = dissect_e2ap_RICactions_FailedToBeAddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU);
13833
1
  offset += 7; offset >>= 3;
13834
1
  return offset;
13835
1
}
13836
0
static int dissect_RICaction_FailedToBeAddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13837
0
  unsigned offset = 0;
13838
0
  asn1_ctx_t asn1_ctx;
13839
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13840
0
  offset = dissect_e2ap_RICaction_FailedToBeAddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU);
13841
0
  offset += 7; offset >>= 3;
13842
0
  return offset;
13843
0
}
13844
4
static int dissect_RICsubscriptionModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13845
4
  unsigned offset = 0;
13846
4
  asn1_ctx_t asn1_ctx;
13847
4
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13848
4
  offset = dissect_e2ap_RICsubscriptionModificationFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationFailure_PDU);
13849
4
  offset += 7; offset >>= 3;
13850
4
  return offset;
13851
4
}
13852
0
static int dissect_RICsubscriptionModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13853
0
  unsigned offset = 0;
13854
0
  asn1_ctx_t asn1_ctx;
13855
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13856
0
  offset = dissect_e2ap_RICsubscriptionModificationRequired(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRequired_PDU);
13857
0
  offset += 7; offset >>= 3;
13858
0
  return offset;
13859
0
}
13860
0
static int dissect_RICactions_RequiredToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13861
0
  unsigned offset = 0;
13862
0
  asn1_ctx_t asn1_ctx;
13863
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13864
0
  offset = dissect_e2ap_RICactions_RequiredToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RequiredToBeModified_List_PDU);
13865
0
  offset += 7; offset >>= 3;
13866
0
  return offset;
13867
0
}
13868
3
static int dissect_RICaction_RequiredToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13869
3
  unsigned offset = 0;
13870
3
  asn1_ctx_t asn1_ctx;
13871
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13872
3
  offset = dissect_e2ap_RICaction_RequiredToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RequiredToBeModified_Item_PDU);
13873
3
  offset += 7; offset >>= 3;
13874
3
  return offset;
13875
3
}
13876
1
static int dissect_RICactions_RequiredToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13877
1
  unsigned offset = 0;
13878
1
  asn1_ctx_t asn1_ctx;
13879
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13880
1
  offset = dissect_e2ap_RICactions_RequiredToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU);
13881
1
  offset += 7; offset >>= 3;
13882
1
  return offset;
13883
1
}
13884
0
static int dissect_RICaction_RequiredToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13885
0
  unsigned offset = 0;
13886
0
  asn1_ctx_t asn1_ctx;
13887
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13888
0
  offset = dissect_e2ap_RICaction_RequiredToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU);
13889
0
  offset += 7; offset >>= 3;
13890
0
  return offset;
13891
0
}
13892
0
static int dissect_RICsubscriptionModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13893
0
  unsigned offset = 0;
13894
0
  asn1_ctx_t asn1_ctx;
13895
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13896
0
  offset = dissect_e2ap_RICsubscriptionModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationConfirm_PDU);
13897
0
  offset += 7; offset >>= 3;
13898
0
  return offset;
13899
0
}
13900
1
static int dissect_RICactions_ConfirmedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13901
1
  unsigned offset = 0;
13902
1
  asn1_ctx_t asn1_ctx;
13903
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13904
1
  offset = dissect_e2ap_RICactions_ConfirmedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ConfirmedForModification_List_PDU);
13905
1
  offset += 7; offset >>= 3;
13906
1
  return offset;
13907
1
}
13908
3
static int dissect_RICaction_ConfirmedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13909
3
  unsigned offset = 0;
13910
3
  asn1_ctx_t asn1_ctx;
13911
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13912
3
  offset = dissect_e2ap_RICaction_ConfirmedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ConfirmedForModification_Item_PDU);
13913
3
  offset += 7; offset >>= 3;
13914
3
  return offset;
13915
3
}
13916
0
static int dissect_RICactions_RefusedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13917
0
  unsigned offset = 0;
13918
0
  asn1_ctx_t asn1_ctx;
13919
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13920
0
  offset = dissect_e2ap_RICactions_RefusedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RefusedToBeModified_List_PDU);
13921
0
  offset += 7; offset >>= 3;
13922
0
  return offset;
13923
0
}
13924
0
static int dissect_RICaction_RefusedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13925
0
  unsigned offset = 0;
13926
0
  asn1_ctx_t asn1_ctx;
13927
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13928
0
  offset = dissect_e2ap_RICaction_RefusedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RefusedToBeModified_Item_PDU);
13929
0
  offset += 7; offset >>= 3;
13930
0
  return offset;
13931
0
}
13932
1
static int dissect_RICactions_ConfirmedForRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13933
1
  unsigned offset = 0;
13934
1
  asn1_ctx_t asn1_ctx;
13935
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13936
1
  offset = dissect_e2ap_RICactions_ConfirmedForRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU);
13937
1
  offset += 7; offset >>= 3;
13938
1
  return offset;
13939
1
}
13940
0
static int dissect_RICaction_ConfirmedForRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13941
0
  unsigned offset = 0;
13942
0
  asn1_ctx_t asn1_ctx;
13943
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13944
0
  offset = dissect_e2ap_RICaction_ConfirmedForRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU);
13945
0
  offset += 7; offset >>= 3;
13946
0
  return offset;
13947
0
}
13948
1
static int dissect_RICactions_RefusedToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13949
1
  unsigned offset = 0;
13950
1
  asn1_ctx_t asn1_ctx;
13951
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13952
1
  offset = dissect_e2ap_RICactions_RefusedToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU);
13953
1
  offset += 7; offset >>= 3;
13954
1
  return offset;
13955
1
}
13956
2
static int dissect_RICaction_RefusedToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13957
2
  unsigned offset = 0;
13958
2
  asn1_ctx_t asn1_ctx;
13959
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13960
2
  offset = dissect_e2ap_RICaction_RefusedToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU);
13961
2
  offset += 7; offset >>= 3;
13962
2
  return offset;
13963
2
}
13964
0
static int dissect_RICsubscriptionModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13965
0
  unsigned offset = 0;
13966
0
  asn1_ctx_t asn1_ctx;
13967
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13968
0
  offset = dissect_e2ap_RICsubscriptionModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRefuse_PDU);
13969
0
  offset += 7; offset >>= 3;
13970
0
  return offset;
13971
0
}
13972
11
static int dissect_RICindication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13973
11
  unsigned offset = 0;
13974
11
  asn1_ctx_t asn1_ctx;
13975
11
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13976
11
  offset = dissect_e2ap_RICindication(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindication_PDU);
13977
11
  offset += 7; offset >>= 3;
13978
11
  return offset;
13979
11
}
13980
11
static int dissect_RICcontrolRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13981
11
  unsigned offset = 0;
13982
11
  asn1_ctx_t asn1_ctx;
13983
11
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13984
11
  offset = dissect_e2ap_RICcontrolRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolRequest_PDU);
13985
11
  offset += 7; offset >>= 3;
13986
11
  return offset;
13987
11
}
13988
15
static int dissect_RICcontrolAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13989
15
  unsigned offset = 0;
13990
15
  asn1_ctx_t asn1_ctx;
13991
15
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13992
15
  offset = dissect_e2ap_RICcontrolAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolAcknowledge_PDU);
13993
15
  offset += 7; offset >>= 3;
13994
15
  return offset;
13995
15
}
13996
18
static int dissect_RICcontrolFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13997
18
  unsigned offset = 0;
13998
18
  asn1_ctx_t asn1_ctx;
13999
18
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14000
18
  offset = dissect_e2ap_RICcontrolFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolFailure_PDU);
14001
18
  offset += 7; offset >>= 3;
14002
18
  return offset;
14003
18
}
14004
1
static int dissect_RICQueryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14005
1
  unsigned offset = 0;
14006
1
  asn1_ctx_t asn1_ctx;
14007
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14008
1
  offset = dissect_e2ap_RICQueryRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryRequest_PDU);
14009
1
  offset += 7; offset >>= 3;
14010
1
  return offset;
14011
1
}
14012
0
static int dissect_RICQueryResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14013
0
  unsigned offset = 0;
14014
0
  asn1_ctx_t asn1_ctx;
14015
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14016
0
  offset = dissect_e2ap_RICQueryResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryResponse_PDU);
14017
0
  offset += 7; offset >>= 3;
14018
0
  return offset;
14019
0
}
14020
0
static int dissect_RICQueryFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14021
0
  unsigned offset = 0;
14022
0
  asn1_ctx_t asn1_ctx;
14023
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14024
0
  offset = dissect_e2ap_RICQueryFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryFailure_PDU);
14025
0
  offset += 7; offset >>= 3;
14026
0
  return offset;
14027
0
}
14028
3
static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14029
3
  unsigned offset = 0;
14030
3
  asn1_ctx_t asn1_ctx;
14031
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14032
3
  offset = dissect_e2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_e2ap_ErrorIndication_PDU);
14033
3
  offset += 7; offset >>= 3;
14034
3
  return offset;
14035
3
}
14036
2
static int dissect_E2setupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14037
2
  unsigned offset = 0;
14038
2
  asn1_ctx_t asn1_ctx;
14039
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14040
2
  offset = dissect_e2ap_E2setupRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupRequest_PDU);
14041
2
  offset += 7; offset >>= 3;
14042
2
  return offset;
14043
2
}
14044
0
static int dissect_E2setupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14045
0
  unsigned offset = 0;
14046
0
  asn1_ctx_t asn1_ctx;
14047
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14048
0
  offset = dissect_e2ap_E2setupResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupResponse_PDU);
14049
0
  offset += 7; offset >>= 3;
14050
0
  return offset;
14051
0
}
14052
3
static int dissect_E2setupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14053
3
  unsigned offset = 0;
14054
3
  asn1_ctx_t asn1_ctx;
14055
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14056
3
  offset = dissect_e2ap_E2setupFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupFailure_PDU);
14057
3
  offset += 7; offset >>= 3;
14058
3
  return offset;
14059
3
}
14060
0
static int dissect_E2connectionUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14061
0
  unsigned offset = 0;
14062
0
  asn1_ctx_t asn1_ctx;
14063
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14064
0
  offset = dissect_e2ap_E2connectionUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_PDU);
14065
0
  offset += 7; offset >>= 3;
14066
0
  return offset;
14067
0
}
14068
5
static int dissect_E2connectionUpdate_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14069
5
  unsigned offset = 0;
14070
5
  asn1_ctx_t asn1_ctx;
14071
5
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14072
5
  offset = dissect_e2ap_E2connectionUpdate_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_List_PDU);
14073
5
  offset += 7; offset >>= 3;
14074
5
  return offset;
14075
5
}
14076
2
static int dissect_E2connectionUpdate_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14077
2
  unsigned offset = 0;
14078
2
  asn1_ctx_t asn1_ctx;
14079
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14080
2
  offset = dissect_e2ap_E2connectionUpdate_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_Item_PDU);
14081
2
  offset += 7; offset >>= 3;
14082
2
  return offset;
14083
2
}
14084
1
static int dissect_E2connectionUpdateRemove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14085
1
  unsigned offset = 0;
14086
1
  asn1_ctx_t asn1_ctx;
14087
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14088
1
  offset = dissect_e2ap_E2connectionUpdateRemove_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateRemove_List_PDU);
14089
1
  offset += 7; offset >>= 3;
14090
1
  return offset;
14091
1
}
14092
2
static int dissect_E2connectionUpdateRemove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14093
2
  unsigned offset = 0;
14094
2
  asn1_ctx_t asn1_ctx;
14095
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14096
2
  offset = dissect_e2ap_E2connectionUpdateRemove_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateRemove_Item_PDU);
14097
2
  offset += 7; offset >>= 3;
14098
2
  return offset;
14099
2
}
14100
0
static int dissect_E2connectionUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14101
0
  unsigned offset = 0;
14102
0
  asn1_ctx_t asn1_ctx;
14103
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14104
0
  offset = dissect_e2ap_E2connectionUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateAcknowledge_PDU);
14105
0
  offset += 7; offset >>= 3;
14106
0
  return offset;
14107
0
}
14108
1
static int dissect_E2connectionSetupFailed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14109
1
  unsigned offset = 0;
14110
1
  asn1_ctx_t asn1_ctx;
14111
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14112
1
  offset = dissect_e2ap_E2connectionSetupFailed_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionSetupFailed_List_PDU);
14113
1
  offset += 7; offset >>= 3;
14114
1
  return offset;
14115
1
}
14116
1
static int dissect_E2connectionSetupFailed_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14117
1
  unsigned offset = 0;
14118
1
  asn1_ctx_t asn1_ctx;
14119
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14120
1
  offset = dissect_e2ap_E2connectionSetupFailed_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionSetupFailed_Item_PDU);
14121
1
  offset += 7; offset >>= 3;
14122
1
  return offset;
14123
1
}
14124
0
static int dissect_E2connectionUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14125
0
  unsigned offset = 0;
14126
0
  asn1_ctx_t asn1_ctx;
14127
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14128
0
  offset = dissect_e2ap_E2connectionUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateFailure_PDU);
14129
0
  offset += 7; offset >>= 3;
14130
0
  return offset;
14131
0
}
14132
0
static int dissect_E2nodeConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14133
0
  unsigned offset = 0;
14134
0
  asn1_ctx_t asn1_ctx;
14135
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14136
0
  offset = dissect_e2ap_E2nodeConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdate_PDU);
14137
0
  offset += 7; offset >>= 3;
14138
0
  return offset;
14139
0
}
14140
0
static int dissect_E2nodeComponentConfigAddition_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14141
0
  unsigned offset = 0;
14142
0
  asn1_ctx_t asn1_ctx;
14143
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14144
0
  offset = dissect_e2ap_E2nodeComponentConfigAddition_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAddition_List_PDU);
14145
0
  offset += 7; offset >>= 3;
14146
0
  return offset;
14147
0
}
14148
7
static int dissect_E2nodeComponentConfigAddition_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14149
7
  unsigned offset = 0;
14150
7
  asn1_ctx_t asn1_ctx;
14151
7
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14152
7
  offset = dissect_e2ap_E2nodeComponentConfigAddition_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAddition_Item_PDU);
14153
7
  offset += 7; offset >>= 3;
14154
7
  return offset;
14155
7
}
14156
0
static int dissect_E2nodeComponentConfigUpdate_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14157
0
  unsigned offset = 0;
14158
0
  asn1_ctx_t asn1_ctx;
14159
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14160
0
  offset = dissect_e2ap_E2nodeComponentConfigUpdate_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdate_List_PDU);
14161
0
  offset += 7; offset >>= 3;
14162
0
  return offset;
14163
0
}
14164
1
static int dissect_E2nodeComponentConfigUpdate_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14165
1
  unsigned offset = 0;
14166
1
  asn1_ctx_t asn1_ctx;
14167
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14168
1
  offset = dissect_e2ap_E2nodeComponentConfigUpdate_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU);
14169
1
  offset += 7; offset >>= 3;
14170
1
  return offset;
14171
1
}
14172
2
static int dissect_E2nodeComponentConfigRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14173
2
  unsigned offset = 0;
14174
2
  asn1_ctx_t asn1_ctx;
14175
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14176
2
  offset = dissect_e2ap_E2nodeComponentConfigRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemoval_List_PDU);
14177
2
  offset += 7; offset >>= 3;
14178
2
  return offset;
14179
2
}
14180
2
static int dissect_E2nodeComponentConfigRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14181
2
  unsigned offset = 0;
14182
2
  asn1_ctx_t asn1_ctx;
14183
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14184
2
  offset = dissect_e2ap_E2nodeComponentConfigRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU);
14185
2
  offset += 7; offset >>= 3;
14186
2
  return offset;
14187
2
}
14188
0
static int dissect_E2nodeTNLassociationRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14189
0
  unsigned offset = 0;
14190
0
  asn1_ctx_t asn1_ctx;
14191
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14192
0
  offset = dissect_e2ap_E2nodeTNLassociationRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeTNLassociationRemoval_List_PDU);
14193
0
  offset += 7; offset >>= 3;
14194
0
  return offset;
14195
0
}
14196
0
static int dissect_E2nodeTNLassociationRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14197
0
  unsigned offset = 0;
14198
0
  asn1_ctx_t asn1_ctx;
14199
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14200
0
  offset = dissect_e2ap_E2nodeTNLassociationRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU);
14201
0
  offset += 7; offset >>= 3;
14202
0
  return offset;
14203
0
}
14204
0
static int dissect_E2nodeConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14205
0
  unsigned offset = 0;
14206
0
  asn1_ctx_t asn1_ctx;
14207
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14208
0
  offset = dissect_e2ap_E2nodeConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU);
14209
0
  offset += 7; offset >>= 3;
14210
0
  return offset;
14211
0
}
14212
2
static int dissect_E2nodeComponentConfigAdditionAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14213
2
  unsigned offset = 0;
14214
2
  asn1_ctx_t asn1_ctx;
14215
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14216
2
  offset = dissect_e2ap_E2nodeComponentConfigAdditionAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU);
14217
2
  offset += 7; offset >>= 3;
14218
2
  return offset;
14219
2
}
14220
1
static int dissect_E2nodeComponentConfigAdditionAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14221
1
  unsigned offset = 0;
14222
1
  asn1_ctx_t asn1_ctx;
14223
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14224
1
  offset = dissect_e2ap_E2nodeComponentConfigAdditionAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU);
14225
1
  offset += 7; offset >>= 3;
14226
1
  return offset;
14227
1
}
14228
1
static int dissect_E2nodeComponentConfigUpdateAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14229
1
  unsigned offset = 0;
14230
1
  asn1_ctx_t asn1_ctx;
14231
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14232
1
  offset = dissect_e2ap_E2nodeComponentConfigUpdateAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU);
14233
1
  offset += 7; offset >>= 3;
14234
1
  return offset;
14235
1
}
14236
1
static int dissect_E2nodeComponentConfigUpdateAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14237
1
  unsigned offset = 0;
14238
1
  asn1_ctx_t asn1_ctx;
14239
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14240
1
  offset = dissect_e2ap_E2nodeComponentConfigUpdateAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU);
14241
1
  offset += 7; offset >>= 3;
14242
1
  return offset;
14243
1
}
14244
1
static int dissect_E2nodeComponentConfigRemovalAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14245
1
  unsigned offset = 0;
14246
1
  asn1_ctx_t asn1_ctx;
14247
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14248
1
  offset = dissect_e2ap_E2nodeComponentConfigRemovalAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU);
14249
1
  offset += 7; offset >>= 3;
14250
1
  return offset;
14251
1
}
14252
0
static int dissect_E2nodeComponentConfigRemovalAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14253
0
  unsigned offset = 0;
14254
0
  asn1_ctx_t asn1_ctx;
14255
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14256
0
  offset = dissect_e2ap_E2nodeComponentConfigRemovalAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU);
14257
0
  offset += 7; offset >>= 3;
14258
0
  return offset;
14259
0
}
14260
0
static int dissect_E2nodeConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14261
0
  unsigned offset = 0;
14262
0
  asn1_ctx_t asn1_ctx;
14263
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14264
0
  offset = dissect_e2ap_E2nodeConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdateFailure_PDU);
14265
0
  offset += 7; offset >>= 3;
14266
0
  return offset;
14267
0
}
14268
9
static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14269
9
  unsigned offset = 0;
14270
9
  asn1_ctx_t asn1_ctx;
14271
9
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14272
9
  offset = dissect_e2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_ResetRequest_PDU);
14273
9
  offset += 7; offset >>= 3;
14274
9
  return offset;
14275
9
}
14276
2
static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14277
2
  unsigned offset = 0;
14278
2
  asn1_ctx_t asn1_ctx;
14279
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14280
2
  offset = dissect_e2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_ResetResponse_PDU);
14281
2
  offset += 7; offset >>= 3;
14282
2
  return offset;
14283
2
}
14284
0
static int dissect_RICserviceUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14285
0
  unsigned offset = 0;
14286
0
  asn1_ctx_t asn1_ctx;
14287
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14288
0
  offset = dissect_e2ap_RICserviceUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdate_PDU);
14289
0
  offset += 7; offset >>= 3;
14290
0
  return offset;
14291
0
}
14292
3
static int dissect_RANfunctions_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14293
3
  unsigned offset = 0;
14294
3
  asn1_ctx_t asn1_ctx;
14295
3
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14296
3
  offset = dissect_e2ap_RANfunctions_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctions_List_PDU);
14297
3
  offset += 7; offset >>= 3;
14298
3
  return offset;
14299
3
}
14300
10
static int dissect_RANfunction_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14301
10
  unsigned offset = 0;
14302
10
  asn1_ctx_t asn1_ctx;
14303
10
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14304
10
  offset = dissect_e2ap_RANfunction_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunction_Item_PDU);
14305
10
  offset += 7; offset >>= 3;
14306
10
  return offset;
14307
10
}
14308
5
static int dissect_RANfunctionsID_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14309
5
  unsigned offset = 0;
14310
5
  asn1_ctx_t asn1_ctx;
14311
5
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14312
5
  offset = dissect_e2ap_RANfunctionsID_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionsID_List_PDU);
14313
5
  offset += 7; offset >>= 3;
14314
5
  return offset;
14315
5
}
14316
1
static int dissect_RANfunctionID_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14317
1
  unsigned offset = 0;
14318
1
  asn1_ctx_t asn1_ctx;
14319
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14320
1
  offset = dissect_e2ap_RANfunctionID_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionID_Item_PDU);
14321
1
  offset += 7; offset >>= 3;
14322
1
  return offset;
14323
1
}
14324
0
static int dissect_RICserviceUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14325
0
  unsigned offset = 0;
14326
0
  asn1_ctx_t asn1_ctx;
14327
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14328
0
  offset = dissect_e2ap_RICserviceUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdateAcknowledge_PDU);
14329
0
  offset += 7; offset >>= 3;
14330
0
  return offset;
14331
0
}
14332
0
static int dissect_RANfunctionsIDcause_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14333
0
  unsigned offset = 0;
14334
0
  asn1_ctx_t asn1_ctx;
14335
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14336
0
  offset = dissect_e2ap_RANfunctionsIDcause_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionsIDcause_List_PDU);
14337
0
  offset += 7; offset >>= 3;
14338
0
  return offset;
14339
0
}
14340
2
static int dissect_RANfunctionIDcause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14341
2
  unsigned offset = 0;
14342
2
  asn1_ctx_t asn1_ctx;
14343
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14344
2
  offset = dissect_e2ap_RANfunctionIDcause_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionIDcause_Item_PDU);
14345
2
  offset += 7; offset >>= 3;
14346
2
  return offset;
14347
2
}
14348
0
static int dissect_RICserviceUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14349
0
  unsigned offset = 0;
14350
0
  asn1_ctx_t asn1_ctx;
14351
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14352
0
  offset = dissect_e2ap_RICserviceUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdateFailure_PDU);
14353
0
  offset += 7; offset >>= 3;
14354
0
  return offset;
14355
0
}
14356
8
static int dissect_RICserviceQuery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14357
8
  unsigned offset = 0;
14358
8
  asn1_ctx_t asn1_ctx;
14359
8
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14360
8
  offset = dissect_e2ap_RICserviceQuery(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceQuery_PDU);
14361
8
  offset += 7; offset >>= 3;
14362
8
  return offset;
14363
8
}
14364
0
static int dissect_E2RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14365
0
  unsigned offset = 0;
14366
0
  asn1_ctx_t asn1_ctx;
14367
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14368
0
  offset = dissect_e2ap_E2RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalRequest_PDU);
14369
0
  offset += 7; offset >>= 3;
14370
0
  return offset;
14371
0
}
14372
0
static int dissect_E2RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14373
0
  unsigned offset = 0;
14374
0
  asn1_ctx_t asn1_ctx;
14375
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14376
0
  offset = dissect_e2ap_E2RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalResponse_PDU);
14377
0
  offset += 7; offset >>= 3;
14378
0
  return offset;
14379
0
}
14380
0
static int dissect_E2RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14381
0
  unsigned offset = 0;
14382
0
  asn1_ctx_t asn1_ctx;
14383
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14384
0
  offset = dissect_e2ap_E2RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalFailure_PDU);
14385
0
  offset += 7; offset >>= 3;
14386
0
  return offset;
14387
0
}
14388
97
static int dissect_E2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14389
97
  unsigned offset = 0;
14390
97
  asn1_ctx_t asn1_ctx;
14391
97
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14392
97
  offset = dissect_e2ap_E2AP_PDU(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2AP_PDU_PDU);
14393
97
  offset += 7; offset >>= 3;
14394
97
  return offset;
14395
97
}
14396
0
static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14397
0
  unsigned offset = 0;
14398
0
  asn1_ctx_t asn1_ctx;
14399
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14400
0
  offset = dissect_e2ap_E2SM_RC_EventTrigger(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_EventTrigger_PDU);
14401
0
  offset += 7; offset >>= 3;
14402
0
  return offset;
14403
0
}
14404
0
static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14405
0
  unsigned offset = 0;
14406
0
  asn1_ctx_t asn1_ctx;
14407
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14408
0
  offset = dissect_e2ap_E2SM_RC_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ActionDefinition_PDU);
14409
0
  offset += 7; offset >>= 3;
14410
0
  return offset;
14411
0
}
14412
0
static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14413
0
  unsigned offset = 0;
14414
0
  asn1_ctx_t asn1_ctx;
14415
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14416
0
  offset = dissect_e2ap_E2SM_RC_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_IndicationHeader_PDU);
14417
0
  offset += 7; offset >>= 3;
14418
0
  return offset;
14419
0
}
14420
0
static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14421
0
  unsigned offset = 0;
14422
0
  asn1_ctx_t asn1_ctx;
14423
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14424
0
  offset = dissect_e2ap_E2SM_RC_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_IndicationMessage_PDU);
14425
0
  offset += 7; offset >>= 3;
14426
0
  return offset;
14427
0
}
14428
0
static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14429
0
  unsigned offset = 0;
14430
0
  asn1_ctx_t asn1_ctx;
14431
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14432
0
  offset = dissect_e2ap_E2SM_RC_CallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_CallProcessID_PDU);
14433
0
  offset += 7; offset >>= 3;
14434
0
  return offset;
14435
0
}
14436
0
static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14437
0
  unsigned offset = 0;
14438
0
  asn1_ctx_t asn1_ctx;
14439
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14440
0
  offset = dissect_e2ap_E2SM_RC_ControlHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlHeader_PDU);
14441
0
  offset += 7; offset >>= 3;
14442
0
  return offset;
14443
0
}
14444
0
static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14445
0
  unsigned offset = 0;
14446
0
  asn1_ctx_t asn1_ctx;
14447
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14448
0
  offset = dissect_e2ap_E2SM_RC_ControlMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlMessage_PDU);
14449
0
  offset += 7; offset >>= 3;
14450
0
  return offset;
14451
0
}
14452
0
static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14453
0
  unsigned offset = 0;
14454
0
  asn1_ctx_t asn1_ctx;
14455
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14456
0
  offset = dissect_e2ap_E2SM_RC_ControlOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlOutcome_PDU);
14457
0
  offset += 7; offset >>= 3;
14458
0
  return offset;
14459
0
}
14460
0
static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14461
0
  unsigned offset = 0;
14462
0
  asn1_ctx_t asn1_ctx;
14463
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14464
0
  offset = dissect_e2ap_E2SM_RC_RANFunctionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU);
14465
0
  offset += 7; offset >>= 3;
14466
0
  return offset;
14467
0
}
14468
0
static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14469
0
  unsigned offset = 0;
14470
0
  asn1_ctx_t asn1_ctx;
14471
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14472
0
  offset = dissect_e2ap_E2SM_KPM_EventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU);
14473
0
  offset += 7; offset >>= 3;
14474
0
  return offset;
14475
0
}
14476
0
static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14477
0
  unsigned offset = 0;
14478
0
  asn1_ctx_t asn1_ctx;
14479
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14480
0
  offset = dissect_e2ap_E2SM_KPM_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_ActionDefinition_PDU);
14481
0
  offset += 7; offset >>= 3;
14482
0
  return offset;
14483
0
}
14484
0
static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14485
0
  unsigned offset = 0;
14486
0
  asn1_ctx_t asn1_ctx;
14487
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14488
0
  offset = dissect_e2ap_E2SM_KPM_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_IndicationHeader_PDU);
14489
0
  offset += 7; offset >>= 3;
14490
0
  return offset;
14491
0
}
14492
0
static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14493
0
  unsigned offset = 0;
14494
0
  asn1_ctx_t asn1_ctx;
14495
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14496
0
  offset = dissect_e2ap_E2SM_KPM_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_IndicationMessage_PDU);
14497
0
  offset += 7; offset >>= 3;
14498
0
  return offset;
14499
0
}
14500
0
static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14501
0
  unsigned offset = 0;
14502
0
  asn1_ctx_t asn1_ctx;
14503
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14504
0
  offset = dissect_e2ap_E2SM_KPM_RANfunction_Description(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_RANfunction_Description_PDU);
14505
0
  offset += 7; offset >>= 3;
14506
0
  return offset;
14507
0
}
14508
0
static int dissect_E2SM_NI_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14509
0
  unsigned offset = 0;
14510
0
  asn1_ctx_t asn1_ctx;
14511
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14512
0
  offset = dissect_e2ap_E2SM_NI_EventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU);
14513
0
  offset += 7; offset >>= 3;
14514
0
  return offset;
14515
0
}
14516
0
static int dissect_E2SM_NI_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14517
0
  unsigned offset = 0;
14518
0
  asn1_ctx_t asn1_ctx;
14519
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14520
0
  offset = dissect_e2ap_E2SM_NI_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ActionDefinition_PDU);
14521
0
  offset += 7; offset >>= 3;
14522
0
  return offset;
14523
0
}
14524
0
static int dissect_E2SM_NI_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14525
0
  unsigned offset = 0;
14526
0
  asn1_ctx_t asn1_ctx;
14527
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14528
0
  offset = dissect_e2ap_E2SM_NI_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_IndicationHeader_PDU);
14529
0
  offset += 7; offset >>= 3;
14530
0
  return offset;
14531
0
}
14532
0
static int dissect_E2SM_NI_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14533
0
  unsigned offset = 0;
14534
0
  asn1_ctx_t asn1_ctx;
14535
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14536
0
  offset = dissect_e2ap_E2SM_NI_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_IndicationMessage_PDU);
14537
0
  offset += 7; offset >>= 3;
14538
0
  return offset;
14539
0
}
14540
0
static int dissect_E2SM_NI_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14541
0
  unsigned offset = 0;
14542
0
  asn1_ctx_t asn1_ctx;
14543
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14544
0
  offset = dissect_e2ap_E2SM_NI_CallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_CallProcessID_PDU);
14545
0
  offset += 7; offset >>= 3;
14546
0
  return offset;
14547
0
}
14548
0
static int dissect_E2SM_NI_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14549
0
  unsigned offset = 0;
14550
0
  asn1_ctx_t asn1_ctx;
14551
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14552
0
  offset = dissect_e2ap_E2SM_NI_ControlHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlHeader_PDU);
14553
0
  offset += 7; offset >>= 3;
14554
0
  return offset;
14555
0
}
14556
0
static int dissect_E2SM_NI_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14557
0
  unsigned offset = 0;
14558
0
  asn1_ctx_t asn1_ctx;
14559
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14560
0
  offset = dissect_e2ap_E2SM_NI_ControlMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlMessage_PDU);
14561
0
  offset += 7; offset >>= 3;
14562
0
  return offset;
14563
0
}
14564
0
static int dissect_E2SM_NI_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14565
0
  unsigned offset = 0;
14566
0
  asn1_ctx_t asn1_ctx;
14567
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14568
0
  offset = dissect_e2ap_E2SM_NI_ControlOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlOutcome_PDU);
14569
0
  offset += 7; offset >>= 3;
14570
0
  return offset;
14571
0
}
14572
0
static int dissect_E2SM_NI_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14573
0
  unsigned offset = 0;
14574
0
  asn1_ctx_t asn1_ctx;
14575
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14576
0
  offset = dissect_e2ap_E2SM_NI_RANfunction_Description(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_RANfunction_Description_PDU);
14577
0
  offset += 7; offset >>= 3;
14578
0
  return offset;
14579
0
}
14580
14581
14582
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
14583
488
{
14584
488
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14585
488
  return (dissector_try_uint_with_data(e2ap_ies_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree, false, NULL)) ? tvb_captured_length(tvb) : 0;
14586
488
}
14587
14588
14589
14590
/* Currently not used
14591
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
14592
{
14593
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14594
14595
  return (dissector_try_uint(e2ap_ies_p1_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
14596
}
14597
14598
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
14599
{
14600
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14601
14602
  return (dissector_try_uint(e2ap_ies_p2_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
14603
}
14604
*/
14605
14606
14607
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14608
48
{
14609
48
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14610
14611
48
  return (dissector_try_uint_with_data(e2ap_proc_imsg_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, true, data)) ? tvb_captured_length(tvb) : 0;
14612
48
}
14613
14614
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14615
20
{
14616
20
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14617
14618
20
  return (dissector_try_uint_with_data(e2ap_proc_sout_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, true, data)) ? tvb_captured_length(tvb) : 0;
14619
20
}
14620
14621
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14622
29
{
14623
29
  struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14624
14625
29
  return (dissector_try_uint_with_data(e2ap_proc_uout_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, true, data)) ? tvb_captured_length(tvb) : 0;
14626
29
}
14627
14628
14629
static void set_stats_message_type(packet_info *pinfo, int type)
14630
87
{
14631
87
    struct e2ap_private_data* priv_data = e2ap_get_private_data(pinfo);
14632
87
    priv_data->stats_tap->e2ap_mtype = type;
14633
87
}
14634
14635
static void
14636
e2ap_stats_tree_init(stats_tree *st)
14637
0
{
14638
0
    st_node_packets =      stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, true);
14639
0
    st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
14640
0
}
14641
14642
static tap_packet_status
14643
e2ap_stats_tree_packet(stats_tree* st, packet_info* pinfo,
14644
                       epan_dissect_t* edt _U_ , const void* p, tap_flags_t flags _U_)
14645
0
{
14646
0
    const struct e2ap_tap_t *pi = (const struct e2ap_tap_t *)p;
14647
14648
0
    tick_stat_node(st, st_str_packets, 0, false);
14649
0
    stats_tree_tick_pivot(st, st_node_packet_types,
14650
0
                          val_to_str(pinfo->pool, pi->e2ap_mtype, mtype_names,
14651
0
                                     "Unknown packet type (%d)"));
14652
0
    return TAP_PACKET_REDRAW;
14653
0
}
14654
14655
14656
/* Main dissection function */
14657
static int
14658
dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
14659
97
{
14660
97
  proto_item *e2ap_item = NULL;
14661
97
  proto_tree *e2ap_tree = NULL;
14662
14663
97
  struct e2ap_tap_t *tap_info;
14664
14665
  /* make entry in the Protocol column on summary display */
14666
97
  col_set_str(pinfo->cinfo, COL_PROTOCOL, "E2AP");
14667
97
  col_clear(pinfo->cinfo, COL_INFO);
14668
14669
97
  tap_info = wmem_new(pinfo->pool, struct e2ap_tap_t);
14670
97
  tap_info->e2ap_mtype = 0; /* unknown/invalid */
14671
14672
  /* Add stats tap to private struct */
14673
97
  struct e2ap_private_data *priv_data = e2ap_get_private_data(pinfo);
14674
97
  priv_data->stats_tap = tap_info;
14675
14676
  /* Store top-level tree */
14677
97
  top_tree = e2ap_tree;
14678
14679
  /* create the e2ap protocol tree */
14680
97
  e2ap_item = proto_tree_add_item(tree, proto_e2ap, tvb, 0, -1, ENC_NA);
14681
97
  e2ap_tree = proto_item_add_subtree(e2ap_item, ett_e2ap);
14682
14683
97
  dissect_E2AP_PDU_PDU(tvb, pinfo, e2ap_tree, NULL);
14684
14685
97
  tap_queue_packet(e2ap_tap, pinfo, tap_info);
14686
97
  return tvb_captured_length(tvb);
14687
97
}
14688
14689
14690
static void e2ap_init_protocol(void)
14691
14
{
14692
14
  memset(&s_gnb_ran_functions_table, 0, sizeof(s_gnb_ran_functions_table));
14693
14
}
14694
14695
14696
/*--- proto_reg_handoff_e2ap ---------------------------------------*/
14697
void
14698
proto_reg_handoff_e2ap(void)
14699
14
{
14700
14
  dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
14701
14
  dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
14702
14
  dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
14703
14
  dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
14704
14705
14
  dissector_add_uint("e2ap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_e2ap));
14706
14
  dissector_add_uint("e2ap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_e2ap));
14707
14
  dissector_add_uint("e2ap.ies", id_GlobalE2node_ID, create_dissector_handle(dissect_GlobalE2node_ID_PDU, proto_e2ap));
14708
14
  dissector_add_uint("e2ap.ies", id_GlobalRIC_ID, create_dissector_handle(dissect_GlobalRIC_ID_PDU, proto_e2ap));
14709
14
  dissector_add_uint("e2ap.ies", id_RANfunctionID, create_dissector_handle(dissect_RANfunctionID_PDU, proto_e2ap));
14710
14
  dissector_add_uint("e2ap.ies", id_RANfunctionID_Item, create_dissector_handle(dissect_RANfunctionID_Item_PDU, proto_e2ap));
14711
14
  dissector_add_uint("e2ap.ies", id_RANfunctionIEcause_Item, create_dissector_handle(dissect_RANfunctionIDcause_Item_PDU, proto_e2ap));
14712
14
  dissector_add_uint("e2ap.ies", id_RANfunction_Item, create_dissector_handle(dissect_RANfunction_Item_PDU, proto_e2ap));
14713
14
  dissector_add_uint("e2ap.ies", id_RANfunctionsAccepted, create_dissector_handle(dissect_RANfunctionsID_List_PDU, proto_e2ap));
14714
14
  dissector_add_uint("e2ap.ies", id_RANfunctionsAdded, create_dissector_handle(dissect_RANfunctions_List_PDU, proto_e2ap));
14715
14
  dissector_add_uint("e2ap.ies", id_RANfunctionsDeleted, create_dissector_handle(dissect_RANfunctionsID_List_PDU, proto_e2ap));
14716
14
  dissector_add_uint("e2ap.ies", id_RANfunctionsModified, create_dissector_handle(dissect_RANfunctions_List_PDU, proto_e2ap));
14717
14
  dissector_add_uint("e2ap.ies", id_RANfunctionsRejected, create_dissector_handle(dissect_RANfunctionsIDcause_List_PDU, proto_e2ap));
14718
14
  dissector_add_uint("e2ap.ies", id_RICaction_Admitted_Item, create_dissector_handle(dissect_RICaction_Admitted_Item_PDU, proto_e2ap));
14719
14
  dissector_add_uint("e2ap.ies", id_RICactionID, create_dissector_handle(dissect_RICactionID_PDU, proto_e2ap));
14720
14
  dissector_add_uint("e2ap.ies", id_RICaction_NotAdmitted_Item, create_dissector_handle(dissect_RICaction_NotAdmitted_Item_PDU, proto_e2ap));
14721
14
  dissector_add_uint("e2ap.ies", id_RICactions_Admitted, create_dissector_handle(dissect_RICaction_Admitted_List_PDU, proto_e2ap));
14722
14
  dissector_add_uint("e2ap.ies", id_RICaction_ToBeSetup_Item, create_dissector_handle(dissect_RICaction_ToBeSetup_Item_PDU, proto_e2ap));
14723
14
  dissector_add_uint("e2ap.ies", id_RICcallProcessID, create_dissector_handle(dissect_RICcallProcessID_PDU, proto_e2ap));
14724
14
  dissector_add_uint("e2ap.ies", id_RICactions_NotAdmitted, create_dissector_handle(dissect_RICaction_NotAdmitted_List_PDU, proto_e2ap));
14725
14
  dissector_add_uint("e2ap.ies", id_RICcontrolAckRequest, create_dissector_handle(dissect_RICcontrolAckRequest_PDU, proto_e2ap));
14726
14
  dissector_add_uint("e2ap.ies", id_RICcontrolHeader, create_dissector_handle(dissect_RICcontrolHeader_PDU, proto_e2ap));
14727
14
  dissector_add_uint("e2ap.ies", id_RICcontrolMessage, create_dissector_handle(dissect_RICcontrolMessage_PDU, proto_e2ap));
14728
14
  dissector_add_uint("e2ap.ies", id_RICcontrolOutcome, create_dissector_handle(dissect_RICcontrolOutcome_PDU, proto_e2ap));
14729
14
  dissector_add_uint("e2ap.ies", id_RICindicationHeader, create_dissector_handle(dissect_RICindicationHeader_PDU, proto_e2ap));
14730
14
  dissector_add_uint("e2ap.ies", id_RICindicationMessage, create_dissector_handle(dissect_RICindicationMessage_PDU, proto_e2ap));
14731
14
  dissector_add_uint("e2ap.ies", id_RICindicationSN, create_dissector_handle(dissect_RICindicationSN_PDU, proto_e2ap));
14732
14
  dissector_add_uint("e2ap.ies", id_RICindicationType, create_dissector_handle(dissect_RICindicationType_PDU, proto_e2ap));
14733
14
  dissector_add_uint("e2ap.ies", id_RICrequestID, create_dissector_handle(dissect_RICrequestID_PDU, proto_e2ap));
14734
14
  dissector_add_uint("e2ap.ies", id_RICsubscriptionDetails, create_dissector_handle(dissect_RICsubscriptionDetails_PDU, proto_e2ap));
14735
14
  dissector_add_uint("e2ap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_e2ap));
14736
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdate, create_dissector_handle(dissect_E2nodeComponentConfigUpdate_List_PDU, proto_e2ap));
14737
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdate_Item, create_dissector_handle(dissect_E2nodeComponentConfigUpdate_Item_PDU, proto_e2ap));
14738
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdateAck, create_dissector_handle(dissect_E2nodeComponentConfigUpdateAck_List_PDU, proto_e2ap));
14739
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdateAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigUpdateAck_Item_PDU, proto_e2ap));
14740
14
  dissector_add_uint("e2ap.ies", id_E2connectionSetup, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14741
14
  dissector_add_uint("e2ap.ies", id_E2connectionSetupFailed, create_dissector_handle(dissect_E2connectionSetupFailed_List_PDU, proto_e2ap));
14742
14
  dissector_add_uint("e2ap.ies", id_E2connectionSetupFailed_Item, create_dissector_handle(dissect_E2connectionSetupFailed_Item_PDU, proto_e2ap));
14743
14
  dissector_add_uint("e2ap.ies", id_E2connectionUpdate_Item, create_dissector_handle(dissect_E2connectionUpdate_Item_PDU, proto_e2ap));
14744
14
  dissector_add_uint("e2ap.ies", id_E2connectionUpdateAdd, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14745
14
  dissector_add_uint("e2ap.ies", id_E2connectionUpdateModify, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14746
14
  dissector_add_uint("e2ap.ies", id_E2connectionUpdateRemove, create_dissector_handle(dissect_E2connectionUpdateRemove_List_PDU, proto_e2ap));
14747
14
  dissector_add_uint("e2ap.ies", id_E2connectionUpdateRemove_Item, create_dissector_handle(dissect_E2connectionUpdateRemove_Item_PDU, proto_e2ap));
14748
14
  dissector_add_uint("e2ap.ies", id_TNLinformation, create_dissector_handle(dissect_TNLinformation_PDU, proto_e2ap));
14749
14
  dissector_add_uint("e2ap.ies", id_TransactionID, create_dissector_handle(dissect_TransactionID_PDU, proto_e2ap));
14750
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAddition, create_dissector_handle(dissect_E2nodeComponentConfigAddition_List_PDU, proto_e2ap));
14751
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAddition_Item, create_dissector_handle(dissect_E2nodeComponentConfigAddition_Item_PDU, proto_e2ap));
14752
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAdditionAck, create_dissector_handle(dissect_E2nodeComponentConfigAdditionAck_List_PDU, proto_e2ap));
14753
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAdditionAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigAdditionAck_Item_PDU, proto_e2ap));
14754
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemoval, create_dissector_handle(dissect_E2nodeComponentConfigRemoval_List_PDU, proto_e2ap));
14755
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemoval_Item, create_dissector_handle(dissect_E2nodeComponentConfigRemoval_Item_PDU, proto_e2ap));
14756
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemovalAck, create_dissector_handle(dissect_E2nodeComponentConfigRemovalAck_List_PDU, proto_e2ap));
14757
14
  dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemovalAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigRemovalAck_Item_PDU, proto_e2ap));
14758
14
  dissector_add_uint("e2ap.ies", id_E2nodeTNLassociationRemoval, create_dissector_handle(dissect_E2nodeTNLassociationRemoval_List_PDU, proto_e2ap));
14759
14
  dissector_add_uint("e2ap.ies", id_E2nodeTNLassociationRemoval_Item, create_dissector_handle(dissect_E2nodeTNLassociationRemoval_Item_PDU, proto_e2ap));
14760
14
  dissector_add_uint("e2ap.ies", id_RICsubscriptionToBeRemoved, create_dissector_handle(dissect_RICsubscription_List_withCause_PDU, proto_e2ap));
14761
14
  dissector_add_uint("e2ap.ies", id_RICsubscription_withCause_Item, create_dissector_handle(dissect_RICsubscription_withCause_Item_PDU, proto_e2ap));
14762
14
  dissector_add_uint("e2ap.ies", id_RICsubscriptionStartTime, create_dissector_handle(dissect_RICsubscriptionTime_PDU, proto_e2ap));
14763
14
  dissector_add_uint("e2ap.ies", id_RICsubscriptionEndTime, create_dissector_handle(dissect_RICsubscriptionTime_PDU, proto_e2ap));
14764
14
  dissector_add_uint("e2ap.ies", id_RICeventTriggerDefinitionToBeModified, create_dissector_handle(dissect_RICeventTriggerDefinition_PDU, proto_e2ap));
14765
14
  dissector_add_uint("e2ap.ies", id_RICactionsToBeRemovedForModification_List, create_dissector_handle(dissect_RICactions_ToBeRemovedForModification_List_PDU, proto_e2ap));
14766
14
  dissector_add_uint("e2ap.ies", id_RICaction_ToBeRemovedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeRemovedForModification_Item_PDU, proto_e2ap));
14767
14
  dissector_add_uint("e2ap.ies", id_RICactionsToBeModifiedForModification_List, create_dissector_handle(dissect_RICactions_ToBeModifiedForModification_List_PDU, proto_e2ap));
14768
14
  dissector_add_uint("e2ap.ies", id_RICaction_ToBeModifiedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeModifiedForModification_Item_PDU, proto_e2ap));
14769
14
  dissector_add_uint("e2ap.ies", id_RICactionsToBeAddedForModification_List, create_dissector_handle(dissect_RICactions_ToBeAddedForModification_List_PDU, proto_e2ap));
14770
14
  dissector_add_uint("e2ap.ies", id_RICaction_ToBeAddedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeAddedForModification_Item_PDU, proto_e2ap));
14771
14
  dissector_add_uint("e2ap.ies", id_RICactionsRemovedForModification_List, create_dissector_handle(dissect_RICactions_RemovedForModification_List_PDU, proto_e2ap));
14772
14
  dissector_add_uint("e2ap.ies", id_RICaction_RemovedForModification_Item, create_dissector_handle(dissect_RICaction_RemovedForModification_Item_PDU, proto_e2ap));
14773
14
  dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeRemovedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeRemovedForModification_List_PDU, proto_e2ap));
14774
14
  dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeRemovedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeRemovedForModification_Item_PDU, proto_e2ap));
14775
14
  dissector_add_uint("e2ap.ies", id_RICactionsModifiedForModification_List, create_dissector_handle(dissect_RICactions_ModifiedForModification_List_PDU, proto_e2ap));
14776
14
  dissector_add_uint("e2ap.ies", id_RICaction_ModifiedForModification_Item, create_dissector_handle(dissect_RICaction_ModifiedForModification_Item_PDU, proto_e2ap));
14777
14
  dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeModifiedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeModifiedForModification_List_PDU, proto_e2ap));
14778
14
  dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeModifiedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeModifiedForModification_Item_PDU, proto_e2ap));
14779
14
  dissector_add_uint("e2ap.ies", id_RICactionsAddedForModification_List, create_dissector_handle(dissect_RICactions_AddedForModification_List_PDU, proto_e2ap));
14780
14
  dissector_add_uint("e2ap.ies", id_RICaction_AddedForModification_Item, create_dissector_handle(dissect_RICaction_AddedForModification_Item_PDU, proto_e2ap));
14781
14
  dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeAddedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeAddedForModification_List_PDU, proto_e2ap));
14782
14
  dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeAddedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeAddedForModification_Item_PDU, proto_e2ap));
14783
14
  dissector_add_uint("e2ap.ies", id_RICactionsRequiredToBeModified_List, create_dissector_handle(dissect_RICactions_RequiredToBeModified_List_PDU, proto_e2ap));
14784
14
  dissector_add_uint("e2ap.ies", id_RICaction_RequiredToBeModified_Item, create_dissector_handle(dissect_RICaction_RequiredToBeModified_Item_PDU, proto_e2ap));
14785
14
  dissector_add_uint("e2ap.ies", id_RICactionsRequiredToBeRemoved_List, create_dissector_handle(dissect_RICactions_RequiredToBeRemoved_List_PDU, proto_e2ap));
14786
14
  dissector_add_uint("e2ap.ies", id_RICaction_RequiredToBeRemoved_Item, create_dissector_handle(dissect_RICaction_RequiredToBeRemoved_Item_PDU, proto_e2ap));
14787
14
  dissector_add_uint("e2ap.ies", id_RICactionsConfirmedForModification_List, create_dissector_handle(dissect_RICactions_ConfirmedForModification_List_PDU, proto_e2ap));
14788
14
  dissector_add_uint("e2ap.ies", id_RICaction_ConfirmedForModification_Item, create_dissector_handle(dissect_RICaction_ConfirmedForModification_Item_PDU, proto_e2ap));
14789
14
  dissector_add_uint("e2ap.ies", id_RICactionsRefusedToBeModified_List, create_dissector_handle(dissect_RICactions_RefusedToBeModified_List_PDU, proto_e2ap));
14790
14
  dissector_add_uint("e2ap.ies", id_RICaction_RefusedToBeModified_Item, create_dissector_handle(dissect_RICaction_RefusedToBeModified_Item_PDU, proto_e2ap));
14791
14
  dissector_add_uint("e2ap.ies", id_RICactionsConfirmedForRemoval_List, create_dissector_handle(dissect_RICactions_ConfirmedForRemoval_List_PDU, proto_e2ap));
14792
14
  dissector_add_uint("e2ap.ies", id_RICaction_ConfirmedForRemoval_Item, create_dissector_handle(dissect_RICaction_ConfirmedForRemoval_Item_PDU, proto_e2ap));
14793
14
  dissector_add_uint("e2ap.ies", id_RICactionsRefusedToBeRemoved_List, create_dissector_handle(dissect_RICactions_RefusedToBeRemoved_List_PDU, proto_e2ap));
14794
14
  dissector_add_uint("e2ap.ies", id_RICaction_RefusedToBeRemoved_Item, create_dissector_handle(dissect_RICaction_RefusedToBeRemoved_Item_PDU, proto_e2ap));
14795
14
  dissector_add_uint("e2ap.ies", id_RICqueryHeader, create_dissector_handle(dissect_RICqueryHeader_PDU, proto_e2ap));
14796
14
  dissector_add_uint("e2ap.ies", id_RICqueryDefinition, create_dissector_handle(dissect_RICqueryDefinition_PDU, proto_e2ap));
14797
14
  dissector_add_uint("e2ap.ies", id_RICqueryOutcome, create_dissector_handle(dissect_RICqueryOutcome_PDU, proto_e2ap));
14798
14
  dissector_add_uint("e2ap.proc.imsg", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdate_PDU, proto_e2ap));
14799
14
  dissector_add_uint("e2ap.proc.sout", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdateAcknowledge_PDU, proto_e2ap));
14800
14
  dissector_add_uint("e2ap.proc.uout", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdateFailure_PDU, proto_e2ap));
14801
14
  dissector_add_uint("e2ap.proc.imsg", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdate_PDU, proto_e2ap));
14802
14
  dissector_add_uint("e2ap.proc.sout", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdateAcknowledge_PDU, proto_e2ap));
14803
14
  dissector_add_uint("e2ap.proc.uout", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdateFailure_PDU, proto_e2ap));
14804
14
  dissector_add_uint("e2ap.proc.uout", id_E2setup, create_dissector_handle(dissect_E2setupFailure_PDU, proto_e2ap));
14805
14
  dissector_add_uint("e2ap.proc.imsg", id_E2setup, create_dissector_handle(dissect_E2setupRequest_PDU, proto_e2ap));
14806
14
  dissector_add_uint("e2ap.proc.sout", id_E2setup, create_dissector_handle(dissect_E2setupResponse_PDU, proto_e2ap));
14807
14
  dissector_add_uint("e2ap.proc.imsg", id_ErrorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_e2ap));
14808
14
  dissector_add_uint("e2ap.proc.imsg", id_Reset, create_dissector_handle(dissect_ResetRequest_PDU, proto_e2ap));
14809
14
  dissector_add_uint("e2ap.proc.sout", id_Reset, create_dissector_handle(dissect_ResetResponse_PDU, proto_e2ap));
14810
14
  dissector_add_uint("e2ap.proc.sout", id_RICcontrol, create_dissector_handle(dissect_RICcontrolAcknowledge_PDU, proto_e2ap));
14811
14
  dissector_add_uint("e2ap.proc.uout", id_RICcontrol, create_dissector_handle(dissect_RICcontrolFailure_PDU, proto_e2ap));
14812
14
  dissector_add_uint("e2ap.proc.imsg", id_RICcontrol, create_dissector_handle(dissect_RICcontrolRequest_PDU, proto_e2ap));
14813
14
  dissector_add_uint("e2ap.proc.imsg", id_RICindication, create_dissector_handle(dissect_RICindication_PDU, proto_e2ap));
14814
14
  dissector_add_uint("e2ap.proc.imsg", id_RICserviceQuery, create_dissector_handle(dissect_RICserviceQuery_PDU, proto_e2ap));
14815
14
  dissector_add_uint("e2ap.proc.imsg", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdate_PDU, proto_e2ap));
14816
14
  dissector_add_uint("e2ap.proc.sout", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdateAcknowledge_PDU, proto_e2ap));
14817
14
  dissector_add_uint("e2ap.proc.uout", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdateFailure_PDU, proto_e2ap));
14818
14
  dissector_add_uint("e2ap.proc.uout", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionFailure_PDU, proto_e2ap));
14819
14
  dissector_add_uint("e2ap.proc.imsg", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionRequest_PDU, proto_e2ap));
14820
14
  dissector_add_uint("e2ap.proc.sout", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionResponse_PDU, proto_e2ap));
14821
14
  dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteFailure_PDU, proto_e2ap));
14822
14
  dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteRequest_PDU, proto_e2ap));
14823
14
  dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteResponse_PDU, proto_e2ap));
14824
14
  dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionDeleteRequired, create_dissector_handle(dissect_RICsubscriptionDeleteRequired_PDU, proto_e2ap));
14825
14
  dissector_add_uint("e2ap.proc.uout", id_E2removal, create_dissector_handle(dissect_E2RemovalFailure_PDU, proto_e2ap));
14826
14
  dissector_add_uint("e2ap.proc.imsg", id_E2removal, create_dissector_handle(dissect_E2RemovalRequest_PDU, proto_e2ap));
14827
14
  dissector_add_uint("e2ap.proc.sout", id_E2removal, create_dissector_handle(dissect_E2RemovalResponse_PDU, proto_e2ap));
14828
14
  dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationFailure_PDU, proto_e2ap));
14829
14
  dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationRequest_PDU, proto_e2ap));
14830
14
  dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationResponse_PDU, proto_e2ap));
14831
14
  dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationRefuse_PDU, proto_e2ap));
14832
14
  dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationRequired_PDU, proto_e2ap));
14833
14
  dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationConfirm_PDU, proto_e2ap));
14834
14
  dissector_add_uint("e2ap.proc.uout", id_RICquery, create_dissector_handle(dissect_RICQueryFailure_PDU, proto_e2ap));
14835
14
  dissector_add_uint("e2ap.proc.imsg", id_RICquery, create_dissector_handle(dissect_RICQueryRequest_PDU, proto_e2ap));
14836
14
  dissector_add_uint("e2ap.proc.sout", id_RICquery, create_dissector_handle(dissect_RICQueryResponse_PDU, proto_e2ap));
14837
14838
14839
  /********************************/
14840
  /* Known OIDs for RAN providers */
14841
  /* N.B. These appear in the RAN Function ASN.1 definitions (except for CCC, which is based on JSON).
14842
   * There is a registry of known OIDs though in the E2SM specification
14843
   */
14844
14845
  /* KPM */
14846
14
  oid_add_from_string("KPM v1",         "1.3.6.1.4.1.53148.1.1.2.2");
14847
14
  oid_add_from_string("KPM v2",         "1.3.6.1.4.1.53148.1.2.2.2");
14848
14
  oid_add_from_string("KPM v3",         "1.3.6.1.4.1.53148.1.3.2.2");
14849
14
  oid_add_from_string("KPM v4",         "1.3.6.1.4.1.53148.1.4.2.2");
14850
14
  oid_add_from_string("KPM v5",         "1.3.6.1.4.1.53148.1.5.2.2");
14851
14
  oid_add_from_string("KPM v6",         "1.3.6.1.4.1.53148.1.6.2.2");
14852
14853
14854
  /* RC */
14855
  // TODO: appears to be the same???  Asking for clarification from ORAN..
14856
14
  oid_add_from_string("RC v1",         "1.3.6.1.4.1.53148.1.1.2.3");
14857
  //oid_add_from_string("RC v3",         "1.3.6.1.4.1.53148.1.1.2.3");
14858
  //oid_add_from_string("RC v4",         "1.3.6.1.4.1.53148.1.1.2.3");
14859
14860
  /* NI */
14861
14
  oid_add_from_string("NI v1",         "1.3.6.1.4.1.53148.1.1.2.1");
14862
14
  oid_add_from_string("NI v2",         "1.3.6.1.4.1.53148.1.2.2.1");
14863
14
  oid_add_from_string("NI v3",         "1.3.6.1.4.1.53148.1.3.2.1");
14864
14
  oid_add_from_string("NI v4",         "1.3.6.1.4.1.53148.1.4.2.1");
14865
14
  oid_add_from_string("NI v5",         "1.3.6.1.4.1.53148.1.5.2.1");
14866
14
  oid_add_from_string("NI v6",         "1.3.6.1.4.1.53148.1.6.2.1");
14867
14868
  /* CCC */
14869
14
  oid_add_from_string("CCC v1",         "1.3.6.1.4.1.53148.1.1.2.4");
14870
14
  oid_add_from_string("CCC v2",         "1.3.6.1.4.1.53148.1.2.2.4");
14871
14
  oid_add_from_string("CCC v3",         "1.3.6.1.4.1.53148.1.3.2.4");
14872
14
  oid_add_from_string("CCC v4",         "1.3.6.1.4.1.53148.1.4.2.4");
14873
14
  oid_add_from_string("CCC v5",         "1.3.6.1.4.1.53148.1.5.2.4");
14874
14
  oid_add_from_string("CCC v6",         "1.3.6.1.4.1.53148.1.6.2.4");
14875
14876
  /* LLC */
14877
14
  oid_add_from_string("LLC v1",         "1.3.6.1.4.1.53148.1.1.2.5");
14878
14879
14880
  /*********************************************************/
14881
  /* Register 'built-in' dissectors (i.e., from asn1/e2ap) */
14882
14883
14
  static const ran_function_dissector_t kpm_v3 =
14884
14
  { "ORAN-E2SM-KPM", "1.3.6.1.4.1.53148.1.3.2.2", 3, 0,
14885
14
    {  dissect_E2SM_KPM_RANfunction_Description_PDU,
14886
14887
14
       NULL,
14888
14
       NULL,
14889
14
       NULL,
14890
14
       NULL,
14891
14
       NULL,
14892
14
       NULL,
14893
14894
14
       dissect_E2SM_KPM_ActionDefinition_PDU,
14895
14
       dissect_E2SM_KPM_IndicationMessage_PDU,
14896
14
       dissect_E2SM_KPM_IndicationHeader_PDU,
14897
14
       NULL, /* no dissect_E2SM_KPM_CallProcessID_PDU */
14898
14
       dissect_E2SM_KPM_EventTriggerDefinition_PDU
14899
14
     }
14900
14
  };
14901
14902
14
  static const ran_function_dissector_t rc_v1 =
14903
14
  { "ORAN-E2SM-RC",  "1.3.6.1.4.1.53148.1.1.2.3", 1, 3,
14904
14
    {  dissect_E2SM_RC_RANFunctionDefinition_PDU,
14905
14906
14
       dissect_E2SM_RC_ControlHeader_PDU,
14907
14
       dissect_E2SM_RC_ControlMessage_PDU,
14908
14
       dissect_E2SM_RC_ControlOutcome_PDU,
14909
       /* new for v3 */
14910
14
       NULL,
14911
14
       NULL,
14912
14
       NULL,
14913
14914
14
       dissect_E2SM_RC_ActionDefinition_PDU,
14915
14
       dissect_E2SM_RC_IndicationMessage_PDU,
14916
14
       dissect_E2SM_RC_IndicationHeader_PDU,
14917
14
       dissect_E2SM_RC_CallProcessID_PDU,
14918
14
       dissect_E2SM_RC_EventTrigger_PDU
14919
14
    }
14920
14
  };
14921
14922
14
  static const ran_function_dissector_t ni_v1 =
14923
14
  { "ORAN-E2SM-NI",  "1.3.6.1.4.1.53148.1.1.2.1", 1, 0,
14924
14
    {  dissect_E2SM_NI_RANfunction_Description_PDU,
14925
14926
14
       dissect_E2SM_NI_ControlHeader_PDU,
14927
14
       dissect_E2SM_NI_ControlMessage_PDU,
14928
14
       dissect_E2SM_NI_ControlOutcome_PDU,
14929
14
       NULL,
14930
14
       NULL,
14931
14
       NULL,
14932
14933
14
       dissect_E2SM_NI_ActionDefinition_PDU,
14934
14
       dissect_E2SM_NI_IndicationMessage_PDU,
14935
14
       dissect_E2SM_NI_IndicationHeader_PDU,
14936
14
       dissect_E2SM_NI_CallProcessID_PDU,
14937
14
       dissect_E2SM_NI_EventTriggerDefinition_PDU
14938
14
    }
14939
14
  };
14940
14941
14
  static const ran_function_dissector_t ccc_v1 =
14942
14
  { "{", /*"ORAN-E2SM-CCC",*/  "1.3.6.1.4.1.53148.1.1.2.4", 1, 0,
14943
    /* See table 5.1 */
14944
14
    {  dissect_E2SM_NI_JSON_PDU,
14945
14946
14
       dissect_E2SM_NI_JSON_PDU,
14947
14
       dissect_E2SM_NI_JSON_PDU,
14948
14
       dissect_E2SM_NI_JSON_PDU,
14949
14
       NULL,
14950
14
       NULL,
14951
14
       NULL,
14952
14953
14
       dissect_E2SM_NI_JSON_PDU,
14954
14
       dissect_E2SM_NI_JSON_PDU,
14955
14
       dissect_E2SM_NI_JSON_PDU,
14956
14
       dissect_E2SM_NI_JSON_PDU,
14957
14
       dissect_E2SM_NI_JSON_PDU
14958
14
    }
14959
14
  };
14960
14961
14
  static const ran_function_dissector_t ccc_v2 =
14962
14
  { "{", /*"ORAN-E2SM-CCC",*/  "1.3.6.1.4.1.53148.1.2.2.4", 2, 0,
14963
    /* See table 5.1 */
14964
14
    {  dissect_E2SM_NI_JSON_PDU,
14965
14966
14
       dissect_E2SM_NI_JSON_PDU,
14967
14
       dissect_E2SM_NI_JSON_PDU,
14968
14
       dissect_E2SM_NI_JSON_PDU,
14969
14
       NULL,
14970
14
       NULL,
14971
14
       NULL,
14972
14973
14
       dissect_E2SM_NI_JSON_PDU,
14974
14
       dissect_E2SM_NI_JSON_PDU,
14975
14
       dissect_E2SM_NI_JSON_PDU,
14976
14
       dissect_E2SM_NI_JSON_PDU,
14977
14
       dissect_E2SM_NI_JSON_PDU
14978
14
    }
14979
14
  };
14980
14981
14
  static const ran_function_dissector_t ccc_v3 =
14982
14
  { "{", /*"ORAN-E2SM-CCC",*/  "1.3.6.1.4.1.53148.1.3.2.4", 3, 0,
14983
    /* See table 5.1 */
14984
14
    {  dissect_E2SM_NI_JSON_PDU,
14985
14986
14
       dissect_E2SM_NI_JSON_PDU,
14987
14
       dissect_E2SM_NI_JSON_PDU,
14988
14
       dissect_E2SM_NI_JSON_PDU,
14989
14
       NULL,
14990
14
       NULL,
14991
14
       NULL,
14992
14993
14
       dissect_E2SM_NI_JSON_PDU,
14994
14
       dissect_E2SM_NI_JSON_PDU,
14995
14
       dissect_E2SM_NI_JSON_PDU,
14996
14
       dissect_E2SM_NI_JSON_PDU,
14997
14
       dissect_E2SM_NI_JSON_PDU
14998
14
    }
14999
14
  };
15000
15001
14
  static const ran_function_dissector_t ccc_v4 =
15002
14
  { "{", /*"ORAN-E2SM-CCC",*/  "1.3.6.1.4.1.53148.1.4.2.4", 4, 0,
15003
    /* See table 5.1 */
15004
14
    {  dissect_E2SM_NI_JSON_PDU,
15005
15006
14
       dissect_E2SM_NI_JSON_PDU,
15007
14
       dissect_E2SM_NI_JSON_PDU,
15008
14
       dissect_E2SM_NI_JSON_PDU,
15009
14
       NULL,
15010
14
       NULL,
15011
14
       NULL,
15012
15013
14
       dissect_E2SM_NI_JSON_PDU,
15014
14
       dissect_E2SM_NI_JSON_PDU,
15015
14
       dissect_E2SM_NI_JSON_PDU,
15016
14
       dissect_E2SM_NI_JSON_PDU,
15017
14
       dissect_E2SM_NI_JSON_PDU
15018
14
    }
15019
14
  };
15020
15021
14
  static const ran_function_dissector_t ccc_v5 =
15022
14
  { "{", /*"ORAN-E2SM-CCC",*/  "1.3.6.1.4.1.53148.1.5.2.4", 5, 0,
15023
    /* See table 5.1 */
15024
14
    {  dissect_E2SM_NI_JSON_PDU,
15025
15026
14
       dissect_E2SM_NI_JSON_PDU,
15027
14
       dissect_E2SM_NI_JSON_PDU,
15028
14
       dissect_E2SM_NI_JSON_PDU,
15029
14
       NULL,
15030
14
       NULL,
15031
14
       NULL,
15032
15033
14
       dissect_E2SM_NI_JSON_PDU,
15034
14
       dissect_E2SM_NI_JSON_PDU,
15035
14
       dissect_E2SM_NI_JSON_PDU,
15036
14
       dissect_E2SM_NI_JSON_PDU,
15037
14
       dissect_E2SM_NI_JSON_PDU
15038
14
    }
15039
14
  };
15040
15041
15042
  /* Register available dissectors.
15043
   * Registering one version of each RAN Function here - others will need to be
15044
   * registered in separate dissectors (e.g. kpm_v2) */
15045
14
  register_e2ap_ran_function_dissector(KPM_RANFUNCTIONS, &kpm_v3);
15046
14
  register_e2ap_ran_function_dissector(RC_RANFUNCTIONS,  &rc_v1);
15047
14
  register_e2ap_ran_function_dissector(NI_RANFUNCTIONS,  &ni_v1);
15048
15049
14
  register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS,  &ccc_v1);
15050
14
  register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS,  &ccc_v2);
15051
14
  register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS,  &ccc_v3);
15052
14
  register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS,  &ccc_v4);
15053
14
  register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS,  &ccc_v5);
15054
15055
15056
  /* Cache JSON dissector */
15057
14
  json_handle = find_dissector("json");
15058
15059
14
  stats_tree_register("e2ap", "e2ap", "E2AP", 0,
15060
14
                      e2ap_stats_tree_packet, e2ap_stats_tree_init, NULL);
15061
15062
14
}
15063
15064
15065
15066
/*--- proto_register_e2ap -------------------------------------------*/
15067
14
void proto_register_e2ap(void) {
15068
15069
  /* List of fields */
15070
15071
14
  static hf_register_info hf[] = {
15072
14
    { &hf_e2ap_Cause_PDU,
15073
14
      { "Cause", "e2ap.Cause",
15074
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
15075
14
        NULL, HFILL }},
15076
14
    { &hf_e2ap_CriticalityDiagnostics_PDU,
15077
14
      { "CriticalityDiagnostics", "e2ap.CriticalityDiagnostics_element",
15078
14
        FT_NONE, BASE_NONE, NULL, 0,
15079
14
        NULL, HFILL }},
15080
14
    { &hf_e2ap_GlobalE2node_ID_PDU,
15081
14
      { "GlobalE2node-ID", "e2ap.GlobalE2node_ID",
15082
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GlobalE2node_ID_vals), 0,
15083
14
        NULL, HFILL }},
15084
14
    { &hf_e2ap_GlobalRIC_ID_PDU,
15085
14
      { "GlobalRIC-ID", "e2ap.GlobalRIC_ID_element",
15086
14
        FT_NONE, BASE_NONE, NULL, 0,
15087
14
        NULL, HFILL }},
15088
14
    { &hf_e2ap_RANfunctionID_PDU,
15089
14
      { "RANfunctionID", "e2ap.RANfunctionID",
15090
14
        FT_UINT32, BASE_DEC, NULL, 0,
15091
14
        NULL, HFILL }},
15092
14
    { &hf_e2ap_RICactionID_PDU,
15093
14
      { "RICactionID", "e2ap.RICactionID",
15094
14
        FT_UINT32, BASE_DEC, NULL, 0,
15095
14
        NULL, HFILL }},
15096
14
    { &hf_e2ap_RICcallProcessID_PDU,
15097
14
      { "RICcallProcessID", "e2ap.RICcallProcessID",
15098
14
        FT_BYTES, BASE_NONE, NULL, 0,
15099
14
        NULL, HFILL }},
15100
14
    { &hf_e2ap_RICcontrolAckRequest_PDU,
15101
14
      { "RICcontrolAckRequest", "e2ap.RICcontrolAckRequest",
15102
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RICcontrolAckRequest_vals), 0,
15103
14
        NULL, HFILL }},
15104
14
    { &hf_e2ap_RICcontrolHeader_PDU,
15105
14
      { "RICcontrolHeader", "e2ap.RICcontrolHeader",
15106
14
        FT_BYTES, BASE_NONE, NULL, 0,
15107
14
        NULL, HFILL }},
15108
14
    { &hf_e2ap_RICcontrolMessage_PDU,
15109
14
      { "RICcontrolMessage", "e2ap.RICcontrolMessage",
15110
14
        FT_BYTES, BASE_NONE, NULL, 0,
15111
14
        NULL, HFILL }},
15112
14
    { &hf_e2ap_RICcontrolOutcome_PDU,
15113
14
      { "RICcontrolOutcome", "e2ap.RICcontrolOutcome",
15114
14
        FT_BYTES, BASE_NONE, NULL, 0,
15115
14
        NULL, HFILL }},
15116
14
    { &hf_e2ap_RICeventTriggerDefinition_PDU,
15117
14
      { "RICeventTriggerDefinition", "e2ap.RICeventTriggerDefinition",
15118
14
        FT_BYTES, BASE_NONE, NULL, 0,
15119
14
        NULL, HFILL }},
15120
14
    { &hf_e2ap_RICindicationHeader_PDU,
15121
14
      { "RICindicationHeader", "e2ap.RICindicationHeader",
15122
14
        FT_BYTES, BASE_NONE, NULL, 0,
15123
14
        NULL, HFILL }},
15124
14
    { &hf_e2ap_RICindicationMessage_PDU,
15125
14
      { "RICindicationMessage", "e2ap.RICindicationMessage",
15126
14
        FT_BYTES, BASE_NONE, NULL, 0,
15127
14
        NULL, HFILL }},
15128
14
    { &hf_e2ap_RICindicationSN_PDU,
15129
14
      { "RICindicationSN", "e2ap.RICindicationSN",
15130
14
        FT_UINT32, BASE_DEC, NULL, 0,
15131
14
        NULL, HFILL }},
15132
14
    { &hf_e2ap_RICindicationType_PDU,
15133
14
      { "RICindicationType", "e2ap.RICindicationType",
15134
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RICindicationType_vals), 0,
15135
14
        NULL, HFILL }},
15136
14
    { &hf_e2ap_RICrequestID_PDU,
15137
14
      { "RICrequestID", "e2ap.RICrequestID_element",
15138
14
        FT_NONE, BASE_NONE, NULL, 0,
15139
14
        NULL, HFILL }},
15140
14
    { &hf_e2ap_RICsubscriptionTime_PDU,
15141
14
      { "RICsubscriptionTime", "e2ap.RICsubscriptionTime",
15142
14
        FT_BYTES, BASE_NONE, NULL, 0,
15143
14
        NULL, HFILL }},
15144
14
    { &hf_e2ap_RICqueryHeader_PDU,
15145
14
      { "RICqueryHeader", "e2ap.RICqueryHeader",
15146
14
        FT_BYTES, BASE_NONE, NULL, 0,
15147
14
        NULL, HFILL }},
15148
14
    { &hf_e2ap_RICqueryDefinition_PDU,
15149
14
      { "RICqueryDefinition", "e2ap.RICqueryDefinition",
15150
14
        FT_BYTES, BASE_NONE, NULL, 0,
15151
14
        NULL, HFILL }},
15152
14
    { &hf_e2ap_RICqueryOutcome_PDU,
15153
14
      { "RICqueryOutcome", "e2ap.RICqueryOutcome",
15154
14
        FT_BYTES, BASE_NONE, NULL, 0,
15155
14
        NULL, HFILL }},
15156
14
    { &hf_e2ap_TimeToWait_PDU,
15157
14
      { "TimeToWait", "e2ap.TimeToWait",
15158
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TimeToWait_vals), 0,
15159
14
        NULL, HFILL }},
15160
14
    { &hf_e2ap_TNLinformation_PDU,
15161
14
      { "TNLinformation", "e2ap.TNLinformation_element",
15162
14
        FT_NONE, BASE_NONE, NULL, 0,
15163
14
        NULL, HFILL }},
15164
14
    { &hf_e2ap_TransactionID_PDU,
15165
14
      { "TransactionID", "e2ap.TransactionID",
15166
14
        FT_UINT32, BASE_DEC, NULL, 0,
15167
14
        NULL, HFILL }},
15168
14
    { &hf_e2ap_RICsubscriptionRequest_PDU,
15169
14
      { "RICsubscriptionRequest", "e2ap.RICsubscriptionRequest_element",
15170
14
        FT_NONE, BASE_NONE, NULL, 0,
15171
14
        NULL, HFILL }},
15172
14
    { &hf_e2ap_RICsubscriptionDetails_PDU,
15173
14
      { "RICsubscriptionDetails", "e2ap.RICsubscriptionDetails_element",
15174
14
        FT_NONE, BASE_NONE, NULL, 0,
15175
14
        NULL, HFILL }},
15176
14
    { &hf_e2ap_RICaction_ToBeSetup_Item_PDU,
15177
14
      { "RICaction-ToBeSetup-Item", "e2ap.RICaction_ToBeSetup_Item_element",
15178
14
        FT_NONE, BASE_NONE, NULL, 0,
15179
14
        NULL, HFILL }},
15180
14
    { &hf_e2ap_RICsubscriptionResponse_PDU,
15181
14
      { "RICsubscriptionResponse", "e2ap.RICsubscriptionResponse_element",
15182
14
        FT_NONE, BASE_NONE, NULL, 0,
15183
14
        NULL, HFILL }},
15184
14
    { &hf_e2ap_RICaction_Admitted_List_PDU,
15185
14
      { "RICaction-Admitted-List", "e2ap.RICaction_Admitted_List",
15186
14
        FT_UINT32, BASE_DEC, NULL, 0,
15187
14
        NULL, HFILL }},
15188
14
    { &hf_e2ap_RICaction_Admitted_Item_PDU,
15189
14
      { "RICaction-Admitted-Item", "e2ap.RICaction_Admitted_Item_element",
15190
14
        FT_NONE, BASE_NONE, NULL, 0,
15191
14
        NULL, HFILL }},
15192
14
    { &hf_e2ap_RICaction_NotAdmitted_List_PDU,
15193
14
      { "RICaction-NotAdmitted-List", "e2ap.RICaction_NotAdmitted_List",
15194
14
        FT_UINT32, BASE_DEC, NULL, 0,
15195
14
        NULL, HFILL }},
15196
14
    { &hf_e2ap_RICaction_NotAdmitted_Item_PDU,
15197
14
      { "RICaction-NotAdmitted-Item", "e2ap.RICaction_NotAdmitted_Item_element",
15198
14
        FT_NONE, BASE_NONE, NULL, 0,
15199
14
        NULL, HFILL }},
15200
14
    { &hf_e2ap_RICsubscriptionFailure_PDU,
15201
14
      { "RICsubscriptionFailure", "e2ap.RICsubscriptionFailure_element",
15202
14
        FT_NONE, BASE_NONE, NULL, 0,
15203
14
        NULL, HFILL }},
15204
14
    { &hf_e2ap_RICsubscriptionDeleteRequest_PDU,
15205
14
      { "RICsubscriptionDeleteRequest", "e2ap.RICsubscriptionDeleteRequest_element",
15206
14
        FT_NONE, BASE_NONE, NULL, 0,
15207
14
        NULL, HFILL }},
15208
14
    { &hf_e2ap_RICsubscriptionDeleteResponse_PDU,
15209
14
      { "RICsubscriptionDeleteResponse", "e2ap.RICsubscriptionDeleteResponse_element",
15210
14
        FT_NONE, BASE_NONE, NULL, 0,
15211
14
        NULL, HFILL }},
15212
14
    { &hf_e2ap_RICsubscriptionDeleteFailure_PDU,
15213
14
      { "RICsubscriptionDeleteFailure", "e2ap.RICsubscriptionDeleteFailure_element",
15214
14
        FT_NONE, BASE_NONE, NULL, 0,
15215
14
        NULL, HFILL }},
15216
14
    { &hf_e2ap_RICsubscriptionDeleteRequired_PDU,
15217
14
      { "RICsubscriptionDeleteRequired", "e2ap.RICsubscriptionDeleteRequired_element",
15218
14
        FT_NONE, BASE_NONE, NULL, 0,
15219
14
        NULL, HFILL }},
15220
14
    { &hf_e2ap_RICsubscription_List_withCause_PDU,
15221
14
      { "RICsubscription-List-withCause", "e2ap.RICsubscription_List_withCause",
15222
14
        FT_UINT32, BASE_DEC, NULL, 0,
15223
14
        NULL, HFILL }},
15224
14
    { &hf_e2ap_RICsubscription_withCause_Item_PDU,
15225
14
      { "RICsubscription-withCause-Item", "e2ap.RICsubscription_withCause_Item_element",
15226
14
        FT_NONE, BASE_NONE, NULL, 0,
15227
14
        NULL, HFILL }},
15228
14
    { &hf_e2ap_RICsubscriptionModificationRequest_PDU,
15229
14
      { "RICsubscriptionModificationRequest", "e2ap.RICsubscriptionModificationRequest_element",
15230
14
        FT_NONE, BASE_NONE, NULL, 0,
15231
14
        NULL, HFILL }},
15232
14
    { &hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU,
15233
14
      { "RICactions-ToBeRemovedForModification-List", "e2ap.RICactions_ToBeRemovedForModification_List",
15234
14
        FT_UINT32, BASE_DEC, NULL, 0,
15235
14
        NULL, HFILL }},
15236
14
    { &hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU,
15237
14
      { "RICaction-ToBeRemovedForModification-Item", "e2ap.RICaction_ToBeRemovedForModification_Item_element",
15238
14
        FT_NONE, BASE_NONE, NULL, 0,
15239
14
        NULL, HFILL }},
15240
14
    { &hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU,
15241
14
      { "RICactions-ToBeModifiedForModification-List", "e2ap.RICactions_ToBeModifiedForModification_List",
15242
14
        FT_UINT32, BASE_DEC, NULL, 0,
15243
14
        NULL, HFILL }},
15244
14
    { &hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU,
15245
14
      { "RICaction-ToBeModifiedForModification-Item", "e2ap.RICaction_ToBeModifiedForModification_Item_element",
15246
14
        FT_NONE, BASE_NONE, NULL, 0,
15247
14
        NULL, HFILL }},
15248
14
    { &hf_e2ap_RICactions_ToBeAddedForModification_List_PDU,
15249
14
      { "RICactions-ToBeAddedForModification-List", "e2ap.RICactions_ToBeAddedForModification_List",
15250
14
        FT_UINT32, BASE_DEC, NULL, 0,
15251
14
        NULL, HFILL }},
15252
14
    { &hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU,
15253
14
      { "RICaction-ToBeAddedForModification-Item", "e2ap.RICaction_ToBeAddedForModification_Item_element",
15254
14
        FT_NONE, BASE_NONE, NULL, 0,
15255
14
        NULL, HFILL }},
15256
14
    { &hf_e2ap_RICsubscriptionModificationResponse_PDU,
15257
14
      { "RICsubscriptionModificationResponse", "e2ap.RICsubscriptionModificationResponse_element",
15258
14
        FT_NONE, BASE_NONE, NULL, 0,
15259
14
        NULL, HFILL }},
15260
14
    { &hf_e2ap_RICactions_RemovedForModification_List_PDU,
15261
14
      { "RICactions-RemovedForModification-List", "e2ap.RICactions_RemovedForModification_List",
15262
14
        FT_UINT32, BASE_DEC, NULL, 0,
15263
14
        NULL, HFILL }},
15264
14
    { &hf_e2ap_RICaction_RemovedForModification_Item_PDU,
15265
14
      { "RICaction-RemovedForModification-Item", "e2ap.RICaction_RemovedForModification_Item_element",
15266
14
        FT_NONE, BASE_NONE, NULL, 0,
15267
14
        NULL, HFILL }},
15268
14
    { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU,
15269
14
      { "RICactions-FailedToBeRemovedForModification-List", "e2ap.RICactions_FailedToBeRemovedForModification_List",
15270
14
        FT_UINT32, BASE_DEC, NULL, 0,
15271
14
        NULL, HFILL }},
15272
14
    { &hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU,
15273
14
      { "RICaction-FailedToBeRemovedForModification-Item", "e2ap.RICaction_FailedToBeRemovedForModification_Item_element",
15274
14
        FT_NONE, BASE_NONE, NULL, 0,
15275
14
        NULL, HFILL }},
15276
14
    { &hf_e2ap_RICactions_ModifiedForModification_List_PDU,
15277
14
      { "RICactions-ModifiedForModification-List", "e2ap.RICactions_ModifiedForModification_List",
15278
14
        FT_UINT32, BASE_DEC, NULL, 0,
15279
14
        NULL, HFILL }},
15280
14
    { &hf_e2ap_RICaction_ModifiedForModification_Item_PDU,
15281
14
      { "RICaction-ModifiedForModification-Item", "e2ap.RICaction_ModifiedForModification_Item_element",
15282
14
        FT_NONE, BASE_NONE, NULL, 0,
15283
14
        NULL, HFILL }},
15284
14
    { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU,
15285
14
      { "RICactions-FailedToBeModifiedForModification-List", "e2ap.RICactions_FailedToBeModifiedForModification_List",
15286
14
        FT_UINT32, BASE_DEC, NULL, 0,
15287
14
        NULL, HFILL }},
15288
14
    { &hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU,
15289
14
      { "RICaction-FailedToBeModifiedForModification-Item", "e2ap.RICaction_FailedToBeModifiedForModification_Item_element",
15290
14
        FT_NONE, BASE_NONE, NULL, 0,
15291
14
        NULL, HFILL }},
15292
14
    { &hf_e2ap_RICactions_AddedForModification_List_PDU,
15293
14
      { "RICactions-AddedForModification-List", "e2ap.RICactions_AddedForModification_List",
15294
14
        FT_UINT32, BASE_DEC, NULL, 0,
15295
14
        NULL, HFILL }},
15296
14
    { &hf_e2ap_RICaction_AddedForModification_Item_PDU,
15297
14
      { "RICaction-AddedForModification-Item", "e2ap.RICaction_AddedForModification_Item_element",
15298
14
        FT_NONE, BASE_NONE, NULL, 0,
15299
14
        NULL, HFILL }},
15300
14
    { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU,
15301
14
      { "RICactions-FailedToBeAddedForModification-List", "e2ap.RICactions_FailedToBeAddedForModification_List",
15302
14
        FT_UINT32, BASE_DEC, NULL, 0,
15303
14
        NULL, HFILL }},
15304
14
    { &hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU,
15305
14
      { "RICaction-FailedToBeAddedForModification-Item", "e2ap.RICaction_FailedToBeAddedForModification_Item_element",
15306
14
        FT_NONE, BASE_NONE, NULL, 0,
15307
14
        NULL, HFILL }},
15308
14
    { &hf_e2ap_RICsubscriptionModificationFailure_PDU,
15309
14
      { "RICsubscriptionModificationFailure", "e2ap.RICsubscriptionModificationFailure_element",
15310
14
        FT_NONE, BASE_NONE, NULL, 0,
15311
14
        NULL, HFILL }},
15312
14
    { &hf_e2ap_RICsubscriptionModificationRequired_PDU,
15313
14
      { "RICsubscriptionModificationRequired", "e2ap.RICsubscriptionModificationRequired_element",
15314
14
        FT_NONE, BASE_NONE, NULL, 0,
15315
14
        NULL, HFILL }},
15316
14
    { &hf_e2ap_RICactions_RequiredToBeModified_List_PDU,
15317
14
      { "RICactions-RequiredToBeModified-List", "e2ap.RICactions_RequiredToBeModified_List",
15318
14
        FT_UINT32, BASE_DEC, NULL, 0,
15319
14
        NULL, HFILL }},
15320
14
    { &hf_e2ap_RICaction_RequiredToBeModified_Item_PDU,
15321
14
      { "RICaction-RequiredToBeModified-Item", "e2ap.RICaction_RequiredToBeModified_Item_element",
15322
14
        FT_NONE, BASE_NONE, NULL, 0,
15323
14
        NULL, HFILL }},
15324
14
    { &hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU,
15325
14
      { "RICactions-RequiredToBeRemoved-List", "e2ap.RICactions_RequiredToBeRemoved_List",
15326
14
        FT_UINT32, BASE_DEC, NULL, 0,
15327
14
        NULL, HFILL }},
15328
14
    { &hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU,
15329
14
      { "RICaction-RequiredToBeRemoved-Item", "e2ap.RICaction_RequiredToBeRemoved_Item_element",
15330
14
        FT_NONE, BASE_NONE, NULL, 0,
15331
14
        NULL, HFILL }},
15332
14
    { &hf_e2ap_RICsubscriptionModificationConfirm_PDU,
15333
14
      { "RICsubscriptionModificationConfirm", "e2ap.RICsubscriptionModificationConfirm_element",
15334
14
        FT_NONE, BASE_NONE, NULL, 0,
15335
14
        NULL, HFILL }},
15336
14
    { &hf_e2ap_RICactions_ConfirmedForModification_List_PDU,
15337
14
      { "RICactions-ConfirmedForModification-List", "e2ap.RICactions_ConfirmedForModification_List",
15338
14
        FT_UINT32, BASE_DEC, NULL, 0,
15339
14
        NULL, HFILL }},
15340
14
    { &hf_e2ap_RICaction_ConfirmedForModification_Item_PDU,
15341
14
      { "RICaction-ConfirmedForModification-Item", "e2ap.RICaction_ConfirmedForModification_Item_element",
15342
14
        FT_NONE, BASE_NONE, NULL, 0,
15343
14
        NULL, HFILL }},
15344
14
    { &hf_e2ap_RICactions_RefusedToBeModified_List_PDU,
15345
14
      { "RICactions-RefusedToBeModified-List", "e2ap.RICactions_RefusedToBeModified_List",
15346
14
        FT_UINT32, BASE_DEC, NULL, 0,
15347
14
        NULL, HFILL }},
15348
14
    { &hf_e2ap_RICaction_RefusedToBeModified_Item_PDU,
15349
14
      { "RICaction-RefusedToBeModified-Item", "e2ap.RICaction_RefusedToBeModified_Item_element",
15350
14
        FT_NONE, BASE_NONE, NULL, 0,
15351
14
        NULL, HFILL }},
15352
14
    { &hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU,
15353
14
      { "RICactions-ConfirmedForRemoval-List", "e2ap.RICactions_ConfirmedForRemoval_List",
15354
14
        FT_UINT32, BASE_DEC, NULL, 0,
15355
14
        NULL, HFILL }},
15356
14
    { &hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU,
15357
14
      { "RICaction-ConfirmedForRemoval-Item", "e2ap.RICaction_ConfirmedForRemoval_Item_element",
15358
14
        FT_NONE, BASE_NONE, NULL, 0,
15359
14
        NULL, HFILL }},
15360
14
    { &hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU,
15361
14
      { "RICactions-RefusedToBeRemoved-List", "e2ap.RICactions_RefusedToBeRemoved_List",
15362
14
        FT_UINT32, BASE_DEC, NULL, 0,
15363
14
        NULL, HFILL }},
15364
14
    { &hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU,
15365
14
      { "RICaction-RefusedToBeRemoved-Item", "e2ap.RICaction_RefusedToBeRemoved_Item_element",
15366
14
        FT_NONE, BASE_NONE, NULL, 0,
15367
14
        NULL, HFILL }},
15368
14
    { &hf_e2ap_RICsubscriptionModificationRefuse_PDU,
15369
14
      { "RICsubscriptionModificationRefuse", "e2ap.RICsubscriptionModificationRefuse_element",
15370
14
        FT_NONE, BASE_NONE, NULL, 0,
15371
14
        NULL, HFILL }},
15372
14
    { &hf_e2ap_RICindication_PDU,
15373
14
      { "RICindication", "e2ap.RICindication_element",
15374
14
        FT_NONE, BASE_NONE, NULL, 0,
15375
14
        NULL, HFILL }},
15376
14
    { &hf_e2ap_RICcontrolRequest_PDU,
15377
14
      { "RICcontrolRequest", "e2ap.RICcontrolRequest_element",
15378
14
        FT_NONE, BASE_NONE, NULL, 0,
15379
14
        NULL, HFILL }},
15380
14
    { &hf_e2ap_RICcontrolAcknowledge_PDU,
15381
14
      { "RICcontrolAcknowledge", "e2ap.RICcontrolAcknowledge_element",
15382
14
        FT_NONE, BASE_NONE, NULL, 0,
15383
14
        NULL, HFILL }},
15384
14
    { &hf_e2ap_RICcontrolFailure_PDU,
15385
14
      { "RICcontrolFailure", "e2ap.RICcontrolFailure_element",
15386
14
        FT_NONE, BASE_NONE, NULL, 0,
15387
14
        NULL, HFILL }},
15388
14
    { &hf_e2ap_RICQueryRequest_PDU,
15389
14
      { "RICQueryRequest", "e2ap.RICQueryRequest_element",
15390
14
        FT_NONE, BASE_NONE, NULL, 0,
15391
14
        NULL, HFILL }},
15392
14
    { &hf_e2ap_RICQueryResponse_PDU,
15393
14
      { "RICQueryResponse", "e2ap.RICQueryResponse_element",
15394
14
        FT_NONE, BASE_NONE, NULL, 0,
15395
14
        NULL, HFILL }},
15396
14
    { &hf_e2ap_RICQueryFailure_PDU,
15397
14
      { "RICQueryFailure", "e2ap.RICQueryFailure_element",
15398
14
        FT_NONE, BASE_NONE, NULL, 0,
15399
14
        NULL, HFILL }},
15400
14
    { &hf_e2ap_ErrorIndication_PDU,
15401
14
      { "ErrorIndication", "e2ap.ErrorIndication_element",
15402
14
        FT_NONE, BASE_NONE, NULL, 0,
15403
14
        NULL, HFILL }},
15404
14
    { &hf_e2ap_E2setupRequest_PDU,
15405
14
      { "E2setupRequest", "e2ap.E2setupRequest_element",
15406
14
        FT_NONE, BASE_NONE, NULL, 0,
15407
14
        NULL, HFILL }},
15408
14
    { &hf_e2ap_E2setupResponse_PDU,
15409
14
      { "E2setupResponse", "e2ap.E2setupResponse_element",
15410
14
        FT_NONE, BASE_NONE, NULL, 0,
15411
14
        NULL, HFILL }},
15412
14
    { &hf_e2ap_E2setupFailure_PDU,
15413
14
      { "E2setupFailure", "e2ap.E2setupFailure_element",
15414
14
        FT_NONE, BASE_NONE, NULL, 0,
15415
14
        NULL, HFILL }},
15416
14
    { &hf_e2ap_E2connectionUpdate_PDU,
15417
14
      { "E2connectionUpdate", "e2ap.E2connectionUpdate_element",
15418
14
        FT_NONE, BASE_NONE, NULL, 0,
15419
14
        NULL, HFILL }},
15420
14
    { &hf_e2ap_E2connectionUpdate_List_PDU,
15421
14
      { "E2connectionUpdate-List", "e2ap.E2connectionUpdate_List",
15422
14
        FT_UINT32, BASE_DEC, NULL, 0,
15423
14
        NULL, HFILL }},
15424
14
    { &hf_e2ap_E2connectionUpdate_Item_PDU,
15425
14
      { "E2connectionUpdate-Item", "e2ap.E2connectionUpdate_Item_element",
15426
14
        FT_NONE, BASE_NONE, NULL, 0,
15427
14
        NULL, HFILL }},
15428
14
    { &hf_e2ap_E2connectionUpdateRemove_List_PDU,
15429
14
      { "E2connectionUpdateRemove-List", "e2ap.E2connectionUpdateRemove_List",
15430
14
        FT_UINT32, BASE_DEC, NULL, 0,
15431
14
        NULL, HFILL }},
15432
14
    { &hf_e2ap_E2connectionUpdateRemove_Item_PDU,
15433
14
      { "E2connectionUpdateRemove-Item", "e2ap.E2connectionUpdateRemove_Item_element",
15434
14
        FT_NONE, BASE_NONE, NULL, 0,
15435
14
        NULL, HFILL }},
15436
14
    { &hf_e2ap_E2connectionUpdateAcknowledge_PDU,
15437
14
      { "E2connectionUpdateAcknowledge", "e2ap.E2connectionUpdateAcknowledge_element",
15438
14
        FT_NONE, BASE_NONE, NULL, 0,
15439
14
        NULL, HFILL }},
15440
14
    { &hf_e2ap_E2connectionSetupFailed_List_PDU,
15441
14
      { "E2connectionSetupFailed-List", "e2ap.E2connectionSetupFailed_List",
15442
14
        FT_UINT32, BASE_DEC, NULL, 0,
15443
14
        NULL, HFILL }},
15444
14
    { &hf_e2ap_E2connectionSetupFailed_Item_PDU,
15445
14
      { "E2connectionSetupFailed-Item", "e2ap.E2connectionSetupFailed_Item_element",
15446
14
        FT_NONE, BASE_NONE, NULL, 0,
15447
14
        NULL, HFILL }},
15448
14
    { &hf_e2ap_E2connectionUpdateFailure_PDU,
15449
14
      { "E2connectionUpdateFailure", "e2ap.E2connectionUpdateFailure_element",
15450
14
        FT_NONE, BASE_NONE, NULL, 0,
15451
14
        NULL, HFILL }},
15452
14
    { &hf_e2ap_E2nodeConfigurationUpdate_PDU,
15453
14
      { "E2nodeConfigurationUpdate", "e2ap.E2nodeConfigurationUpdate_element",
15454
14
        FT_NONE, BASE_NONE, NULL, 0,
15455
14
        NULL, HFILL }},
15456
14
    { &hf_e2ap_E2nodeComponentConfigAddition_List_PDU,
15457
14
      { "E2nodeComponentConfigAddition-List", "e2ap.E2nodeComponentConfigAddition_List",
15458
14
        FT_UINT32, BASE_DEC, NULL, 0,
15459
14
        NULL, HFILL }},
15460
14
    { &hf_e2ap_E2nodeComponentConfigAddition_Item_PDU,
15461
14
      { "E2nodeComponentConfigAddition-Item", "e2ap.E2nodeComponentConfigAddition_Item_element",
15462
14
        FT_NONE, BASE_NONE, NULL, 0,
15463
14
        NULL, HFILL }},
15464
14
    { &hf_e2ap_E2nodeComponentConfigUpdate_List_PDU,
15465
14
      { "E2nodeComponentConfigUpdate-List", "e2ap.E2nodeComponentConfigUpdate_List",
15466
14
        FT_UINT32, BASE_DEC, NULL, 0,
15467
14
        NULL, HFILL }},
15468
14
    { &hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU,
15469
14
      { "E2nodeComponentConfigUpdate-Item", "e2ap.E2nodeComponentConfigUpdate_Item_element",
15470
14
        FT_NONE, BASE_NONE, NULL, 0,
15471
14
        NULL, HFILL }},
15472
14
    { &hf_e2ap_E2nodeComponentConfigRemoval_List_PDU,
15473
14
      { "E2nodeComponentConfigRemoval-List", "e2ap.E2nodeComponentConfigRemoval_List",
15474
14
        FT_UINT32, BASE_DEC, NULL, 0,
15475
14
        NULL, HFILL }},
15476
14
    { &hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU,
15477
14
      { "E2nodeComponentConfigRemoval-Item", "e2ap.E2nodeComponentConfigRemoval_Item_element",
15478
14
        FT_NONE, BASE_NONE, NULL, 0,
15479
14
        NULL, HFILL }},
15480
14
    { &hf_e2ap_E2nodeTNLassociationRemoval_List_PDU,
15481
14
      { "E2nodeTNLassociationRemoval-List", "e2ap.E2nodeTNLassociationRemoval_List",
15482
14
        FT_UINT32, BASE_DEC, NULL, 0,
15483
14
        NULL, HFILL }},
15484
14
    { &hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU,
15485
14
      { "E2nodeTNLassociationRemoval-Item", "e2ap.E2nodeTNLassociationRemoval_Item_element",
15486
14
        FT_NONE, BASE_NONE, NULL, 0,
15487
14
        NULL, HFILL }},
15488
14
    { &hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU,
15489
14
      { "E2nodeConfigurationUpdateAcknowledge", "e2ap.E2nodeConfigurationUpdateAcknowledge_element",
15490
14
        FT_NONE, BASE_NONE, NULL, 0,
15491
14
        NULL, HFILL }},
15492
14
    { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU,
15493
14
      { "E2nodeComponentConfigAdditionAck-List", "e2ap.E2nodeComponentConfigAdditionAck_List",
15494
14
        FT_UINT32, BASE_DEC, NULL, 0,
15495
14
        NULL, HFILL }},
15496
14
    { &hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU,
15497
14
      { "E2nodeComponentConfigAdditionAck-Item", "e2ap.E2nodeComponentConfigAdditionAck_Item_element",
15498
14
        FT_NONE, BASE_NONE, NULL, 0,
15499
14
        NULL, HFILL }},
15500
14
    { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU,
15501
14
      { "E2nodeComponentConfigUpdateAck-List", "e2ap.E2nodeComponentConfigUpdateAck_List",
15502
14
        FT_UINT32, BASE_DEC, NULL, 0,
15503
14
        NULL, HFILL }},
15504
14
    { &hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU,
15505
14
      { "E2nodeComponentConfigUpdateAck-Item", "e2ap.E2nodeComponentConfigUpdateAck_Item_element",
15506
14
        FT_NONE, BASE_NONE, NULL, 0,
15507
14
        NULL, HFILL }},
15508
14
    { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU,
15509
14
      { "E2nodeComponentConfigRemovalAck-List", "e2ap.E2nodeComponentConfigRemovalAck_List",
15510
14
        FT_UINT32, BASE_DEC, NULL, 0,
15511
14
        NULL, HFILL }},
15512
14
    { &hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU,
15513
14
      { "E2nodeComponentConfigRemovalAck-Item", "e2ap.E2nodeComponentConfigRemovalAck_Item_element",
15514
14
        FT_NONE, BASE_NONE, NULL, 0,
15515
14
        NULL, HFILL }},
15516
14
    { &hf_e2ap_E2nodeConfigurationUpdateFailure_PDU,
15517
14
      { "E2nodeConfigurationUpdateFailure", "e2ap.E2nodeConfigurationUpdateFailure_element",
15518
14
        FT_NONE, BASE_NONE, NULL, 0,
15519
14
        NULL, HFILL }},
15520
14
    { &hf_e2ap_ResetRequest_PDU,
15521
14
      { "ResetRequest", "e2ap.ResetRequest_element",
15522
14
        FT_NONE, BASE_NONE, NULL, 0,
15523
14
        NULL, HFILL }},
15524
14
    { &hf_e2ap_ResetResponse_PDU,
15525
14
      { "ResetResponse", "e2ap.ResetResponse_element",
15526
14
        FT_NONE, BASE_NONE, NULL, 0,
15527
14
        NULL, HFILL }},
15528
14
    { &hf_e2ap_RICserviceUpdate_PDU,
15529
14
      { "RICserviceUpdate", "e2ap.RICserviceUpdate_element",
15530
14
        FT_NONE, BASE_NONE, NULL, 0,
15531
14
        NULL, HFILL }},
15532
14
    { &hf_e2ap_RANfunctions_List_PDU,
15533
14
      { "RANfunctions-List", "e2ap.RANfunctions_List",
15534
14
        FT_UINT32, BASE_DEC, NULL, 0,
15535
14
        NULL, HFILL }},
15536
14
    { &hf_e2ap_RANfunction_Item_PDU,
15537
14
      { "RANfunction-Item", "e2ap.RANfunction_Item_element",
15538
14
        FT_NONE, BASE_NONE, NULL, 0,
15539
14
        NULL, HFILL }},
15540
14
    { &hf_e2ap_RANfunctionsID_List_PDU,
15541
14
      { "RANfunctionsID-List", "e2ap.RANfunctionsID_List",
15542
14
        FT_UINT32, BASE_DEC, NULL, 0,
15543
14
        NULL, HFILL }},
15544
14
    { &hf_e2ap_RANfunctionID_Item_PDU,
15545
14
      { "RANfunctionID-Item", "e2ap.RANfunctionID_Item_element",
15546
14
        FT_NONE, BASE_NONE, NULL, 0,
15547
14
        NULL, HFILL }},
15548
14
    { &hf_e2ap_RICserviceUpdateAcknowledge_PDU,
15549
14
      { "RICserviceUpdateAcknowledge", "e2ap.RICserviceUpdateAcknowledge_element",
15550
14
        FT_NONE, BASE_NONE, NULL, 0,
15551
14
        NULL, HFILL }},
15552
14
    { &hf_e2ap_RANfunctionsIDcause_List_PDU,
15553
14
      { "RANfunctionsIDcause-List", "e2ap.RANfunctionsIDcause_List",
15554
14
        FT_UINT32, BASE_DEC, NULL, 0,
15555
14
        NULL, HFILL }},
15556
14
    { &hf_e2ap_RANfunctionIDcause_Item_PDU,
15557
14
      { "RANfunctionIDcause-Item", "e2ap.RANfunctionIDcause_Item_element",
15558
14
        FT_NONE, BASE_NONE, NULL, 0,
15559
14
        NULL, HFILL }},
15560
14
    { &hf_e2ap_RICserviceUpdateFailure_PDU,
15561
14
      { "RICserviceUpdateFailure", "e2ap.RICserviceUpdateFailure_element",
15562
14
        FT_NONE, BASE_NONE, NULL, 0,
15563
14
        NULL, HFILL }},
15564
14
    { &hf_e2ap_RICserviceQuery_PDU,
15565
14
      { "RICserviceQuery", "e2ap.RICserviceQuery_element",
15566
14
        FT_NONE, BASE_NONE, NULL, 0,
15567
14
        NULL, HFILL }},
15568
14
    { &hf_e2ap_E2RemovalRequest_PDU,
15569
14
      { "E2RemovalRequest", "e2ap.E2RemovalRequest_element",
15570
14
        FT_NONE, BASE_NONE, NULL, 0,
15571
14
        NULL, HFILL }},
15572
14
    { &hf_e2ap_E2RemovalResponse_PDU,
15573
14
      { "E2RemovalResponse", "e2ap.E2RemovalResponse_element",
15574
14
        FT_NONE, BASE_NONE, NULL, 0,
15575
14
        NULL, HFILL }},
15576
14
    { &hf_e2ap_E2RemovalFailure_PDU,
15577
14
      { "E2RemovalFailure", "e2ap.E2RemovalFailure_element",
15578
14
        FT_NONE, BASE_NONE, NULL, 0,
15579
14
        NULL, HFILL }},
15580
14
    { &hf_e2ap_E2AP_PDU_PDU,
15581
14
      { "E2AP-PDU", "e2ap.E2AP_PDU",
15582
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2AP_PDU_vals), 0,
15583
14
        NULL, HFILL }},
15584
14
    { &hf_e2ap_E2SM_RC_EventTrigger_PDU,
15585
14
      { "E2SM-RC-EventTrigger", "e2ap.E2SM_RC_EventTrigger_element",
15586
14
        FT_NONE, BASE_NONE, NULL, 0,
15587
14
        NULL, HFILL }},
15588
14
    { &hf_e2ap_E2SM_RC_ActionDefinition_PDU,
15589
14
      { "E2SM-RC-ActionDefinition", "e2ap.E2SM_RC_ActionDefinition_element",
15590
14
        FT_NONE, BASE_NONE, NULL, 0,
15591
14
        NULL, HFILL }},
15592
14
    { &hf_e2ap_E2SM_RC_IndicationHeader_PDU,
15593
14
      { "E2SM-RC-IndicationHeader", "e2ap.E2SM_RC_IndicationHeader_element",
15594
14
        FT_NONE, BASE_NONE, NULL, 0,
15595
14
        NULL, HFILL }},
15596
14
    { &hf_e2ap_E2SM_RC_IndicationMessage_PDU,
15597
14
      { "E2SM-RC-IndicationMessage", "e2ap.E2SM_RC_IndicationMessage_element",
15598
14
        FT_NONE, BASE_NONE, NULL, 0,
15599
14
        NULL, HFILL }},
15600
14
    { &hf_e2ap_E2SM_RC_CallProcessID_PDU,
15601
14
      { "E2SM-RC-CallProcessID", "e2ap.E2SM_RC_CallProcessID_element",
15602
14
        FT_NONE, BASE_NONE, NULL, 0,
15603
14
        NULL, HFILL }},
15604
14
    { &hf_e2ap_E2SM_RC_ControlHeader_PDU,
15605
14
      { "E2SM-RC-ControlHeader", "e2ap.E2SM_RC_ControlHeader_element",
15606
14
        FT_NONE, BASE_NONE, NULL, 0,
15607
14
        NULL, HFILL }},
15608
14
    { &hf_e2ap_E2SM_RC_ControlMessage_PDU,
15609
14
      { "E2SM-RC-ControlMessage", "e2ap.E2SM_RC_ControlMessage_element",
15610
14
        FT_NONE, BASE_NONE, NULL, 0,
15611
14
        NULL, HFILL }},
15612
14
    { &hf_e2ap_E2SM_RC_ControlOutcome_PDU,
15613
14
      { "E2SM-RC-ControlOutcome", "e2ap.E2SM_RC_ControlOutcome_element",
15614
14
        FT_NONE, BASE_NONE, NULL, 0,
15615
14
        NULL, HFILL }},
15616
14
    { &hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU,
15617
14
      { "E2SM-RC-RANFunctionDefinition", "e2ap.E2SM_RC_RANFunctionDefinition_element",
15618
14
        FT_NONE, BASE_NONE, NULL, 0,
15619
14
        NULL, HFILL }},
15620
14
    { &hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU,
15621
14
      { "E2SM-KPM-EventTriggerDefinition", "e2ap.E2SM_KPM_EventTriggerDefinition_element",
15622
14
        FT_NONE, BASE_NONE, NULL, 0,
15623
14
        NULL, HFILL }},
15624
14
    { &hf_e2ap_E2SM_KPM_ActionDefinition_PDU,
15625
14
      { "E2SM-KPM-ActionDefinition", "e2ap.E2SM_KPM_ActionDefinition_element",
15626
14
        FT_NONE, BASE_NONE, NULL, 0,
15627
14
        NULL, HFILL }},
15628
14
    { &hf_e2ap_E2SM_KPM_IndicationHeader_PDU,
15629
14
      { "E2SM-KPM-IndicationHeader", "e2ap.E2SM_KPM_IndicationHeader_element",
15630
14
        FT_NONE, BASE_NONE, NULL, 0,
15631
14
        NULL, HFILL }},
15632
14
    { &hf_e2ap_E2SM_KPM_IndicationMessage_PDU,
15633
14
      { "E2SM-KPM-IndicationMessage", "e2ap.E2SM_KPM_IndicationMessage_element",
15634
14
        FT_NONE, BASE_NONE, NULL, 0,
15635
14
        NULL, HFILL }},
15636
14
    { &hf_e2ap_E2SM_KPM_RANfunction_Description_PDU,
15637
14
      { "E2SM-KPM-RANfunction-Description", "e2ap.E2SM_KPM_RANfunction_Description_element",
15638
14
        FT_NONE, BASE_NONE, NULL, 0,
15639
14
        NULL, HFILL }},
15640
14
    { &hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU,
15641
14
      { "E2SM-NI-EventTriggerDefinition", "e2ap.E2SM_NI_EventTriggerDefinition",
15642
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_EventTriggerDefinition_vals), 0,
15643
14
        NULL, HFILL }},
15644
14
    { &hf_e2ap_E2SM_NI_ActionDefinition_PDU,
15645
14
      { "E2SM-NI-ActionDefinition", "e2ap.E2SM_NI_ActionDefinition_element",
15646
14
        FT_NONE, BASE_NONE, NULL, 0,
15647
14
        NULL, HFILL }},
15648
14
    { &hf_e2ap_E2SM_NI_IndicationHeader_PDU,
15649
14
      { "E2SM-NI-IndicationHeader", "e2ap.E2SM_NI_IndicationHeader",
15650
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_IndicationHeader_vals), 0,
15651
14
        NULL, HFILL }},
15652
14
    { &hf_e2ap_E2SM_NI_IndicationMessage_PDU,
15653
14
      { "E2SM-NI-IndicationMessage", "e2ap.E2SM_NI_IndicationMessage",
15654
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_IndicationMessage_vals), 0,
15655
14
        NULL, HFILL }},
15656
14
    { &hf_e2ap_E2SM_NI_CallProcessID_PDU,
15657
14
      { "E2SM-NI-CallProcessID", "e2ap.E2SM_NI_CallProcessID",
15658
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_CallProcessID_vals), 0,
15659
14
        NULL, HFILL }},
15660
14
    { &hf_e2ap_E2SM_NI_ControlHeader_PDU,
15661
14
      { "E2SM-NI-ControlHeader", "e2ap.E2SM_NI_ControlHeader",
15662
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlHeader_vals), 0,
15663
14
        NULL, HFILL }},
15664
14
    { &hf_e2ap_E2SM_NI_ControlMessage_PDU,
15665
14
      { "E2SM-NI-ControlMessage", "e2ap.E2SM_NI_ControlMessage",
15666
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlMessage_vals), 0,
15667
14
        NULL, HFILL }},
15668
14
    { &hf_e2ap_E2SM_NI_ControlOutcome_PDU,
15669
14
      { "E2SM-NI-ControlOutcome", "e2ap.E2SM_NI_ControlOutcome",
15670
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlOutcome_vals), 0,
15671
14
        NULL, HFILL }},
15672
14
    { &hf_e2ap_E2SM_NI_RANfunction_Description_PDU,
15673
14
      { "E2SM-NI-RANfunction-Description", "e2ap.E2SM_NI_RANfunction_Description_element",
15674
14
        FT_NONE, BASE_NONE, NULL, 0,
15675
14
        NULL, HFILL }},
15676
14
    { &hf_e2ap_ProtocolIE_Container_item,
15677
14
      { "ProtocolIE-Field", "e2ap.ProtocolIE_Field_element",
15678
14
        FT_NONE, BASE_NONE, NULL, 0,
15679
14
        NULL, HFILL }},
15680
14
    { &hf_e2ap_id,
15681
14
      { "id", "e2ap.id",
15682
14
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
15683
14
        "ProtocolIE_ID", HFILL }},
15684
14
    { &hf_e2ap_criticality,
15685
14
      { "criticality", "e2ap.criticality",
15686
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15687
14
        NULL, HFILL }},
15688
14
    { &hf_e2ap_value,
15689
14
      { "value", "e2ap.value_element",
15690
14
        FT_NONE, BASE_NONE, NULL, 0,
15691
14
        NULL, HFILL }},
15692
14
    { &hf_e2ap_ricRequest,
15693
14
      { "ricRequest", "e2ap.ricRequest",
15694
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseRICrequest_vals), 0,
15695
14
        "CauseRICrequest", HFILL }},
15696
14
    { &hf_e2ap_ricService,
15697
14
      { "ricService", "e2ap.ricService",
15698
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseRICservice_vals), 0,
15699
14
        "CauseRICservice", HFILL }},
15700
14
    { &hf_e2ap_e2Node,
15701
14
      { "e2Node", "e2ap.e2Node",
15702
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseE2node_vals), 0,
15703
14
        "CauseE2node", HFILL }},
15704
14
    { &hf_e2ap_transport,
15705
14
      { "transport", "e2ap.transport",
15706
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseTransport_vals), 0,
15707
14
        "CauseTransport", HFILL }},
15708
14
    { &hf_e2ap_protocol,
15709
14
      { "protocol", "e2ap.protocol",
15710
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseProtocol_vals), 0,
15711
14
        "CauseProtocol", HFILL }},
15712
14
    { &hf_e2ap_misc,
15713
14
      { "misc", "e2ap.misc",
15714
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CauseMisc_vals), 0,
15715
14
        "CauseMisc", HFILL }},
15716
14
    { &hf_e2ap_procedureCode,
15717
14
      { "procedureCode", "e2ap.procedureCode",
15718
14
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProcedureCode_vals_ext, 0,
15719
14
        NULL, HFILL }},
15720
14
    { &hf_e2ap_triggeringMessage,
15721
14
      { "triggeringMessage", "e2ap.triggeringMessage",
15722
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TriggeringMessage_vals), 0,
15723
14
        NULL, HFILL }},
15724
14
    { &hf_e2ap_procedureCriticality,
15725
14
      { "procedureCriticality", "e2ap.procedureCriticality",
15726
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15727
14
        "Criticality", HFILL }},
15728
14
    { &hf_e2ap_ricRequestorID,
15729
14
      { "ricRequestorID", "e2ap.ricRequestorID_element",
15730
14
        FT_NONE, BASE_NONE, NULL, 0,
15731
14
        "RICrequestID", HFILL }},
15732
14
    { &hf_e2ap_iEsCriticalityDiagnostics,
15733
14
      { "iEsCriticalityDiagnostics", "e2ap.iEsCriticalityDiagnostics",
15734
14
        FT_UINT32, BASE_DEC, NULL, 0,
15735
14
        "CriticalityDiagnostics_IE_List", HFILL }},
15736
14
    { &hf_e2ap_CriticalityDiagnostics_IE_List_item,
15737
14
      { "CriticalityDiagnostics-IE-Item", "e2ap.CriticalityDiagnostics_IE_Item_element",
15738
14
        FT_NONE, BASE_NONE, NULL, 0,
15739
14
        NULL, HFILL }},
15740
14
    { &hf_e2ap_iECriticality,
15741
14
      { "iECriticality", "e2ap.iECriticality",
15742
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15743
14
        "Criticality", HFILL }},
15744
14
    { &hf_e2ap_iE_ID,
15745
14
      { "iE-ID", "e2ap.iE_ID",
15746
14
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
15747
14
        "ProtocolIE_ID", HFILL }},
15748
14
    { &hf_e2ap_typeOfError,
15749
14
      { "typeOfError", "e2ap.typeOfError",
15750
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TypeOfError_vals), 0,
15751
14
        NULL, HFILL }},
15752
14
    { &hf_e2ap_e2nodeComponentRequestPart,
15753
14
      { "e2nodeComponentRequestPart", "e2ap.e2nodeComponentRequestPart",
15754
14
        FT_BYTES, BASE_NONE, NULL, 0,
15755
14
        NULL, HFILL }},
15756
14
    { &hf_e2ap_e2nodeComponentResponsePart,
15757
14
      { "e2nodeComponentResponsePart", "e2ap.e2nodeComponentResponsePart",
15758
14
        FT_BYTES, BASE_NONE, NULL, 0,
15759
14
        NULL, HFILL }},
15760
14
    { &hf_e2ap_updateOutcome,
15761
14
      { "updateOutcome", "e2ap.updateOutcome",
15762
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_updateOutcome_vals), 0,
15763
14
        NULL, HFILL }},
15764
14
    { &hf_e2ap_failureCause,
15765
14
      { "failureCause", "e2ap.failureCause",
15766
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
15767
14
        "Cause", HFILL }},
15768
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeNG,
15769
14
      { "e2nodeComponentInterfaceTypeNG", "e2ap.e2nodeComponentInterfaceTypeNG_element",
15770
14
        FT_NONE, BASE_NONE, NULL, 0,
15771
14
        NULL, HFILL }},
15772
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeXn,
15773
14
      { "e2nodeComponentInterfaceTypeXn", "e2ap.e2nodeComponentInterfaceTypeXn_element",
15774
14
        FT_NONE, BASE_NONE, NULL, 0,
15775
14
        NULL, HFILL }},
15776
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeE1,
15777
14
      { "e2nodeComponentInterfaceTypeE1", "e2ap.e2nodeComponentInterfaceTypeE1_element",
15778
14
        FT_NONE, BASE_NONE, NULL, 0,
15779
14
        NULL, HFILL }},
15780
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeF1,
15781
14
      { "e2nodeComponentInterfaceTypeF1", "e2ap.e2nodeComponentInterfaceTypeF1_element",
15782
14
        FT_NONE, BASE_NONE, NULL, 0,
15783
14
        NULL, HFILL }},
15784
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeW1,
15785
14
      { "e2nodeComponentInterfaceTypeW1", "e2ap.e2nodeComponentInterfaceTypeW1_element",
15786
14
        FT_NONE, BASE_NONE, NULL, 0,
15787
14
        "E2nodeComponentInterfaceW1", HFILL }},
15788
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeS1,
15789
14
      { "e2nodeComponentInterfaceTypeS1", "e2ap.e2nodeComponentInterfaceTypeS1_element",
15790
14
        FT_NONE, BASE_NONE, NULL, 0,
15791
14
        NULL, HFILL }},
15792
14
    { &hf_e2ap_e2nodeComponentInterfaceTypeX2,
15793
14
      { "e2nodeComponentInterfaceTypeX2", "e2ap.e2nodeComponentInterfaceTypeX2_element",
15794
14
        FT_NONE, BASE_NONE, NULL, 0,
15795
14
        NULL, HFILL }},
15796
14
    { &hf_e2ap_gNB_CU_UP_ID,
15797
14
      { "gNB-CU-UP-ID", "e2ap.gNB_CU_UP_ID",
15798
14
        FT_UINT64, BASE_DEC, NULL, 0,
15799
14
        NULL, HFILL }},
15800
14
    { &hf_e2ap_gNB_DU_ID,
15801
14
      { "gNB-DU-ID", "e2ap.gNB_DU_ID",
15802
14
        FT_UINT64, BASE_DEC, NULL, 0,
15803
14
        NULL, HFILL }},
15804
14
    { &hf_e2ap_amf_name,
15805
14
      { "amf-name", "e2ap.amf_name",
15806
14
        FT_STRING, BASE_NONE, NULL, 0,
15807
14
        "AMFName", HFILL }},
15808
14
    { &hf_e2ap_mme_name,
15809
14
      { "mme-name", "e2ap.mme_name",
15810
14
        FT_STRING, BASE_NONE, NULL, 0,
15811
14
        "MMEname", HFILL }},
15812
14
    { &hf_e2ap_global_eNB_ID,
15813
14
      { "global-eNB-ID", "e2ap.global_eNB_ID_element",
15814
14
        FT_NONE, BASE_NONE, NULL, 0,
15815
14
        "GlobalENB_ID", HFILL }},
15816
14
    { &hf_e2ap_global_en_gNB_ID,
15817
14
      { "global-en-gNB-ID", "e2ap.global_en_gNB_ID_element",
15818
14
        FT_NONE, BASE_NONE, NULL, 0,
15819
14
        "GlobalenGNB_ID", HFILL }},
15820
14
    { &hf_e2ap_global_NG_RAN_Node_ID,
15821
14
      { "global-NG-RAN-Node-ID", "e2ap.global_NG_RAN_Node_ID",
15822
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNG_RANNode_ID_vals), 0,
15823
14
        "GlobalNG_RANNode_ID", HFILL }},
15824
14
    { &hf_e2ap_ng_eNB_DU_ID,
15825
14
      { "ng-eNB-DU-ID", "e2ap.ng_eNB_DU_ID",
15826
14
        FT_UINT64, BASE_DEC, NULL, 0,
15827
14
        "NGENB_DU_ID", HFILL }},
15828
14
    { &hf_e2ap_macro_eNB_ID,
15829
14
      { "macro-eNB-ID", "e2ap.macro_eNB_ID",
15830
14
        FT_BYTES, BASE_NONE, NULL, 0,
15831
14
        "BIT_STRING_SIZE_20", HFILL }},
15832
14
    { &hf_e2ap_home_eNB_ID,
15833
14
      { "home-eNB-ID", "e2ap.home_eNB_ID",
15834
14
        FT_BYTES, BASE_NONE, NULL, 0,
15835
14
        "BIT_STRING_SIZE_28", HFILL }},
15836
14
    { &hf_e2ap_short_Macro_eNB_ID,
15837
14
      { "short-Macro-eNB-ID", "e2ap.short_Macro_eNB_ID",
15838
14
        FT_BYTES, BASE_NONE, NULL, 0,
15839
14
        "BIT_STRING_SIZE_18", HFILL }},
15840
14
    { &hf_e2ap_long_Macro_eNB_ID,
15841
14
      { "long-Macro-eNB-ID", "e2ap.long_Macro_eNB_ID",
15842
14
        FT_BYTES, BASE_NONE, NULL, 0,
15843
14
        "BIT_STRING_SIZE_21", HFILL }},
15844
14
    { &hf_e2ap_enb_ID_macro,
15845
14
      { "enb-ID-macro", "e2ap.enb_ID_macro",
15846
14
        FT_BYTES, BASE_NONE, NULL, 0,
15847
14
        "BIT_STRING_SIZE_20", HFILL }},
15848
14
    { &hf_e2ap_enb_ID_shortmacro,
15849
14
      { "enb-ID-shortmacro", "e2ap.enb_ID_shortmacro",
15850
14
        FT_BYTES, BASE_NONE, NULL, 0,
15851
14
        "BIT_STRING_SIZE_18", HFILL }},
15852
14
    { &hf_e2ap_enb_ID_longmacro,
15853
14
      { "enb-ID-longmacro", "e2ap.enb_ID_longmacro",
15854
14
        FT_BYTES, BASE_NONE, NULL, 0,
15855
14
        "BIT_STRING_SIZE_21", HFILL }},
15856
14
    { &hf_e2ap_gnb_id_bit_string,
15857
14
      { "gNB-ID", "e2ap.gnb_id_bit_string",
15858
14
        FT_BYTES, BASE_NONE, NULL, 0,
15859
14
        "BIT_STRING_SIZE_22_32", HFILL }},
15860
14
    { &hf_e2ap_gNB,
15861
14
      { "gNB", "e2ap.gNB_element",
15862
14
        FT_NONE, BASE_NONE, NULL, 0,
15863
14
        "GlobalE2node_gNB_ID", HFILL }},
15864
14
    { &hf_e2ap_en_gNB,
15865
14
      { "en-gNB", "e2ap.en_gNB_element",
15866
14
        FT_NONE, BASE_NONE, NULL, 0,
15867
14
        "GlobalE2node_en_gNB_ID", HFILL }},
15868
14
    { &hf_e2ap_ng_eNB,
15869
14
      { "ng-eNB", "e2ap.ng_eNB_element",
15870
14
        FT_NONE, BASE_NONE, NULL, 0,
15871
14
        "GlobalE2node_ng_eNB_ID", HFILL }},
15872
14
    { &hf_e2ap_eNB,
15873
14
      { "eNB", "e2ap.eNB_element",
15874
14
        FT_NONE, BASE_NONE, NULL, 0,
15875
14
        "GlobalE2node_eNB_ID", HFILL }},
15876
14
    { &hf_e2ap_en_gNB_CU_UP_ID,
15877
14
      { "en-gNB-CU-UP-ID", "e2ap.en_gNB_CU_UP_ID",
15878
14
        FT_UINT64, BASE_DEC, NULL, 0,
15879
14
        "GNB_CU_UP_ID", HFILL }},
15880
14
    { &hf_e2ap_en_gNB_DU_ID,
15881
14
      { "en-gNB-DU-ID", "e2ap.en_gNB_DU_ID",
15882
14
        FT_UINT64, BASE_DEC, NULL, 0,
15883
14
        "GNB_DU_ID", HFILL }},
15884
14
    { &hf_e2ap_global_gNB_ID,
15885
14
      { "global-gNB-ID", "e2ap.global_gNB_ID_element",
15886
14
        FT_NONE, BASE_NONE, NULL, 0,
15887
14
        "GlobalgNB_ID", HFILL }},
15888
14
    { &hf_e2ap_global_ng_eNB_ID,
15889
14
      { "global-ng-eNB-ID", "e2ap.global_ng_eNB_ID_element",
15890
14
        FT_NONE, BASE_NONE, NULL, 0,
15891
14
        "GlobalngeNB_ID", HFILL }},
15892
14
    { &hf_e2ap_ngENB_DU_ID,
15893
14
      { "ngENB-DU-ID", "e2ap.ngENB_DU_ID",
15894
14
        FT_UINT64, BASE_DEC, NULL, 0,
15895
14
        NULL, HFILL }},
15896
14
    { &hf_e2ap_pLMN_Identity,
15897
14
      { "pLMN-Identity", "e2ap.pLMN_Identity",
15898
14
        FT_BYTES, BASE_NONE, NULL, 0,
15899
14
        NULL, HFILL }},
15900
14
    { &hf_e2ap_eNB_ID,
15901
14
      { "eNB-ID", "e2ap.eNB_ID",
15902
14
        FT_UINT32, BASE_DEC, VALS(e2ap_ENB_ID_vals), 0,
15903
14
        NULL, HFILL }},
15904
14
    { &hf_e2ap_eNGNB_ID_choice,
15905
14
      { "gNB-ID", "e2ap.eNGNB_ID_choice",
15906
14
        FT_UINT32, BASE_DEC, VALS(e2ap_ENGNB_ID_vals), 0,
15907
14
        "ENGNB_ID", HFILL }},
15908
14
    { &hf_e2ap_plmn_id,
15909
14
      { "plmn-id", "e2ap.plmn_id",
15910
14
        FT_BYTES, BASE_NONE, NULL, 0,
15911
14
        "PLMN_Identity", HFILL }},
15912
14
    { &hf_e2ap_gnb_id,
15913
14
      { "gnb-id", "e2ap.gnb_id",
15914
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GNB_ID_Choice_vals), 0,
15915
14
        NULL, HFILL }},
15916
14
    { &hf_e2ap_enb_id,
15917
14
      { "enb-id", "e2ap.enb_id",
15918
14
        FT_UINT32, BASE_DEC, VALS(e2ap_ENB_ID_Choice_vals), 0,
15919
14
        "ENB_ID_Choice", HFILL }},
15920
14
    { &hf_e2ap_gNB_01,
15921
14
      { "gNB", "e2ap.gNB_element",
15922
14
        FT_NONE, BASE_NONE, NULL, 0,
15923
14
        "GlobalgNB_ID", HFILL }},
15924
14
    { &hf_e2ap_ng_eNB_01,
15925
14
      { "ng-eNB", "e2ap.ng_eNB_element",
15926
14
        FT_NONE, BASE_NONE, NULL, 0,
15927
14
        "GlobalngeNB_ID", HFILL }},
15928
14
    { &hf_e2ap_ric_ID,
15929
14
      { "ric-ID", "e2ap.ric_ID",
15930
14
        FT_BYTES, BASE_NONE, NULL, 0,
15931
14
        "BIT_STRING_SIZE_20", HFILL }},
15932
14
    { &hf_e2ap_gnb_ID,
15933
14
      { "gnb-ID", "e2ap.gnb_ID",
15934
14
        FT_BYTES, BASE_NONE, NULL, 0,
15935
14
        "BIT_STRING_SIZE_22_32", HFILL }},
15936
14
    { &hf_e2ap_ricRequestorID_01,
15937
14
      { "ricRequestorID", "e2ap.ricRequestorID",
15938
14
        FT_UINT32, BASE_DEC, NULL, 0,
15939
14
        "INTEGER_0_65535", HFILL }},
15940
14
    { &hf_e2ap_ricInstanceID,
15941
14
      { "ricInstanceID", "e2ap.ricInstanceID",
15942
14
        FT_UINT32, BASE_DEC, NULL, 0,
15943
14
        "INTEGER_0_65535", HFILL }},
15944
14
    { &hf_e2ap_ricSubsequentActionType,
15945
14
      { "ricSubsequentActionType", "e2ap.ricSubsequentActionType",
15946
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RICsubsequentActionType_vals), 0,
15947
14
        NULL, HFILL }},
15948
14
    { &hf_e2ap_ricTimeToWait,
15949
14
      { "ricTimeToWait", "e2ap.ricTimeToWait",
15950
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RICtimeToWait_vals), 0,
15951
14
        NULL, HFILL }},
15952
14
    { &hf_e2ap_tnlAddress,
15953
14
      { "tnlAddress", "e2ap.tnlAddress",
15954
14
        FT_BYTES, BASE_NONE, NULL, 0,
15955
14
        NULL, HFILL }},
15956
14
    { &hf_e2ap_tnlPort,
15957
14
      { "tnlPort", "e2ap.tnlPort",
15958
14
        FT_BYTES, BASE_NONE, NULL, 0,
15959
14
        NULL, HFILL }},
15960
14
    { &hf_e2ap_protocolIEs,
15961
14
      { "protocolIEs", "e2ap.protocolIEs",
15962
14
        FT_UINT32, BASE_DEC, NULL, 0,
15963
14
        "ProtocolIE_Container", HFILL }},
15964
14
    { &hf_e2ap_ricEventTriggerDefinition,
15965
14
      { "ricEventTriggerDefinition", "e2ap.ricEventTriggerDefinition",
15966
14
        FT_BYTES, BASE_NONE, NULL, 0,
15967
14
        NULL, HFILL }},
15968
14
    { &hf_e2ap_ricAction_ToBeSetup_List,
15969
14
      { "ricAction-ToBeSetup-List", "e2ap.ricAction_ToBeSetup_List",
15970
14
        FT_UINT32, BASE_DEC, NULL, 0,
15971
14
        "RICactions_ToBeSetup_List", HFILL }},
15972
14
    { &hf_e2ap_RICactions_ToBeSetup_List_item,
15973
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15974
14
        FT_NONE, BASE_NONE, NULL, 0,
15975
14
        NULL, HFILL }},
15976
14
    { &hf_e2ap_ricActionID,
15977
14
      { "ricActionID", "e2ap.ricActionID",
15978
14
        FT_UINT32, BASE_DEC, NULL, 0,
15979
14
        NULL, HFILL }},
15980
14
    { &hf_e2ap_ricActionType,
15981
14
      { "ricActionType", "e2ap.ricActionType",
15982
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RICactionType_vals), 0,
15983
14
        NULL, HFILL }},
15984
14
    { &hf_e2ap_ricActionDefinition,
15985
14
      { "ricActionDefinition", "e2ap.ricActionDefinition",
15986
14
        FT_BYTES, BASE_NONE, NULL, 0,
15987
14
        NULL, HFILL }},
15988
14
    { &hf_e2ap_ricSubsequentAction,
15989
14
      { "ricSubsequentAction", "e2ap.ricSubsequentAction_element",
15990
14
        FT_NONE, BASE_NONE, NULL, 0,
15991
14
        NULL, HFILL }},
15992
14
    { &hf_e2ap_ricActionExecutionOrder,
15993
14
      { "ricActionExecutionOrder", "e2ap.ricActionExecutionOrder",
15994
14
        FT_UINT32, BASE_DEC, NULL, 0,
15995
14
        NULL, HFILL }},
15996
14
    { &hf_e2ap_RICaction_Admitted_List_item,
15997
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15998
14
        FT_NONE, BASE_NONE, NULL, 0,
15999
14
        NULL, HFILL }},
16000
14
    { &hf_e2ap_RICaction_NotAdmitted_List_item,
16001
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16002
14
        FT_NONE, BASE_NONE, NULL, 0,
16003
14
        NULL, HFILL }},
16004
14
    { &hf_e2ap_cause,
16005
14
      { "cause", "e2ap.cause",
16006
14
        FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
16007
14
        NULL, HFILL }},
16008
14
    { &hf_e2ap_RICsubscription_List_withCause_item,
16009
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16010
14
        FT_NONE, BASE_NONE, NULL, 0,
16011
14
        NULL, HFILL }},
16012
14
    { &hf_e2ap_ricRequestID,
16013
14
      { "ricRequestID", "e2ap.ricRequestID_element",
16014
14
        FT_NONE, BASE_NONE, NULL, 0,
16015
14
        NULL, HFILL }},
16016
14
    { &hf_e2ap_ranFunctionID,
16017
14
      { "ranFunctionID", "e2ap.ranFunctionID",
16018
14
        FT_UINT32, BASE_DEC, NULL, 0,
16019
14
        NULL, HFILL }},
16020
14
    { &hf_e2ap_RICactions_ToBeRemovedForModification_List_item,
16021
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16022
14
        FT_NONE, BASE_NONE, NULL, 0,
16023
14
        NULL, HFILL }},
16024
14
    { &hf_e2ap_RICactions_ToBeModifiedForModification_List_item,
16025
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16026
14
        FT_NONE, BASE_NONE, NULL, 0,
16027
14
        NULL, HFILL }},
16028
14
    { &hf_e2ap_RICactions_ToBeAddedForModification_List_item,
16029
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16030
14
        FT_NONE, BASE_NONE, NULL, 0,
16031
14
        NULL, HFILL }},
16032
14
    { &hf_e2ap_RICactions_RemovedForModification_List_item,
16033
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16034
14
        FT_NONE, BASE_NONE, NULL, 0,
16035
14
        NULL, HFILL }},
16036
14
    { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item,
16037
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16038
14
        FT_NONE, BASE_NONE, NULL, 0,
16039
14
        NULL, HFILL }},
16040
14
    { &hf_e2ap_RICactions_ModifiedForModification_List_item,
16041
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16042
14
        FT_NONE, BASE_NONE, NULL, 0,
16043
14
        NULL, HFILL }},
16044
14
    { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item,
16045
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16046
14
        FT_NONE, BASE_NONE, NULL, 0,
16047
14
        NULL, HFILL }},
16048
14
    { &hf_e2ap_RICactions_AddedForModification_List_item,
16049
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16050
14
        FT_NONE, BASE_NONE, NULL, 0,
16051
14
        NULL, HFILL }},
16052
14
    { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_item,
16053
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16054
14
        FT_NONE, BASE_NONE, NULL, 0,
16055
14
        NULL, HFILL }},
16056
14
    { &hf_e2ap_RICactions_RequiredToBeModified_List_item,
16057
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16058
14
        FT_NONE, BASE_NONE, NULL, 0,
16059
14
        NULL, HFILL }},
16060
14
    { &hf_e2ap_RICactions_RequiredToBeRemoved_List_item,
16061
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16062
14
        FT_NONE, BASE_NONE, NULL, 0,
16063
14
        NULL, HFILL }},
16064
14
    { &hf_e2ap_RICactions_ConfirmedForModification_List_item,
16065
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16066
14
        FT_NONE, BASE_NONE, NULL, 0,
16067
14
        NULL, HFILL }},
16068
14
    { &hf_e2ap_RICactions_RefusedToBeModified_List_item,
16069
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16070
14
        FT_NONE, BASE_NONE, NULL, 0,
16071
14
        NULL, HFILL }},
16072
14
    { &hf_e2ap_RICactions_ConfirmedForRemoval_List_item,
16073
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16074
14
        FT_NONE, BASE_NONE, NULL, 0,
16075
14
        NULL, HFILL }},
16076
14
    { &hf_e2ap_RICactions_RefusedToBeRemoved_List_item,
16077
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16078
14
        FT_NONE, BASE_NONE, NULL, 0,
16079
14
        NULL, HFILL }},
16080
14
    { &hf_e2ap_E2connectionUpdate_List_item,
16081
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16082
14
        FT_NONE, BASE_NONE, NULL, 0,
16083
14
        NULL, HFILL }},
16084
14
    { &hf_e2ap_tnlInformation,
16085
14
      { "tnlInformation", "e2ap.tnlInformation_element",
16086
14
        FT_NONE, BASE_NONE, NULL, 0,
16087
14
        NULL, HFILL }},
16088
14
    { &hf_e2ap_tnlUsage,
16089
14
      { "tnlUsage", "e2ap.tnlUsage",
16090
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TNLusage_vals), 0,
16091
14
        NULL, HFILL }},
16092
14
    { &hf_e2ap_E2connectionUpdateRemove_List_item,
16093
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16094
14
        FT_NONE, BASE_NONE, NULL, 0,
16095
14
        NULL, HFILL }},
16096
14
    { &hf_e2ap_E2connectionSetupFailed_List_item,
16097
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16098
14
        FT_NONE, BASE_NONE, NULL, 0,
16099
14
        NULL, HFILL }},
16100
14
    { &hf_e2ap_E2nodeComponentConfigAddition_List_item,
16101
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16102
14
        FT_NONE, BASE_NONE, NULL, 0,
16103
14
        NULL, HFILL }},
16104
14
    { &hf_e2ap_e2nodeComponentInterfaceType,
16105
14
      { "e2nodeComponentInterfaceType", "e2ap.e2nodeComponentInterfaceType",
16106
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2nodeComponentInterfaceType_vals), 0,
16107
14
        NULL, HFILL }},
16108
14
    { &hf_e2ap_e2nodeComponentID,
16109
14
      { "e2nodeComponentID", "e2ap.e2nodeComponentID",
16110
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2nodeComponentID_vals), 0,
16111
14
        NULL, HFILL }},
16112
14
    { &hf_e2ap_e2nodeComponentConfiguration,
16113
14
      { "e2nodeComponentConfiguration", "e2ap.e2nodeComponentConfiguration_element",
16114
14
        FT_NONE, BASE_NONE, NULL, 0,
16115
14
        NULL, HFILL }},
16116
14
    { &hf_e2ap_E2nodeComponentConfigUpdate_List_item,
16117
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16118
14
        FT_NONE, BASE_NONE, NULL, 0,
16119
14
        NULL, HFILL }},
16120
14
    { &hf_e2ap_E2nodeComponentConfigRemoval_List_item,
16121
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16122
14
        FT_NONE, BASE_NONE, NULL, 0,
16123
14
        NULL, HFILL }},
16124
14
    { &hf_e2ap_E2nodeTNLassociationRemoval_List_item,
16125
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16126
14
        FT_NONE, BASE_NONE, NULL, 0,
16127
14
        NULL, HFILL }},
16128
14
    { &hf_e2ap_tnlInformationRIC,
16129
14
      { "tnlInformationRIC", "e2ap.tnlInformationRIC_element",
16130
14
        FT_NONE, BASE_NONE, NULL, 0,
16131
14
        "TNLinformation", HFILL }},
16132
14
    { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_item,
16133
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16134
14
        FT_NONE, BASE_NONE, NULL, 0,
16135
14
        NULL, HFILL }},
16136
14
    { &hf_e2ap_e2nodeComponentConfigurationAck,
16137
14
      { "e2nodeComponentConfigurationAck", "e2ap.e2nodeComponentConfigurationAck_element",
16138
14
        FT_NONE, BASE_NONE, NULL, 0,
16139
14
        NULL, HFILL }},
16140
14
    { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_item,
16141
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16142
14
        FT_NONE, BASE_NONE, NULL, 0,
16143
14
        NULL, HFILL }},
16144
14
    { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_item,
16145
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16146
14
        FT_NONE, BASE_NONE, NULL, 0,
16147
14
        NULL, HFILL }},
16148
14
    { &hf_e2ap_RANfunctions_List_item,
16149
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16150
14
        FT_NONE, BASE_NONE, NULL, 0,
16151
14
        NULL, HFILL }},
16152
14
    { &hf_e2ap_ranFunctionDefinition,
16153
14
      { "ranFunctionDefinition", "e2ap.ranFunctionDefinition",
16154
14
        FT_BYTES, BASE_NONE, NULL, 0,
16155
14
        NULL, HFILL }},
16156
14
    { &hf_e2ap_ranFunctionRevision,
16157
14
      { "ranFunctionRevision", "e2ap.ranFunctionRevision",
16158
14
        FT_UINT32, BASE_DEC, NULL, 0,
16159
14
        NULL, HFILL }},
16160
14
    { &hf_e2ap_ranFunctionOID,
16161
14
      { "ranFunctionOID", "e2ap.ranFunctionOID",
16162
14
        FT_STRING, BASE_NONE, NULL, 0,
16163
14
        NULL, HFILL }},
16164
14
    { &hf_e2ap_RANfunctionsID_List_item,
16165
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16166
14
        FT_NONE, BASE_NONE, NULL, 0,
16167
14
        NULL, HFILL }},
16168
14
    { &hf_e2ap_RANfunctionsIDcause_List_item,
16169
14
      { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16170
14
        FT_NONE, BASE_NONE, NULL, 0,
16171
14
        NULL, HFILL }},
16172
14
    { &hf_e2ap_initiatingMessage,
16173
14
      { "initiatingMessage", "e2ap.initiatingMessage_element",
16174
14
        FT_NONE, BASE_NONE, NULL, 0,
16175
14
        NULL, HFILL }},
16176
14
    { &hf_e2ap_successfulOutcome,
16177
14
      { "successfulOutcome", "e2ap.successfulOutcome_element",
16178
14
        FT_NONE, BASE_NONE, NULL, 0,
16179
14
        NULL, HFILL }},
16180
14
    { &hf_e2ap_unsuccessfulOutcome,
16181
14
      { "unsuccessfulOutcome", "e2ap.unsuccessfulOutcome_element",
16182
14
        FT_NONE, BASE_NONE, NULL, 0,
16183
14
        NULL, HFILL }},
16184
14
    { &hf_e2ap_initiatingMessagevalue,
16185
14
      { "value", "e2ap.initiatingMessagevalue_element",
16186
14
        FT_NONE, BASE_NONE, NULL, 0,
16187
14
        "InitiatingMessage_value", HFILL }},
16188
14
    { &hf_e2ap_successfulOutcome_value,
16189
14
      { "value", "e2ap.successfulOutcome_value_element",
16190
14
        FT_NONE, BASE_NONE, NULL, 0,
16191
14
        "SuccessfulOutcome_value", HFILL }},
16192
14
    { &hf_e2ap_unsuccessfulOutcome_value,
16193
14
      { "value", "e2ap.unsuccessfulOutcome_value_element",
16194
14
        FT_NONE, BASE_NONE, NULL, 0,
16195
14
        "UnsuccessfulOutcome_value", HFILL }},
16196
14
    { &hf_e2ap_nR_CGI,
16197
14
      { "nR-CGI", "e2ap.nR_CGI_element",
16198
14
        FT_NONE, BASE_NONE, NULL, 0,
16199
14
        NULL, HFILL }},
16200
14
    { &hf_e2ap_eUTRA_CGI,
16201
14
      { "eUTRA-CGI", "e2ap.eUTRA_CGI_element",
16202
14
        FT_NONE, BASE_NONE, NULL, 0,
16203
14
        NULL, HFILL }},
16204
14
    { &hf_e2ap_nG,
16205
14
      { "nG", "e2ap.nG_element",
16206
14
        FT_NONE, BASE_NONE, NULL, 0,
16207
14
        "InterfaceID_NG", HFILL }},
16208
14
    { &hf_e2ap_xN,
16209
14
      { "xN", "e2ap.xN_element",
16210
14
        FT_NONE, BASE_NONE, NULL, 0,
16211
14
        "InterfaceID_Xn", HFILL }},
16212
14
    { &hf_e2ap_f1,
16213
14
      { "f1", "e2ap.f1_element",
16214
14
        FT_NONE, BASE_NONE, NULL, 0,
16215
14
        "InterfaceID_F1", HFILL }},
16216
14
    { &hf_e2ap_e1,
16217
14
      { "e1", "e2ap.e1_element",
16218
14
        FT_NONE, BASE_NONE, NULL, 0,
16219
14
        "InterfaceID_E1", HFILL }},
16220
14
    { &hf_e2ap_s1,
16221
14
      { "s1", "e2ap.s1_element",
16222
14
        FT_NONE, BASE_NONE, NULL, 0,
16223
14
        "InterfaceID_S1", HFILL }},
16224
14
    { &hf_e2ap_x2,
16225
14
      { "x2", "e2ap.x2_element",
16226
14
        FT_NONE, BASE_NONE, NULL, 0,
16227
14
        "InterfaceID_X2", HFILL }},
16228
14
    { &hf_e2ap_w1,
16229
14
      { "w1", "e2ap.w1_element",
16230
14
        FT_NONE, BASE_NONE, NULL, 0,
16231
14
        "InterfaceID_W1", HFILL }},
16232
14
    { &hf_e2ap_guami,
16233
14
      { "guami", "e2ap.guami_element",
16234
14
        FT_NONE, BASE_NONE, NULL, 0,
16235
14
        NULL, HFILL }},
16236
14
    { &hf_e2ap_global_NG_RAN_ID,
16237
14
      { "global-NG-RAN-ID", "e2ap.global_NG_RAN_ID",
16238
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNGRANNodeID_vals), 0,
16239
14
        "GlobalNGRANNodeID", HFILL }},
16240
14
    { &hf_e2ap_globalGNB_ID,
16241
14
      { "globalGNB-ID", "e2ap.globalGNB_ID_element",
16242
14
        FT_NONE, BASE_NONE, NULL, 0,
16243
14
        NULL, HFILL }},
16244
14
    { &hf_e2ap_gUMMEI,
16245
14
      { "gUMMEI", "e2ap.gUMMEI_element",
16246
14
        FT_NONE, BASE_NONE, NULL, 0,
16247
14
        NULL, HFILL }},
16248
14
    { &hf_e2ap_nodeType,
16249
14
      { "nodeType", "e2ap.nodeType",
16250
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_nodeType_vals), 0,
16251
14
        NULL, HFILL }},
16252
14
    { &hf_e2ap_global_ng_eNB_ID_01,
16253
14
      { "global-ng-eNB-ID", "e2ap.global_ng_eNB_ID_element",
16254
14
        FT_NONE, BASE_NONE, NULL, 0,
16255
14
        "GlobalNgENB_ID", HFILL }},
16256
14
    { &hf_e2ap_interfaceProcedureID,
16257
14
      { "interfaceProcedureID", "e2ap.interfaceProcedureID",
16258
14
        FT_INT32, BASE_DEC, NULL, 0,
16259
14
        "INTEGER", HFILL }},
16260
14
    { &hf_e2ap_messageType,
16261
14
      { "messageType", "e2ap.messageType",
16262
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_messageType_vals), 0,
16263
14
        NULL, HFILL }},
16264
14
    { &hf_e2ap_ranFunction_ShortName,
16265
14
      { "ranFunction-ShortName", "e2ap.ranFunction_ShortName",
16266
14
        FT_STRING, BASE_NONE, NULL, 0,
16267
14
        NULL, HFILL }},
16268
14
    { &hf_e2ap_ranFunction_E2SM_OID,
16269
14
      { "ranFunction-E2SM-OID", "e2ap.ranFunction_E2SM_OID",
16270
14
        FT_STRING, BASE_NONE, NULL, 0,
16271
14
        "PrintableString_SIZE_1_1000_", HFILL }},
16272
14
    { &hf_e2ap_ranFunction_Description,
16273
14
      { "ranFunction-Description", "e2ap.ranFunction_Description",
16274
14
        FT_STRING, BASE_NONE, NULL, 0,
16275
14
        "PrintableString_SIZE_1_150_", HFILL }},
16276
14
    { &hf_e2ap_ranFunction_Instance,
16277
14
      { "ranFunction-Instance", "e2ap.ranFunction_Instance",
16278
14
        FT_INT32, BASE_DEC, NULL, 0,
16279
14
        "INTEGER", HFILL }},
16280
14
    { &hf_e2ap_rrcType,
16281
14
      { "rrcType", "e2ap.rrcType",
16282
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_rrcType_vals), 0,
16283
14
        NULL, HFILL }},
16284
14
    { &hf_e2ap_lTE,
16285
14
      { "lTE", "e2ap.lTE",
16286
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RRCclass_LTE_vals), 0,
16287
14
        "RRCclass_LTE", HFILL }},
16288
14
    { &hf_e2ap_nR,
16289
14
      { "nR", "e2ap.nR",
16290
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RRCclass_NR_vals), 0,
16291
14
        "RRCclass_NR", HFILL }},
16292
14
    { &hf_e2ap_messageID,
16293
14
      { "messageID", "e2ap.messageID",
16294
14
        FT_INT32, BASE_DEC, NULL, 0,
16295
14
        "INTEGER", HFILL }},
16296
14
    { &hf_e2ap_nR_01,
16297
14
      { "nR", "e2ap.nR_element",
16298
14
        FT_NONE, BASE_NONE, NULL, 0,
16299
14
        "NR_ARFCN", HFILL }},
16300
14
    { &hf_e2ap_eUTRA,
16301
14
      { "eUTRA", "e2ap.eUTRA",
16302
14
        FT_UINT32, BASE_DEC, NULL, 0,
16303
14
        "E_UTRA_ARFCN", HFILL }},
16304
14
    { &hf_e2ap_nR_02,
16305
14
      { "nR", "e2ap.nR",
16306
14
        FT_UINT32, BASE_DEC, NULL, 0,
16307
14
        "NR_PCI", HFILL }},
16308
14
    { &hf_e2ap_eUTRA_01,
16309
14
      { "eUTRA", "e2ap.eUTRA",
16310
14
        FT_UINT32, BASE_DEC, NULL, 0,
16311
14
        "E_UTRA_PCI", HFILL }},
16312
14
    { &hf_e2ap_gNB_UEID,
16313
14
      { "gNB-UEID", "e2ap.gNB_UEID_element",
16314
14
        FT_NONE, BASE_NONE, NULL, 0,
16315
14
        "UEID_GNB", HFILL }},
16316
14
    { &hf_e2ap_gNB_DU_UEID,
16317
14
      { "gNB-DU-UEID", "e2ap.gNB_DU_UEID_element",
16318
14
        FT_NONE, BASE_NONE, NULL, 0,
16319
14
        "UEID_GNB_DU", HFILL }},
16320
14
    { &hf_e2ap_gNB_CU_UP_UEID,
16321
14
      { "gNB-CU-UP-UEID", "e2ap.gNB_CU_UP_UEID_element",
16322
14
        FT_NONE, BASE_NONE, NULL, 0,
16323
14
        "UEID_GNB_CU_UP", HFILL }},
16324
14
    { &hf_e2ap_ng_eNB_UEID,
16325
14
      { "ng-eNB-UEID", "e2ap.ng_eNB_UEID_element",
16326
14
        FT_NONE, BASE_NONE, NULL, 0,
16327
14
        "UEID_NG_ENB", HFILL }},
16328
14
    { &hf_e2ap_ng_eNB_DU_UEID,
16329
14
      { "ng-eNB-DU-UEID", "e2ap.ng_eNB_DU_UEID_element",
16330
14
        FT_NONE, BASE_NONE, NULL, 0,
16331
14
        "UEID_NG_ENB_DU", HFILL }},
16332
14
    { &hf_e2ap_en_gNB_UEID,
16333
14
      { "en-gNB-UEID", "e2ap.en_gNB_UEID_element",
16334
14
        FT_NONE, BASE_NONE, NULL, 0,
16335
14
        "UEID_EN_GNB", HFILL }},
16336
14
    { &hf_e2ap_eNB_UEID,
16337
14
      { "eNB-UEID", "e2ap.eNB_UEID_element",
16338
14
        FT_NONE, BASE_NONE, NULL, 0,
16339
14
        "UEID_ENB", HFILL }},
16340
14
    { &hf_e2ap_amf_UE_NGAP_ID,
16341
14
      { "amf-UE-NGAP-ID", "e2ap.amf_UE_NGAP_ID",
16342
14
        FT_UINT64, BASE_DEC, NULL, 0,
16343
14
        NULL, HFILL }},
16344
14
    { &hf_e2ap_gNB_CU_UE_F1AP_ID_List,
16345
14
      { "gNB-CU-UE-F1AP-ID-List", "e2ap.gNB_CU_UE_F1AP_ID_List",
16346
14
        FT_UINT32, BASE_DEC, NULL, 0,
16347
14
        "UEID_GNB_CU_F1AP_ID_List", HFILL }},
16348
14
    { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List,
16349
14
      { "gNB-CU-CP-UE-E1AP-ID-List", "e2ap.gNB_CU_CP_UE_E1AP_ID_List",
16350
14
        FT_UINT32, BASE_DEC, NULL, 0,
16351
14
        "UEID_GNB_CU_CP_E1AP_ID_List", HFILL }},
16352
14
    { &hf_e2ap_ran_UEID,
16353
14
      { "ran-UEID", "e2ap.ran_UEID",
16354
14
        FT_BYTES, BASE_NONE, NULL, 0,
16355
14
        "RANUEID", HFILL }},
16356
14
    { &hf_e2ap_m_NG_RAN_UE_XnAP_ID,
16357
14
      { "m-NG-RAN-UE-XnAP-ID", "e2ap.m_NG_RAN_UE_XnAP_ID",
16358
14
        FT_UINT32, BASE_DEC, NULL, 0,
16359
14
        "NG_RANnodeUEXnAPID", HFILL }},
16360
14
    { &hf_e2ap_globalNG_RANNode_ID,
16361
14
      { "globalNG-RANNode-ID", "e2ap.globalNG_RANNode_ID",
16362
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNGRANNodeID_vals), 0,
16363
14
        "GlobalNGRANNodeID", HFILL }},
16364
14
    { &hf_e2ap_UEID_GNB_CU_CP_E1AP_ID_List_item,
16365
14
      { "UEID-GNB-CU-CP-E1AP-ID-Item", "e2ap.UEID_GNB_CU_CP_E1AP_ID_Item_element",
16366
14
        FT_NONE, BASE_NONE, NULL, 0,
16367
14
        NULL, HFILL }},
16368
14
    { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID,
16369
14
      { "gNB-CU-CP-UE-E1AP-ID", "e2ap.gNB_CU_CP_UE_E1AP_ID",
16370
14
        FT_UINT32, BASE_DEC, NULL, 0,
16371
14
        NULL, HFILL }},
16372
14
    { &hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item,
16373
14
      { "UEID-GNB-CU-CP-F1AP-ID-Item", "e2ap.UEID_GNB_CU_CP_F1AP_ID_Item_element",
16374
14
        FT_NONE, BASE_NONE, NULL, 0,
16375
14
        NULL, HFILL }},
16376
14
    { &hf_e2ap_gNB_CU_UE_F1AP_ID,
16377
14
      { "gNB-CU-UE-F1AP-ID", "e2ap.gNB_CU_UE_F1AP_ID",
16378
14
        FT_UINT32, BASE_DEC, NULL, 0,
16379
14
        NULL, HFILL }},
16380
14
    { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID,
16381
14
      { "ng-eNB-CU-UE-W1AP-ID", "e2ap.ng_eNB_CU_UE_W1AP_ID",
16382
14
        FT_UINT32, BASE_DEC, NULL, 0,
16383
14
        "NGENB_CU_UE_W1AP_ID", HFILL }},
16384
14
    { &hf_e2ap_globalNgENB_ID,
16385
14
      { "globalNgENB-ID", "e2ap.globalNgENB_ID_element",
16386
14
        FT_NONE, BASE_NONE, NULL, 0,
16387
14
        NULL, HFILL }},
16388
14
    { &hf_e2ap_m_eNB_UE_X2AP_ID,
16389
14
      { "m-eNB-UE-X2AP-ID", "e2ap.m_eNB_UE_X2AP_ID",
16390
14
        FT_UINT32, BASE_DEC, NULL, 0,
16391
14
        "ENB_UE_X2AP_ID", HFILL }},
16392
14
    { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension,
16393
14
      { "m-eNB-UE-X2AP-ID-Extension", "e2ap.m_eNB_UE_X2AP_ID_Extension",
16394
14
        FT_UINT32, BASE_DEC, NULL, 0,
16395
14
        "ENB_UE_X2AP_ID_Extension", HFILL }},
16396
14
    { &hf_e2ap_globalENB_ID,
16397
14
      { "globalENB-ID", "e2ap.globalENB_ID_element",
16398
14
        FT_NONE, BASE_NONE, NULL, 0,
16399
14
        NULL, HFILL }},
16400
14
    { &hf_e2ap_mME_UE_S1AP_ID,
16401
14
      { "mME-UE-S1AP-ID", "e2ap.mME_UE_S1AP_ID",
16402
14
        FT_UINT32, BASE_DEC, NULL, 0,
16403
14
        NULL, HFILL }},
16404
14
    { &hf_e2ap_pLMN_Identity_01,
16405
14
      { "pLMN-Identity", "e2ap.pLMN_Identity",
16406
14
        FT_BYTES, BASE_NONE, NULL, 0,
16407
14
        "PLMNIdentity", HFILL }},
16408
14
    { &hf_e2ap_mME_Group_ID,
16409
14
      { "mME-Group-ID", "e2ap.mME_Group_ID",
16410
14
        FT_BYTES, BASE_NONE, NULL, 0,
16411
14
        NULL, HFILL }},
16412
14
    { &hf_e2ap_mME_Code,
16413
14
      { "mME-Code", "e2ap.mME_Code",
16414
14
        FT_BYTES, BASE_NONE, NULL, 0,
16415
14
        NULL, HFILL }},
16416
14
    { &hf_e2ap_pLMNIdentity,
16417
14
      { "pLMNIdentity", "e2ap.pLMNIdentity",
16418
14
        FT_BYTES, BASE_NONE, NULL, 0,
16419
14
        NULL, HFILL }},
16420
14
    { &hf_e2ap_eUTRACellIdentity,
16421
14
      { "eUTRACellIdentity", "e2ap.eUTRACellIdentity",
16422
14
        FT_BYTES, BASE_NONE, NULL, 0,
16423
14
        NULL, HFILL }},
16424
14
    { &hf_e2ap_gNB_ID_choice,
16425
14
      { "gNB-ID", "e2ap.gNB_ID_choice",
16426
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GNB_ID_vals), 0,
16427
14
        NULL, HFILL }},
16428
14
    { &hf_e2ap_ngENB_ID,
16429
14
      { "ngENB-ID", "e2ap.ngENB_ID",
16430
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NgENB_ID_vals), 0,
16431
14
        NULL, HFILL }},
16432
14
    { &hf_e2ap_gNB_ID,
16433
14
      { "gNB-ID", "e2ap.gNB_ID",
16434
14
        FT_BYTES, BASE_NONE, NULL, 0,
16435
14
        "BIT_STRING_SIZE_22_32", HFILL }},
16436
14
    { &hf_e2ap_aMFRegionID,
16437
14
      { "aMFRegionID", "e2ap.aMFRegionID",
16438
14
        FT_BYTES, BASE_NONE, NULL, 0,
16439
14
        NULL, HFILL }},
16440
14
    { &hf_e2ap_aMFSetID,
16441
14
      { "aMFSetID", "e2ap.aMFSetID",
16442
14
        FT_BYTES, BASE_NONE, NULL, 0,
16443
14
        NULL, HFILL }},
16444
14
    { &hf_e2ap_aMFPointer,
16445
14
      { "aMFPointer", "e2ap.aMFPointer",
16446
14
        FT_BYTES, BASE_NONE, NULL, 0,
16447
14
        NULL, HFILL }},
16448
14
    { &hf_e2ap_macroNgENB_ID,
16449
14
      { "macroNgENB-ID", "e2ap.macroNgENB_ID",
16450
14
        FT_BYTES, BASE_NONE, NULL, 0,
16451
14
        "BIT_STRING_SIZE_20", HFILL }},
16452
14
    { &hf_e2ap_shortMacroNgENB_ID,
16453
14
      { "shortMacroNgENB-ID", "e2ap.shortMacroNgENB_ID",
16454
14
        FT_BYTES, BASE_NONE, NULL, 0,
16455
14
        "BIT_STRING_SIZE_18", HFILL }},
16456
14
    { &hf_e2ap_longMacroNgENB_ID,
16457
14
      { "longMacroNgENB-ID", "e2ap.longMacroNgENB_ID",
16458
14
        FT_BYTES, BASE_NONE, NULL, 0,
16459
14
        "BIT_STRING_SIZE_21", HFILL }},
16460
14
    { &hf_e2ap_nRCellIdentity,
16461
14
      { "nRCellIdentity", "e2ap.nRCellIdentity",
16462
14
        FT_BYTES, BASE_NONE, NULL, 0,
16463
14
        NULL, HFILL }},
16464
14
    { &hf_e2ap_sST,
16465
14
      { "sST", "e2ap.sST",
16466
14
        FT_BYTES, BASE_NONE, NULL, 0,
16467
14
        NULL, HFILL }},
16468
14
    { &hf_e2ap_sD,
16469
14
      { "sD", "e2ap.sD",
16470
14
        FT_BYTES, BASE_NONE, NULL, 0,
16471
14
        NULL, HFILL }},
16472
14
    { &hf_e2ap_gNB_02,
16473
14
      { "gNB", "e2ap.gNB_element",
16474
14
        FT_NONE, BASE_NONE, NULL, 0,
16475
14
        "GlobalGNB_ID", HFILL }},
16476
14
    { &hf_e2ap_ng_eNB_02,
16477
14
      { "ng-eNB", "e2ap.ng_eNB_element",
16478
14
        FT_NONE, BASE_NONE, NULL, 0,
16479
14
        "GlobalNgENB_ID", HFILL }},
16480
14
    { &hf_e2ap_nRARFCN,
16481
14
      { "nRARFCN", "e2ap.nRARFCN",
16482
14
        FT_UINT32, BASE_DEC, NULL, 0,
16483
14
        "INTEGER_0_maxNRARFCN", HFILL }},
16484
14
    { &hf_e2ap_NRFrequencyBand_List_item,
16485
14
      { "NRFrequencyBandItem", "e2ap.NRFrequencyBandItem_element",
16486
14
        FT_NONE, BASE_NONE, NULL, 0,
16487
14
        NULL, HFILL }},
16488
14
    { &hf_e2ap_freqBandIndicatorNr,
16489
14
      { "freqBandIndicatorNr", "e2ap.freqBandIndicatorNr",
16490
14
        FT_UINT32, BASE_DEC, NULL, 0,
16491
14
        "INTEGER_1_1024_", HFILL }},
16492
14
    { &hf_e2ap_supportedSULBandList,
16493
14
      { "supportedSULBandList", "e2ap.supportedSULBandList",
16494
14
        FT_UINT32, BASE_DEC, NULL, 0,
16495
14
        NULL, HFILL }},
16496
14
    { &hf_e2ap_nrARFCN,
16497
14
      { "nrARFCN", "e2ap.nrARFCN_element",
16498
14
        FT_NONE, BASE_NONE, NULL, 0,
16499
14
        "NR_ARFCN", HFILL }},
16500
14
    { &hf_e2ap_frequencyBand_List,
16501
14
      { "frequencyBand-List", "e2ap.frequencyBand_List",
16502
14
        FT_UINT32, BASE_DEC, NULL, 0,
16503
14
        "NRFrequencyBand_List", HFILL }},
16504
14
    { &hf_e2ap_frequencyShift7p5khz,
16505
14
      { "frequencyShift7p5khz", "e2ap.frequencyShift7p5khz",
16506
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NRFrequencyShift7p5khz_vals), 0,
16507
14
        "NRFrequencyShift7p5khz", HFILL }},
16508
14
    { &hf_e2ap_SupportedSULBandList_item,
16509
14
      { "SupportedSULFreqBandItem", "e2ap.SupportedSULFreqBandItem_element",
16510
14
        FT_NONE, BASE_NONE, NULL, 0,
16511
14
        NULL, HFILL }},
16512
14
    { &hf_e2ap_NeighborCell_List_item,
16513
14
      { "NeighborCell-Item", "e2ap.NeighborCell_Item",
16514
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NeighborCell_Item_vals), 0,
16515
14
        NULL, HFILL }},
16516
14
    { &hf_e2ap_ranType_Choice_NR,
16517
14
      { "ranType-Choice-NR", "e2ap.ranType_Choice_NR_element",
16518
14
        FT_NONE, BASE_NONE, NULL, 0,
16519
14
        "NeighborCell_Item_Choice_NR", HFILL }},
16520
14
    { &hf_e2ap_ranType_Choice_EUTRA,
16521
14
      { "ranType-Choice-EUTRA", "e2ap.ranType_Choice_EUTRA_element",
16522
14
        FT_NONE, BASE_NONE, NULL, 0,
16523
14
        "NeighborCell_Item_Choice_E_UTRA", HFILL }},
16524
14
    { &hf_e2ap_nR_PCI,
16525
14
      { "nR-PCI", "e2ap.nR_PCI",
16526
14
        FT_UINT32, BASE_DEC, NULL, 0,
16527
14
        NULL, HFILL }},
16528
14
    { &hf_e2ap_fiveGS_TAC,
16529
14
      { "fiveGS-TAC", "e2ap.fiveGS_TAC",
16530
14
        FT_BYTES, BASE_NONE, NULL, 0,
16531
14
        NULL, HFILL }},
16532
14
    { &hf_e2ap_nR_mode_info,
16533
14
      { "nR-mode-info", "e2ap.nR_mode_info",
16534
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_nR_mode_info_vals), 0,
16535
14
        NULL, HFILL }},
16536
14
    { &hf_e2ap_nR_FreqInfo,
16537
14
      { "nR-FreqInfo", "e2ap.nR_FreqInfo_element",
16538
14
        FT_NONE, BASE_NONE, NULL, 0,
16539
14
        "NRFrequencyInfo", HFILL }},
16540
14
    { &hf_e2ap_x2_Xn_established,
16541
14
      { "x2-Xn-established", "e2ap.x2_Xn_established",
16542
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_x2_Xn_established_vals), 0,
16543
14
        NULL, HFILL }},
16544
14
    { &hf_e2ap_hO_validated,
16545
14
      { "hO-validated", "e2ap.hO_validated",
16546
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_hO_validated_vals), 0,
16547
14
        NULL, HFILL }},
16548
14
    { &hf_e2ap_version,
16549
14
      { "version", "e2ap.version",
16550
14
        FT_UINT32, BASE_DEC, NULL, 0,
16551
14
        "INTEGER_1_65535_", HFILL }},
16552
14
    { &hf_e2ap_eUTRA_PCI,
16553
14
      { "eUTRA-PCI", "e2ap.eUTRA_PCI",
16554
14
        FT_UINT32, BASE_DEC, NULL, 0,
16555
14
        "E_UTRA_PCI", HFILL }},
16556
14
    { &hf_e2ap_eUTRA_ARFCN,
16557
14
      { "eUTRA-ARFCN", "e2ap.eUTRA_ARFCN",
16558
14
        FT_UINT32, BASE_DEC, NULL, 0,
16559
14
        "E_UTRA_ARFCN", HFILL }},
16560
14
    { &hf_e2ap_eUTRA_TAC,
16561
14
      { "eUTRA-TAC", "e2ap.eUTRA_TAC",
16562
14
        FT_BYTES, BASE_NONE, NULL, 0,
16563
14
        "E_UTRA_TAC", HFILL }},
16564
14
    { &hf_e2ap_x2_Xn_established_01,
16565
14
      { "x2-Xn-established", "e2ap.x2_Xn_established",
16566
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_x2_Xn_established_01_vals), 0,
16567
14
        "T_x2_Xn_established_01", HFILL }},
16568
14
    { &hf_e2ap_hO_validated_01,
16569
14
      { "hO-validated", "e2ap.hO_validated",
16570
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_hO_validated_01_vals), 0,
16571
14
        "T_hO_validated_01", HFILL }},
16572
14
    { &hf_e2ap_servingCellPCI,
16573
14
      { "servingCellPCI", "e2ap.servingCellPCI",
16574
14
        FT_UINT32, BASE_DEC, VALS(e2ap_ServingCell_PCI_vals), 0,
16575
14
        "ServingCell_PCI", HFILL }},
16576
14
    { &hf_e2ap_servingCellARFCN,
16577
14
      { "servingCellARFCN", "e2ap.servingCellARFCN",
16578
14
        FT_UINT32, BASE_DEC, VALS(e2ap_ServingCell_ARFCN_vals), 0,
16579
14
        "ServingCell_ARFCN", HFILL }},
16580
14
    { &hf_e2ap_neighborCell_List,
16581
14
      { "neighborCell-List", "e2ap.neighborCell_List",
16582
14
        FT_UINT32, BASE_DEC, NULL, 0,
16583
14
        NULL, HFILL }},
16584
14
    { &hf_e2ap_cellInfo_List,
16585
14
      { "cellInfo-List", "e2ap.cellInfo_List",
16586
14
        FT_UINT32, BASE_DEC, NULL, 0,
16587
14
        "SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item", HFILL }},
16588
14
    { &hf_e2ap_cellInfo_List_item,
16589
14
      { "EventTrigger-Cell-Info-Item", "e2ap.EventTrigger_Cell_Info_Item_element",
16590
14
        FT_NONE, BASE_NONE, NULL, 0,
16591
14
        NULL, HFILL }},
16592
14
    { &hf_e2ap_eventTriggerCellID,
16593
14
      { "eventTriggerCellID", "e2ap.eventTriggerCellID",
16594
14
        FT_UINT32, BASE_DEC, NULL, 0,
16595
14
        "RIC_EventTrigger_Cell_ID", HFILL }},
16596
14
    { &hf_e2ap_cellType,
16597
14
      { "cellType", "e2ap.cellType",
16598
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_cellType_vals), 0,
16599
14
        NULL, HFILL }},
16600
14
    { &hf_e2ap_cellType_Choice_Individual,
16601
14
      { "cellType-Choice-Individual", "e2ap.cellType_Choice_Individual_element",
16602
14
        FT_NONE, BASE_NONE, NULL, 0,
16603
14
        "EventTrigger_Cell_Info_Item_Choice_Individual", HFILL }},
16604
14
    { &hf_e2ap_cellType_Choice_Group,
16605
14
      { "cellType-Choice-Group", "e2ap.cellType_Choice_Group_element",
16606
14
        FT_NONE, BASE_NONE, NULL, 0,
16607
14
        "EventTrigger_Cell_Info_Item_Choice_Group", HFILL }},
16608
14
    { &hf_e2ap_logicalOR,
16609
14
      { "logicalOR", "e2ap.logicalOR",
16610
14
        FT_UINT32, BASE_DEC, VALS(e2ap_LogicalOR_vals), 0,
16611
14
        NULL, HFILL }},
16612
14
    { &hf_e2ap_cellGlobalID,
16613
14
      { "cellGlobalID", "e2ap.cellGlobalID",
16614
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CGI_vals), 0,
16615
14
        "CGI", HFILL }},
16616
14
    { &hf_e2ap_ranParameterTesting,
16617
14
      { "ranParameterTesting", "e2ap.ranParameterTesting",
16618
14
        FT_UINT32, BASE_DEC, NULL, 0,
16619
14
        "RANParameter_Testing", HFILL }},
16620
14
    { &hf_e2ap_ueInfo_List,
16621
14
      { "ueInfo-List", "e2ap.ueInfo_List",
16622
14
        FT_UINT32, BASE_DEC, NULL, 0,
16623
14
        "SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item", HFILL }},
16624
14
    { &hf_e2ap_ueInfo_List_item,
16625
14
      { "EventTrigger-UE-Info-Item", "e2ap.EventTrigger_UE_Info_Item_element",
16626
14
        FT_NONE, BASE_NONE, NULL, 0,
16627
14
        NULL, HFILL }},
16628
14
    { &hf_e2ap_eventTriggerUEID,
16629
14
      { "eventTriggerUEID", "e2ap.eventTriggerUEID",
16630
14
        FT_UINT32, BASE_DEC, NULL, 0,
16631
14
        "RIC_EventTrigger_UE_ID", HFILL }},
16632
14
    { &hf_e2ap_ueType,
16633
14
      { "ueType", "e2ap.ueType",
16634
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ueType_vals), 0,
16635
14
        NULL, HFILL }},
16636
14
    { &hf_e2ap_ueType_Choice_Individual,
16637
14
      { "ueType-Choice-Individual", "e2ap.ueType_Choice_Individual_element",
16638
14
        FT_NONE, BASE_NONE, NULL, 0,
16639
14
        "EventTrigger_UE_Info_Item_Choice_Individual", HFILL }},
16640
14
    { &hf_e2ap_ueType_Choice_Group,
16641
14
      { "ueType-Choice-Group", "e2ap.ueType_Choice_Group_element",
16642
14
        FT_NONE, BASE_NONE, NULL, 0,
16643
14
        "EventTrigger_UE_Info_Item_Choice_Group", HFILL }},
16644
14
    { &hf_e2ap_ueID,
16645
14
      { "ueID", "e2ap.ueID",
16646
14
        FT_UINT32, BASE_DEC, VALS(e2ap_UEID_vals), 0,
16647
14
        NULL, HFILL }},
16648
14
    { &hf_e2ap_ueEvent_List,
16649
14
      { "ueEvent-List", "e2ap.ueEvent_List",
16650
14
        FT_UINT32, BASE_DEC, NULL, 0,
16651
14
        "SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item", HFILL }},
16652
14
    { &hf_e2ap_ueEvent_List_item,
16653
14
      { "EventTrigger-UEevent-Info-Item", "e2ap.EventTrigger_UEevent_Info_Item_element",
16654
14
        FT_NONE, BASE_NONE, NULL, 0,
16655
14
        NULL, HFILL }},
16656
14
    { &hf_e2ap_ueEventID,
16657
14
      { "ueEventID", "e2ap.ueEventID",
16658
14
        FT_UINT32, BASE_DEC, NULL, 0,
16659
14
        "RIC_EventTrigger_UEevent_ID", HFILL }},
16660
14
    { &hf_e2ap_ranParameter_Definition_Choice,
16661
14
      { "ranParameter-Definition-Choice", "e2ap.ranParameter_Definition_Choice",
16662
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Definition_Choice_vals), 0,
16663
14
        NULL, HFILL }},
16664
14
    { &hf_e2ap_choiceLIST,
16665
14
      { "choiceLIST", "e2ap.choiceLIST_element",
16666
14
        FT_NONE, BASE_NONE, NULL, 0,
16667
14
        "RANParameter_Definition_Choice_LIST", HFILL }},
16668
14
    { &hf_e2ap_choiceSTRUCTURE,
16669
14
      { "choiceSTRUCTURE", "e2ap.choiceSTRUCTURE_element",
16670
14
        FT_NONE, BASE_NONE, NULL, 0,
16671
14
        "RANParameter_Definition_Choice_STRUCTURE", HFILL }},
16672
14
    { &hf_e2ap_ranParameter_List,
16673
14
      { "ranParameter-List", "e2ap.ranParameter_List",
16674
14
        FT_UINT32, BASE_DEC, NULL, 0,
16675
14
        "SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item", HFILL }},
16676
14
    { &hf_e2ap_ranParameter_List_item,
16677
14
      { "RANParameter-Definition-Choice-LIST-Item", "e2ap.RANParameter_Definition_Choice_LIST_Item_element",
16678
14
        FT_NONE, BASE_NONE, NULL, 0,
16679
14
        NULL, HFILL }},
16680
14
    { &hf_e2ap_ranParameter_ID,
16681
14
      { "ranParameter-ID", "e2ap.ranParameter_ID",
16682
14
        FT_UINT64, BASE_DEC, NULL, 0,
16683
14
        NULL, HFILL }},
16684
14
    { &hf_e2ap_ranParameter_name,
16685
14
      { "ranParameter-name", "e2ap.ranParameter_name",
16686
14
        FT_STRING, BASE_NONE, NULL, 0,
16687
14
        NULL, HFILL }},
16688
14
    { &hf_e2ap_ranParameter_Definition,
16689
14
      { "ranParameter-Definition", "e2ap.ranParameter_Definition_element",
16690
14
        FT_NONE, BASE_NONE, NULL, 0,
16691
14
        NULL, HFILL }},
16692
14
    { &hf_e2ap_ranParameter_STRUCTURE,
16693
14
      { "ranParameter-STRUCTURE", "e2ap.ranParameter_STRUCTURE",
16694
14
        FT_UINT32, BASE_DEC, NULL, 0,
16695
14
        "SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item", HFILL }},
16696
14
    { &hf_e2ap_ranParameter_STRUCTURE_item,
16697
14
      { "RANParameter-Definition-Choice-STRUCTURE-Item", "e2ap.RANParameter_Definition_Choice_STRUCTURE_Item_element",
16698
14
        FT_NONE, BASE_NONE, NULL, 0,
16699
14
        NULL, HFILL }},
16700
14
    { &hf_e2ap_valueBoolean,
16701
14
      { "valueBoolean", "e2ap.valueBoolean",
16702
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
16703
14
        "BOOLEAN", HFILL }},
16704
14
    { &hf_e2ap_valueInt,
16705
14
      { "valueInt", "e2ap.valueInt",
16706
14
        FT_INT32, BASE_DEC, NULL, 0,
16707
14
        "INTEGER", HFILL }},
16708
14
    { &hf_e2ap_valueReal,
16709
14
      { "valueReal", "e2ap.valueReal",
16710
14
        FT_DOUBLE, BASE_NONE, NULL, 0,
16711
14
        "REAL", HFILL }},
16712
14
    { &hf_e2ap_valueBitS,
16713
14
      { "valueBitS", "e2ap.valueBitS",
16714
14
        FT_BYTES, BASE_NONE, NULL, 0,
16715
14
        "BIT_STRING", HFILL }},
16716
14
    { &hf_e2ap_valueOctS,
16717
14
      { "valueOctS", "e2ap.valueOctS",
16718
14
        FT_BYTES, BASE_NONE, NULL, 0,
16719
14
        "OCTET_STRING", HFILL }},
16720
14
    { &hf_e2ap_valuePrintableString,
16721
14
      { "valuePrintableString", "e2ap.valuePrintableString",
16722
14
        FT_STRING, BASE_NONE, NULL, 0,
16723
14
        "PrintableString", HFILL }},
16724
14
    { &hf_e2ap_ranP_Choice_ElementTrue,
16725
14
      { "ranP-Choice-ElementTrue", "e2ap.ranP_Choice_ElementTrue_element",
16726
14
        FT_NONE, BASE_NONE, NULL, 0,
16727
14
        "RANParameter_ValueType_Choice_ElementTrue", HFILL }},
16728
14
    { &hf_e2ap_ranP_Choice_ElementFalse,
16729
14
      { "ranP-Choice-ElementFalse", "e2ap.ranP_Choice_ElementFalse_element",
16730
14
        FT_NONE, BASE_NONE, NULL, 0,
16731
14
        "RANParameter_ValueType_Choice_ElementFalse", HFILL }},
16732
14
    { &hf_e2ap_ranP_Choice_Structure,
16733
14
      { "ranP-Choice-Structure", "e2ap.ranP_Choice_Structure_element",
16734
14
        FT_NONE, BASE_NONE, NULL, 0,
16735
14
        "RANParameter_ValueType_Choice_Structure", HFILL }},
16736
14
    { &hf_e2ap_ranP_Choice_List,
16737
14
      { "ranP-Choice-List", "e2ap.ranP_Choice_List_element",
16738
14
        FT_NONE, BASE_NONE, NULL, 0,
16739
14
        "RANParameter_ValueType_Choice_List", HFILL }},
16740
14
    { &hf_e2ap_ranParameter_value,
16741
14
      { "ranParameter-value", "e2ap.ranParameter_value",
16742
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Value_vals), 0,
16743
14
        NULL, HFILL }},
16744
14
    { &hf_e2ap_ranParameter_Structure,
16745
14
      { "ranParameter-Structure", "e2ap.ranParameter_Structure_element",
16746
14
        FT_NONE, BASE_NONE, NULL, 0,
16747
14
        NULL, HFILL }},
16748
14
    { &hf_e2ap_ranParameter_List_01,
16749
14
      { "ranParameter-List", "e2ap.ranParameter_List_element",
16750
14
        FT_NONE, BASE_NONE, NULL, 0,
16751
14
        NULL, HFILL }},
16752
14
    { &hf_e2ap_sequence_of_ranParameters,
16753
14
      { "sequence-of-ranParameters", "e2ap.sequence_of_ranParameters",
16754
14
        FT_UINT32, BASE_DEC, NULL, 0,
16755
14
        "SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item", HFILL }},
16756
14
    { &hf_e2ap_sequence_of_ranParameters_item,
16757
14
      { "RANParameter-STRUCTURE-Item", "e2ap.RANParameter_STRUCTURE_Item_element",
16758
14
        FT_NONE, BASE_NONE, NULL, 0,
16759
14
        NULL, HFILL }},
16760
14
    { &hf_e2ap_ranParameter_valueType,
16761
14
      { "ranParameter-valueType", "e2ap.ranParameter_valueType",
16762
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_ValueType_vals), 0,
16763
14
        NULL, HFILL }},
16764
14
    { &hf_e2ap_list_of_ranParameter,
16765
14
      { "list-of-ranParameter", "e2ap.list_of_ranParameter",
16766
14
        FT_UINT32, BASE_DEC, NULL, 0,
16767
14
        "SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE", HFILL }},
16768
14
    { &hf_e2ap_list_of_ranParameter_item,
16769
14
      { "RANParameter-STRUCTURE", "e2ap.RANParameter_STRUCTURE_element",
16770
14
        FT_NONE, BASE_NONE, NULL, 0,
16771
14
        NULL, HFILL }},
16772
14
    { &hf_e2ap_RANParameter_Testing_item,
16773
14
      { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16774
14
        FT_NONE, BASE_NONE, NULL, 0,
16775
14
        NULL, HFILL }},
16776
14
    { &hf_e2ap_ranP_Choice_comparison,
16777
14
      { "ranP-Choice-comparison", "e2ap.ranP_Choice_comparison",
16778
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ranP_Choice_comparison_vals), 0,
16779
14
        NULL, HFILL }},
16780
14
    { &hf_e2ap_ranP_Choice_presence,
16781
14
      { "ranP-Choice-presence", "e2ap.ranP_Choice_presence",
16782
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ranP_Choice_presence_vals), 0,
16783
14
        NULL, HFILL }},
16784
14
    { &hf_e2ap_ranParameter_Type,
16785
14
      { "ranParameter-Type", "e2ap.ranParameter_Type",
16786
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ranParameter_Type_vals), 0,
16787
14
        NULL, HFILL }},
16788
14
    { &hf_e2ap_ranP_Choice_List_01,
16789
14
      { "ranP-Choice-List", "e2ap.ranP_Choice_List_element",
16790
14
        FT_NONE, BASE_NONE, NULL, 0,
16791
14
        "RANParameter_Testing_Item_Choice_List", HFILL }},
16792
14
    { &hf_e2ap_ranP_Choice_Structure_01,
16793
14
      { "ranP-Choice-Structure", "e2ap.ranP_Choice_Structure_element",
16794
14
        FT_NONE, BASE_NONE, NULL, 0,
16795
14
        "RANParameter_Testing_Item_Choice_Structure", HFILL }},
16796
14
    { &hf_e2ap_ranP_Choice_ElementTrue_01,
16797
14
      { "ranP-Choice-ElementTrue", "e2ap.ranP_Choice_ElementTrue_element",
16798
14
        FT_NONE, BASE_NONE, NULL, 0,
16799
14
        "RANParameter_Testing_Item_Choice_ElementTrue", HFILL }},
16800
14
    { &hf_e2ap_ranP_Choice_ElementFalse_01,
16801
14
      { "ranP-Choice-ElementFalse", "e2ap.ranP_Choice_ElementFalse_element",
16802
14
        FT_NONE, BASE_NONE, NULL, 0,
16803
14
        "RANParameter_Testing_Item_Choice_ElementFalse", HFILL }},
16804
14
    { &hf_e2ap_ranParameter_List_02,
16805
14
      { "ranParameter-List", "e2ap.ranParameter_List",
16806
14
        FT_UINT32, BASE_DEC, NULL, 0,
16807
14
        "RANParameter_Testing_LIST", HFILL }},
16808
14
    { &hf_e2ap_ranParameter_Structure_01,
16809
14
      { "ranParameter-Structure", "e2ap.ranParameter_Structure",
16810
14
        FT_UINT32, BASE_DEC, NULL, 0,
16811
14
        "RANParameter_Testing_STRUCTURE", HFILL }},
16812
14
    { &hf_e2ap_ranParameter_TestCondition,
16813
14
      { "ranParameter-TestCondition", "e2ap.ranParameter_TestCondition",
16814
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_TestingCondition_vals), 0,
16815
14
        "RANParameter_TestingCondition", HFILL }},
16816
14
    { &hf_e2ap_ranParameter_Value,
16817
14
      { "ranParameter-Value", "e2ap.ranParameter_Value",
16818
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Value_vals), 0,
16819
14
        NULL, HFILL }},
16820
14
    { &hf_e2ap_RANParameter_Testing_LIST_item,
16821
14
      { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16822
14
        FT_NONE, BASE_NONE, NULL, 0,
16823
14
        NULL, HFILL }},
16824
14
    { &hf_e2ap_RANParameter_Testing_STRUCTURE_item,
16825
14
      { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16826
14
        FT_NONE, BASE_NONE, NULL, 0,
16827
14
        NULL, HFILL }},
16828
14
    { &hf_e2ap_ric_PolicyAction_ID,
16829
14
      { "ric-PolicyAction-ID", "e2ap.ric_PolicyAction_ID",
16830
14
        FT_UINT32, BASE_DEC, NULL, 0,
16831
14
        "RIC_ControlAction_ID", HFILL }},
16832
14
    { &hf_e2ap_ranParameters_List,
16833
14
      { "ranParameters-List", "e2ap.ranParameters_List",
16834
14
        FT_UINT32, BASE_DEC, NULL, 0,
16835
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item", HFILL }},
16836
14
    { &hf_e2ap_ranParameters_List_item,
16837
14
      { "RIC-PolicyAction-RANParameter-Item", "e2ap.RIC_PolicyAction_RANParameter_Item_element",
16838
14
        FT_NONE, BASE_NONE, NULL, 0,
16839
14
        NULL, HFILL }},
16840
14
    { &hf_e2ap_ric_PolicyDecision,
16841
14
      { "ric-PolicyDecision", "e2ap.ric_PolicyDecision",
16842
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_PolicyDecision_vals), 0,
16843
14
        NULL, HFILL }},
16844
14
    { &hf_e2ap_ric_eventTrigger_formats,
16845
14
      { "ric-eventTrigger-formats", "e2ap.ric_eventTrigger_formats",
16846
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_eventTrigger_formats_vals), 0,
16847
14
        NULL, HFILL }},
16848
14
    { &hf_e2ap_eventTrigger_Format1,
16849
14
      { "eventTrigger-Format1", "e2ap.eventTrigger_Format1_element",
16850
14
        FT_NONE, BASE_NONE, NULL, 0,
16851
14
        "E2SM_RC_EventTrigger_Format1", HFILL }},
16852
14
    { &hf_e2ap_eventTrigger_Format2,
16853
14
      { "eventTrigger-Format2", "e2ap.eventTrigger_Format2_element",
16854
14
        FT_NONE, BASE_NONE, NULL, 0,
16855
14
        "E2SM_RC_EventTrigger_Format2", HFILL }},
16856
14
    { &hf_e2ap_eventTrigger_Format3,
16857
14
      { "eventTrigger-Format3", "e2ap.eventTrigger_Format3_element",
16858
14
        FT_NONE, BASE_NONE, NULL, 0,
16859
14
        "E2SM_RC_EventTrigger_Format3", HFILL }},
16860
14
    { &hf_e2ap_eventTrigger_Format4,
16861
14
      { "eventTrigger-Format4", "e2ap.eventTrigger_Format4_element",
16862
14
        FT_NONE, BASE_NONE, NULL, 0,
16863
14
        "E2SM_RC_EventTrigger_Format4", HFILL }},
16864
14
    { &hf_e2ap_eventTrigger_Format5,
16865
14
      { "eventTrigger-Format5", "e2ap.eventTrigger_Format5_element",
16866
14
        FT_NONE, BASE_NONE, NULL, 0,
16867
14
        "E2SM_RC_EventTrigger_Format5", HFILL }},
16868
14
    { &hf_e2ap_message_List,
16869
14
      { "message-List", "e2ap.message_List",
16870
14
        FT_UINT32, BASE_DEC, NULL, 0,
16871
14
        "SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item", HFILL }},
16872
14
    { &hf_e2ap_message_List_item,
16873
14
      { "E2SM-RC-EventTrigger-Format1-Item", "e2ap.E2SM_RC_EventTrigger_Format1_Item_element",
16874
14
        FT_NONE, BASE_NONE, NULL, 0,
16875
14
        NULL, HFILL }},
16876
14
    { &hf_e2ap_globalAssociatedUEInfo,
16877
14
      { "globalAssociatedUEInfo", "e2ap.globalAssociatedUEInfo_element",
16878
14
        FT_NONE, BASE_NONE, NULL, 0,
16879
14
        "EventTrigger_UE_Info", HFILL }},
16880
14
    { &hf_e2ap_ric_eventTriggerCondition_ID,
16881
14
      { "ric-eventTriggerCondition-ID", "e2ap.ric_eventTriggerCondition_ID",
16882
14
        FT_UINT32, BASE_DEC, NULL, 0,
16883
14
        NULL, HFILL }},
16884
14
    { &hf_e2ap_messageType_01,
16885
14
      { "messageType", "e2ap.messageType",
16886
14
        FT_UINT32, BASE_DEC, VALS(e2ap_MessageType_Choice_vals), 0,
16887
14
        "MessageType_Choice", HFILL }},
16888
14
    { &hf_e2ap_messageDirection,
16889
14
      { "messageDirection", "e2ap.messageDirection",
16890
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_messageDirection_vals), 0,
16891
14
        NULL, HFILL }},
16892
14
    { &hf_e2ap_associatedUEInfo,
16893
14
      { "associatedUEInfo", "e2ap.associatedUEInfo_element",
16894
14
        FT_NONE, BASE_NONE, NULL, 0,
16895
14
        "EventTrigger_UE_Info", HFILL }},
16896
14
    { &hf_e2ap_associatedUEEvent,
16897
14
      { "associatedUEEvent", "e2ap.associatedUEEvent_element",
16898
14
        FT_NONE, BASE_NONE, NULL, 0,
16899
14
        "EventTrigger_UEevent_Info", HFILL }},
16900
14
    { &hf_e2ap_messageType_Choice_NI,
16901
14
      { "messageType-Choice-NI", "e2ap.messageType_Choice_NI_element",
16902
14
        FT_NONE, BASE_NONE, NULL, 0,
16903
14
        NULL, HFILL }},
16904
14
    { &hf_e2ap_messageType_Choice_RRC,
16905
14
      { "messageType-Choice-RRC", "e2ap.messageType_Choice_RRC_element",
16906
14
        FT_NONE, BASE_NONE, NULL, 0,
16907
14
        NULL, HFILL }},
16908
14
    { &hf_e2ap_nI_Type,
16909
14
      { "nI-Type", "e2ap.nI_Type",
16910
14
        FT_UINT32, BASE_DEC, VALS(e2ap_InterfaceType_vals), 0,
16911
14
        "InterfaceType", HFILL }},
16912
14
    { &hf_e2ap_nI_Identifier,
16913
14
      { "nI-Identifier", "e2ap.nI_Identifier",
16914
14
        FT_UINT32, BASE_DEC, VALS(e2ap_InterfaceIdentifier_vals), 0,
16915
14
        "InterfaceIdentifier", HFILL }},
16916
14
    { &hf_e2ap_nI_Message,
16917
14
      { "nI-Message", "e2ap.nI_Message_element",
16918
14
        FT_NONE, BASE_NONE, NULL, 0,
16919
14
        "Interface_MessageID", HFILL }},
16920
14
    { &hf_e2ap_rRC_Message,
16921
14
      { "rRC-Message", "e2ap.rRC_Message_element",
16922
14
        FT_NONE, BASE_NONE, NULL, 0,
16923
14
        "RRC_MessageID", HFILL }},
16924
14
    { &hf_e2ap_ric_callProcessType_ID,
16925
14
      { "ric-callProcessType-ID", "e2ap.ric_callProcessType_ID",
16926
14
        FT_UINT32, BASE_DEC, NULL, 0,
16927
14
        NULL, HFILL }},
16928
14
    { &hf_e2ap_ric_callProcessBreakpoint_ID,
16929
14
      { "ric-callProcessBreakpoint-ID", "e2ap.ric_callProcessBreakpoint_ID",
16930
14
        FT_UINT32, BASE_DEC, NULL, 0,
16931
14
        NULL, HFILL }},
16932
14
    { &hf_e2ap_associatedE2NodeInfo,
16933
14
      { "associatedE2NodeInfo", "e2ap.associatedE2NodeInfo",
16934
14
        FT_UINT32, BASE_DEC, NULL, 0,
16935
14
        "RANParameter_Testing", HFILL }},
16936
14
    { &hf_e2ap_e2NodeInfoChange_List,
16937
14
      { "e2NodeInfoChange-List", "e2ap.e2NodeInfoChange_List",
16938
14
        FT_UINT32, BASE_DEC, NULL, 0,
16939
14
        "SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item", HFILL }},
16940
14
    { &hf_e2ap_e2NodeInfoChange_List_item,
16941
14
      { "E2SM-RC-EventTrigger-Format3-Item", "e2ap.E2SM_RC_EventTrigger_Format3_Item_element",
16942
14
        FT_NONE, BASE_NONE, NULL, 0,
16943
14
        NULL, HFILL }},
16944
14
    { &hf_e2ap_e2NodeInfoChange_ID,
16945
14
      { "e2NodeInfoChange-ID", "e2ap.e2NodeInfoChange_ID",
16946
14
        FT_UINT32, BASE_DEC, NULL, 0,
16947
14
        "INTEGER_1_512_", HFILL }},
16948
14
    { &hf_e2ap_associatedCellInfo,
16949
14
      { "associatedCellInfo", "e2ap.associatedCellInfo_element",
16950
14
        FT_NONE, BASE_NONE, NULL, 0,
16951
14
        "EventTrigger_Cell_Info", HFILL }},
16952
14
    { &hf_e2ap_uEInfoChange_List,
16953
14
      { "uEInfoChange-List", "e2ap.uEInfoChange_List",
16954
14
        FT_UINT32, BASE_DEC, NULL, 0,
16955
14
        "SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item", HFILL }},
16956
14
    { &hf_e2ap_uEInfoChange_List_item,
16957
14
      { "E2SM-RC-EventTrigger-Format4-Item", "e2ap.E2SM_RC_EventTrigger_Format4_Item_element",
16958
14
        FT_NONE, BASE_NONE, NULL, 0,
16959
14
        NULL, HFILL }},
16960
14
    { &hf_e2ap_triggerType,
16961
14
      { "triggerType", "e2ap.triggerType",
16962
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TriggerType_Choice_vals), 0,
16963
14
        "TriggerType_Choice", HFILL }},
16964
14
    { &hf_e2ap_triggerType_Choice_RRCstate,
16965
14
      { "triggerType-Choice-RRCstate", "e2ap.triggerType_Choice_RRCstate_element",
16966
14
        FT_NONE, BASE_NONE, NULL, 0,
16967
14
        NULL, HFILL }},
16968
14
    { &hf_e2ap_triggerType_Choice_UEID,
16969
14
      { "triggerType-Choice-UEID", "e2ap.triggerType_Choice_UEID_element",
16970
14
        FT_NONE, BASE_NONE, NULL, 0,
16971
14
        NULL, HFILL }},
16972
14
    { &hf_e2ap_triggerType_Choice_L2state,
16973
14
      { "triggerType-Choice-L2state", "e2ap.triggerType_Choice_L2state_element",
16974
14
        FT_NONE, BASE_NONE, NULL, 0,
16975
14
        NULL, HFILL }},
16976
14
    { &hf_e2ap_rrcState_List,
16977
14
      { "rrcState-List", "e2ap.rrcState_List",
16978
14
        FT_UINT32, BASE_DEC, NULL, 0,
16979
14
        "SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item", HFILL }},
16980
14
    { &hf_e2ap_rrcState_List_item,
16981
14
      { "TriggerType-Choice-RRCstate-Item", "e2ap.TriggerType_Choice_RRCstate_Item_element",
16982
14
        FT_NONE, BASE_NONE, NULL, 0,
16983
14
        NULL, HFILL }},
16984
14
    { &hf_e2ap_stateChangedTo,
16985
14
      { "stateChangedTo", "e2ap.stateChangedTo",
16986
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RRC_State_vals), 0,
16987
14
        "RRC_State", HFILL }},
16988
14
    { &hf_e2ap_ueIDchange_ID,
16989
14
      { "ueIDchange-ID", "e2ap.ueIDchange_ID",
16990
14
        FT_UINT32, BASE_DEC, NULL, 0,
16991
14
        "INTEGER_1_512_", HFILL }},
16992
14
    { &hf_e2ap_associatedL2variables,
16993
14
      { "associatedL2variables", "e2ap.associatedL2variables",
16994
14
        FT_UINT32, BASE_DEC, NULL, 0,
16995
14
        "RANParameter_Testing", HFILL }},
16996
14
    { &hf_e2ap_onDemand,
16997
14
      { "onDemand", "e2ap.onDemand",
16998
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_onDemand_vals), 0,
16999
14
        NULL, HFILL }},
17000
14
    { &hf_e2ap_ric_Style_Type,
17001
14
      { "ric-Style-Type", "e2ap.ric_Style_Type",
17002
14
        FT_INT32, BASE_DEC, NULL, 0,
17003
14
        NULL, HFILL }},
17004
14
    { &hf_e2ap_ric_actionDefinition_formats,
17005
14
      { "ric-actionDefinition-formats", "e2ap.ric_actionDefinition_formats",
17006
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_actionDefinition_formats_vals), 0,
17007
14
        NULL, HFILL }},
17008
14
    { &hf_e2ap_actionDefinition_Format1,
17009
14
      { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
17010
14
        FT_NONE, BASE_NONE, NULL, 0,
17011
14
        "E2SM_RC_ActionDefinition_Format1", HFILL }},
17012
14
    { &hf_e2ap_actionDefinition_Format2,
17013
14
      { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
17014
14
        FT_NONE, BASE_NONE, NULL, 0,
17015
14
        "E2SM_RC_ActionDefinition_Format2", HFILL }},
17016
14
    { &hf_e2ap_actionDefinition_Format3,
17017
14
      { "actionDefinition-Format3", "e2ap.actionDefinition_Format3_element",
17018
14
        FT_NONE, BASE_NONE, NULL, 0,
17019
14
        "E2SM_RC_ActionDefinition_Format3", HFILL }},
17020
14
    { &hf_e2ap_actionDefinition_Format4,
17021
14
      { "actionDefinition-Format4", "e2ap.actionDefinition_Format4_element",
17022
14
        FT_NONE, BASE_NONE, NULL, 0,
17023
14
        "E2SM_RC_ActionDefinition_Format4", HFILL }},
17024
14
    { &hf_e2ap_ranP_ToBeReported_List,
17025
14
      { "ranP-ToBeReported-List", "e2ap.ranP_ToBeReported_List",
17026
14
        FT_UINT32, BASE_DEC, NULL, 0,
17027
14
        "SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item", HFILL }},
17028
14
    { &hf_e2ap_ranP_ToBeReported_List_item,
17029
14
      { "E2SM-RC-ActionDefinition-Format1-Item", "e2ap.E2SM_RC_ActionDefinition_Format1_Item_element",
17030
14
        FT_NONE, BASE_NONE, NULL, 0,
17031
14
        NULL, HFILL }},
17032
14
    { &hf_e2ap_ric_PolicyConditions_List,
17033
14
      { "ric-PolicyConditions-List", "e2ap.ric_PolicyConditions_List",
17034
14
        FT_UINT32, BASE_DEC, NULL, 0,
17035
14
        "SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item", HFILL }},
17036
14
    { &hf_e2ap_ric_PolicyConditions_List_item,
17037
14
      { "E2SM-RC-ActionDefinition-Format2-Item", "e2ap.E2SM_RC_ActionDefinition_Format2_Item_element",
17038
14
        FT_NONE, BASE_NONE, NULL, 0,
17039
14
        NULL, HFILL }},
17040
14
    { &hf_e2ap_ric_PolicyAction,
17041
14
      { "ric-PolicyAction", "e2ap.ric_PolicyAction_element",
17042
14
        FT_NONE, BASE_NONE, NULL, 0,
17043
14
        NULL, HFILL }},
17044
14
    { &hf_e2ap_ric_PolicyConditionDefinition,
17045
14
      { "ric-PolicyConditionDefinition", "e2ap.ric_PolicyConditionDefinition",
17046
14
        FT_UINT32, BASE_DEC, NULL, 0,
17047
14
        "RANParameter_Testing", HFILL }},
17048
14
    { &hf_e2ap_ric_InsertIndication_ID,
17049
14
      { "ric-InsertIndication-ID", "e2ap.ric_InsertIndication_ID",
17050
14
        FT_UINT32, BASE_DEC, NULL, 0,
17051
14
        NULL, HFILL }},
17052
14
    { &hf_e2ap_ranP_InsertIndication_List,
17053
14
      { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17054
14
        FT_UINT32, BASE_DEC, NULL, 0,
17055
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item", HFILL }},
17056
14
    { &hf_e2ap_ranP_InsertIndication_List_item,
17057
14
      { "E2SM-RC-ActionDefinition-Format3-Item", "e2ap.E2SM_RC_ActionDefinition_Format3_Item_element",
17058
14
        FT_NONE, BASE_NONE, NULL, 0,
17059
14
        NULL, HFILL }},
17060
14
    { &hf_e2ap_ric_InsertStyle_List,
17061
14
      { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17062
14
        FT_UINT32, BASE_DEC, NULL, 0,
17063
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item", HFILL }},
17064
14
    { &hf_e2ap_ric_InsertStyle_List_item,
17065
14
      { "E2SM-RC-ActionDefinition-Format4-Style-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_Style_Item_element",
17066
14
        FT_NONE, BASE_NONE, NULL, 0,
17067
14
        NULL, HFILL }},
17068
14
    { &hf_e2ap_requested_Insert_Style_Type,
17069
14
      { "requested-Insert-Style-Type", "e2ap.requested_Insert_Style_Type",
17070
14
        FT_INT32, BASE_DEC, NULL, 0,
17071
14
        "RIC_Style_Type", HFILL }},
17072
14
    { &hf_e2ap_ric_InsertIndication_List,
17073
14
      { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17074
14
        FT_UINT32, BASE_DEC, NULL, 0,
17075
14
        "SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item", HFILL }},
17076
14
    { &hf_e2ap_ric_InsertIndication_List_item,
17077
14
      { "E2SM-RC-ActionDefinition-Format4-Indication-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_Indication_Item_element",
17078
14
        FT_NONE, BASE_NONE, NULL, 0,
17079
14
        NULL, HFILL }},
17080
14
    { &hf_e2ap_ranP_InsertIndication_List_01,
17081
14
      { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17082
14
        FT_UINT32, BASE_DEC, NULL, 0,
17083
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item", HFILL }},
17084
14
    { &hf_e2ap_ranP_InsertIndication_List_item_01,
17085
14
      { "E2SM-RC-ActionDefinition-Format4-RANP-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_RANP_Item_element",
17086
14
        FT_NONE, BASE_NONE, NULL, 0,
17087
14
        NULL, HFILL }},
17088
14
    { &hf_e2ap_ric_indicationHeader_formats,
17089
14
      { "ric-indicationHeader-formats", "e2ap.ric_indicationHeader_formats",
17090
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_indicationHeader_formats_vals), 0,
17091
14
        NULL, HFILL }},
17092
14
    { &hf_e2ap_indicationHeader_Format1,
17093
14
      { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
17094
14
        FT_NONE, BASE_NONE, NULL, 0,
17095
14
        "E2SM_RC_IndicationHeader_Format1", HFILL }},
17096
14
    { &hf_e2ap_indicationHeader_Format2,
17097
14
      { "indicationHeader-Format2", "e2ap.indicationHeader_Format2_element",
17098
14
        FT_NONE, BASE_NONE, NULL, 0,
17099
14
        "E2SM_RC_IndicationHeader_Format2", HFILL }},
17100
14
    { &hf_e2ap_indicationHeader_Format3,
17101
14
      { "indicationHeader-Format3", "e2ap.indicationHeader_Format3_element",
17102
14
        FT_NONE, BASE_NONE, NULL, 0,
17103
14
        "E2SM_RC_IndicationHeader_Format3", HFILL }},
17104
14
    { &hf_e2ap_ric_InsertStyle_Type,
17105
14
      { "ric-InsertStyle-Type", "e2ap.ric_InsertStyle_Type",
17106
14
        FT_INT32, BASE_DEC, NULL, 0,
17107
14
        "RIC_Style_Type", HFILL }},
17108
14
    { &hf_e2ap_ric_indicationMessage_formats,
17109
14
      { "ric-indicationMessage-formats", "e2ap.ric_indicationMessage_formats",
17110
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_indicationMessage_formats_vals), 0,
17111
14
        NULL, HFILL }},
17112
14
    { &hf_e2ap_indicationMessage_Format1,
17113
14
      { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
17114
14
        FT_NONE, BASE_NONE, NULL, 0,
17115
14
        "E2SM_RC_IndicationMessage_Format1", HFILL }},
17116
14
    { &hf_e2ap_indicationMessage_Format2,
17117
14
      { "indicationMessage-Format2", "e2ap.indicationMessage_Format2_element",
17118
14
        FT_NONE, BASE_NONE, NULL, 0,
17119
14
        "E2SM_RC_IndicationMessage_Format2", HFILL }},
17120
14
    { &hf_e2ap_indicationMessage_Format3,
17121
14
      { "indicationMessage-Format3", "e2ap.indicationMessage_Format3_element",
17122
14
        FT_NONE, BASE_NONE, NULL, 0,
17123
14
        "E2SM_RC_IndicationMessage_Format3", HFILL }},
17124
14
    { &hf_e2ap_indicationMessage_Format4,
17125
14
      { "indicationMessage-Format4", "e2ap.indicationMessage_Format4_element",
17126
14
        FT_NONE, BASE_NONE, NULL, 0,
17127
14
        "E2SM_RC_IndicationMessage_Format4", HFILL }},
17128
14
    { &hf_e2ap_indicationMessage_Format5,
17129
14
      { "indicationMessage-Format5", "e2ap.indicationMessage_Format5_element",
17130
14
        FT_NONE, BASE_NONE, NULL, 0,
17131
14
        "E2SM_RC_IndicationMessage_Format5", HFILL }},
17132
14
    { &hf_e2ap_indicationMessage_Format6,
17133
14
      { "indicationMessage-Format6", "e2ap.indicationMessage_Format6_element",
17134
14
        FT_NONE, BASE_NONE, NULL, 0,
17135
14
        "E2SM_RC_IndicationMessage_Format6", HFILL }},
17136
14
    { &hf_e2ap_ranP_Reported_List,
17137
14
      { "ranP-Reported-List", "e2ap.ranP_Reported_List",
17138
14
        FT_UINT32, BASE_DEC, NULL, 0,
17139
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item", HFILL }},
17140
14
    { &hf_e2ap_ranP_Reported_List_item,
17141
14
      { "E2SM-RC-IndicationMessage-Format1-Item", "e2ap.E2SM_RC_IndicationMessage_Format1_Item_element",
17142
14
        FT_NONE, BASE_NONE, NULL, 0,
17143
14
        NULL, HFILL }},
17144
14
    { &hf_e2ap_ueParameter_List,
17145
14
      { "ueParameter-List", "e2ap.ueParameter_List",
17146
14
        FT_UINT32, BASE_DEC, NULL, 0,
17147
14
        "SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item", HFILL }},
17148
14
    { &hf_e2ap_ueParameter_List_item,
17149
14
      { "E2SM-RC-IndicationMessage-Format2-Item", "e2ap.E2SM_RC_IndicationMessage_Format2_Item_element",
17150
14
        FT_NONE, BASE_NONE, NULL, 0,
17151
14
        NULL, HFILL }},
17152
14
    { &hf_e2ap_ranP_List,
17153
14
      { "ranP-List", "e2ap.ranP_List",
17154
14
        FT_UINT32, BASE_DEC, NULL, 0,
17155
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item", HFILL }},
17156
14
    { &hf_e2ap_ranP_List_item,
17157
14
      { "E2SM-RC-IndicationMessage-Format2-RANParameter-Item", "e2ap.E2SM_RC_IndicationMessage_Format2_RANParameter_Item_element",
17158
14
        FT_NONE, BASE_NONE, NULL, 0,
17159
14
        NULL, HFILL }},
17160
14
    { &hf_e2ap_cellInfo_List_01,
17161
14
      { "cellInfo-List", "e2ap.cellInfo_List",
17162
14
        FT_UINT32, BASE_DEC, NULL, 0,
17163
14
        "SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item", HFILL }},
17164
14
    { &hf_e2ap_cellInfo_List_item_01,
17165
14
      { "E2SM-RC-IndicationMessage-Format3-Item", "e2ap.E2SM_RC_IndicationMessage_Format3_Item_element",
17166
14
        FT_NONE, BASE_NONE, NULL, 0,
17167
14
        NULL, HFILL }},
17168
14
    { &hf_e2ap_cellGlobal_ID,
17169
14
      { "cellGlobal-ID", "e2ap.cellGlobal_ID",
17170
14
        FT_UINT32, BASE_DEC, VALS(e2ap_CGI_vals), 0,
17171
14
        "CGI", HFILL }},
17172
14
    { &hf_e2ap_cellContextInfo,
17173
14
      { "cellContextInfo", "e2ap.cellContextInfo",
17174
14
        FT_BYTES, BASE_NONE, NULL, 0,
17175
14
        "OCTET_STRING", HFILL }},
17176
14
    { &hf_e2ap_cellDeleted,
17177
14
      { "cellDeleted", "e2ap.cellDeleted",
17178
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17179
14
        "BOOLEAN", HFILL }},
17180
14
    { &hf_e2ap_neighborRelation_Table,
17181
14
      { "neighborRelation-Table", "e2ap.neighborRelation_Table_element",
17182
14
        FT_NONE, BASE_NONE, NULL, 0,
17183
14
        "NeighborRelation_Info", HFILL }},
17184
14
    { &hf_e2ap_ueInfo_List_01,
17185
14
      { "ueInfo-List", "e2ap.ueInfo_List",
17186
14
        FT_UINT32, BASE_DEC, NULL, 0,
17187
14
        "SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE", HFILL }},
17188
14
    { &hf_e2ap_ueInfo_List_item_01,
17189
14
      { "E2SM-RC-IndicationMessage-Format4-ItemUE", "e2ap.E2SM_RC_IndicationMessage_Format4_ItemUE_element",
17190
14
        FT_NONE, BASE_NONE, NULL, 0,
17191
14
        NULL, HFILL }},
17192
14
    { &hf_e2ap_cellInfo_List_02,
17193
14
      { "cellInfo-List", "e2ap.cellInfo_List",
17194
14
        FT_UINT32, BASE_DEC, NULL, 0,
17195
14
        "SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell", HFILL }},
17196
14
    { &hf_e2ap_cellInfo_List_item_02,
17197
14
      { "E2SM-RC-IndicationMessage-Format4-ItemCell", "e2ap.E2SM_RC_IndicationMessage_Format4_ItemCell_element",
17198
14
        FT_NONE, BASE_NONE, NULL, 0,
17199
14
        NULL, HFILL }},
17200
14
    { &hf_e2ap_ueContextInfo,
17201
14
      { "ueContextInfo", "e2ap.ueContextInfo",
17202
14
        FT_BYTES, BASE_NONE, NULL, 0,
17203
14
        "OCTET_STRING", HFILL }},
17204
14
    { &hf_e2ap_ranP_Requested_List,
17205
14
      { "ranP-Requested-List", "e2ap.ranP_Requested_List",
17206
14
        FT_UINT32, BASE_DEC, NULL, 0,
17207
14
        "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item", HFILL }},
17208
14
    { &hf_e2ap_ranP_Requested_List_item,
17209
14
      { "E2SM-RC-IndicationMessage-Format5-Item", "e2ap.E2SM_RC_IndicationMessage_Format5_Item_element",
17210
14
        FT_NONE, BASE_NONE, NULL, 0,
17211
14
        NULL, HFILL }},
17212
14
    { &hf_e2ap_ric_InsertStyle_List_01,
17213
14
      { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17214
14
        FT_UINT32, BASE_DEC, NULL, 0,
17215
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item", HFILL }},
17216
14
    { &hf_e2ap_ric_InsertStyle_List_item_01,
17217
14
      { "E2SM-RC-IndicationMessage-Format6-Style-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_Style_Item_element",
17218
14
        FT_NONE, BASE_NONE, NULL, 0,
17219
14
        NULL, HFILL }},
17220
14
    { &hf_e2ap_indicated_Insert_Style_Type,
17221
14
      { "indicated-Insert-Style-Type", "e2ap.indicated_Insert_Style_Type",
17222
14
        FT_INT32, BASE_DEC, NULL, 0,
17223
14
        "RIC_Style_Type", HFILL }},
17224
14
    { &hf_e2ap_ric_InsertIndication_List_01,
17225
14
      { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17226
14
        FT_UINT32, BASE_DEC, NULL, 0,
17227
14
        "SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item", HFILL }},
17228
14
    { &hf_e2ap_ric_InsertIndication_List_item_01,
17229
14
      { "E2SM-RC-IndicationMessage-Format6-Indication-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_Indication_Item_element",
17230
14
        FT_NONE, BASE_NONE, NULL, 0,
17231
14
        NULL, HFILL }},
17232
14
    { &hf_e2ap_ranP_InsertIndication_List_02,
17233
14
      { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17234
14
        FT_UINT32, BASE_DEC, NULL, 0,
17235
14
        "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item", HFILL }},
17236
14
    { &hf_e2ap_ranP_InsertIndication_List_item_02,
17237
14
      { "E2SM-RC-IndicationMessage-Format6-RANP-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_RANP_Item_element",
17238
14
        FT_NONE, BASE_NONE, NULL, 0,
17239
14
        NULL, HFILL }},
17240
14
    { &hf_e2ap_ric_callProcessID_formats,
17241
14
      { "ric-callProcessID-formats", "e2ap.ric_callProcessID_formats",
17242
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_callProcessID_formats_vals), 0,
17243
14
        NULL, HFILL }},
17244
14
    { &hf_e2ap_callProcessID_Format1,
17245
14
      { "callProcessID-Format1", "e2ap.callProcessID_Format1_element",
17246
14
        FT_NONE, BASE_NONE, NULL, 0,
17247
14
        "E2SM_RC_CallProcessID_Format1", HFILL }},
17248
14
    { &hf_e2ap_ric_callProcess_ID,
17249
14
      { "ric-callProcess-ID", "e2ap.ric_callProcess_ID",
17250
14
        FT_UINT32, BASE_DEC, NULL, 0,
17251
14
        "RAN_CallProcess_ID", HFILL }},
17252
14
    { &hf_e2ap_ric_controlHeader_formats,
17253
14
      { "ric-controlHeader-formats", "e2ap.ric_controlHeader_formats",
17254
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlHeader_formats_vals), 0,
17255
14
        NULL, HFILL }},
17256
14
    { &hf_e2ap_controlHeader_Format1,
17257
14
      { "controlHeader-Format1", "e2ap.controlHeader_Format1_element",
17258
14
        FT_NONE, BASE_NONE, NULL, 0,
17259
14
        "E2SM_RC_ControlHeader_Format1", HFILL }},
17260
14
    { &hf_e2ap_controlHeader_Format2,
17261
14
      { "controlHeader-Format2", "e2ap.controlHeader_Format2_element",
17262
14
        FT_NONE, BASE_NONE, NULL, 0,
17263
14
        "E2SM_RC_ControlHeader_Format2", HFILL }},
17264
14
    { &hf_e2ap_ric_ControlAction_ID,
17265
14
      { "ric-ControlAction-ID", "e2ap.ric_ControlAction_ID",
17266
14
        FT_UINT32, BASE_DEC, NULL, 0,
17267
14
        NULL, HFILL }},
17268
14
    { &hf_e2ap_ric_ControlDecision,
17269
14
      { "ric-ControlDecision", "e2ap.ric_ControlDecision",
17270
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_ControlDecision_vals), 0,
17271
14
        NULL, HFILL }},
17272
14
    { &hf_e2ap_ric_ControlDecision_01,
17273
14
      { "ric-ControlDecision", "e2ap.ric_ControlDecision",
17274
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_ControlDecision_01_vals), 0,
17275
14
        "T_ric_ControlDecision_01", HFILL }},
17276
14
    { &hf_e2ap_ric_controlMessage_formats,
17277
14
      { "ric-controlMessage-formats", "e2ap.ric_controlMessage_formats",
17278
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlMessage_formats_vals), 0,
17279
14
        NULL, HFILL }},
17280
14
    { &hf_e2ap_controlMessage_Format1,
17281
14
      { "controlMessage-Format1", "e2ap.controlMessage_Format1_element",
17282
14
        FT_NONE, BASE_NONE, NULL, 0,
17283
14
        "E2SM_RC_ControlMessage_Format1", HFILL }},
17284
14
    { &hf_e2ap_controlMessage_Format2,
17285
14
      { "controlMessage-Format2", "e2ap.controlMessage_Format2_element",
17286
14
        FT_NONE, BASE_NONE, NULL, 0,
17287
14
        "E2SM_RC_ControlMessage_Format2", HFILL }},
17288
14
    { &hf_e2ap_ranP_List_01,
17289
14
      { "ranP-List", "e2ap.ranP_List",
17290
14
        FT_UINT32, BASE_DEC, NULL, 0,
17291
14
        "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item", HFILL }},
17292
14
    { &hf_e2ap_ranP_List_item_01,
17293
14
      { "E2SM-RC-ControlMessage-Format1-Item", "e2ap.E2SM_RC_ControlMessage_Format1_Item_element",
17294
14
        FT_NONE, BASE_NONE, NULL, 0,
17295
14
        NULL, HFILL }},
17296
14
    { &hf_e2ap_ric_ControlStyle_List,
17297
14
      { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17298
14
        FT_UINT32, BASE_DEC, NULL, 0,
17299
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item", HFILL }},
17300
14
    { &hf_e2ap_ric_ControlStyle_List_item,
17301
14
      { "E2SM-RC-ControlMessage-Format2-Style-Item", "e2ap.E2SM_RC_ControlMessage_Format2_Style_Item_element",
17302
14
        FT_NONE, BASE_NONE, NULL, 0,
17303
14
        NULL, HFILL }},
17304
14
    { &hf_e2ap_indicated_Control_Style_Type,
17305
14
      { "indicated-Control-Style-Type", "e2ap.indicated_Control_Style_Type",
17306
14
        FT_INT32, BASE_DEC, NULL, 0,
17307
14
        "RIC_Style_Type", HFILL }},
17308
14
    { &hf_e2ap_ric_ControlAction_List,
17309
14
      { "ric-ControlAction-List", "e2ap.ric_ControlAction_List",
17310
14
        FT_UINT32, BASE_DEC, NULL, 0,
17311
14
        "SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item", HFILL }},
17312
14
    { &hf_e2ap_ric_ControlAction_List_item,
17313
14
      { "E2SM-RC-ControlMessage-Format2-ControlAction-Item", "e2ap.E2SM_RC_ControlMessage_Format2_ControlAction_Item_element",
17314
14
        FT_NONE, BASE_NONE, NULL, 0,
17315
14
        NULL, HFILL }},
17316
14
    { &hf_e2ap_ranP_List_02,
17317
14
      { "ranP-List", "e2ap.ranP_List_element",
17318
14
        FT_NONE, BASE_NONE, NULL, 0,
17319
14
        "E2SM_RC_ControlMessage_Format1", HFILL }},
17320
14
    { &hf_e2ap_ric_controlOutcome_formats,
17321
14
      { "ric-controlOutcome-formats", "e2ap.ric_controlOutcome_formats",
17322
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlOutcome_formats_vals), 0,
17323
14
        NULL, HFILL }},
17324
14
    { &hf_e2ap_controlOutcome_Format1,
17325
14
      { "controlOutcome-Format1", "e2ap.controlOutcome_Format1_element",
17326
14
        FT_NONE, BASE_NONE, NULL, 0,
17327
14
        "E2SM_RC_ControlOutcome_Format1", HFILL }},
17328
14
    { &hf_e2ap_controlOutcome_Format2,
17329
14
      { "controlOutcome-Format2", "e2ap.controlOutcome_Format2_element",
17330
14
        FT_NONE, BASE_NONE, NULL, 0,
17331
14
        "E2SM_RC_ControlOutcome_Format2", HFILL }},
17332
14
    { &hf_e2ap_controlOutcome_Format3,
17333
14
      { "controlOutcome-Format3", "e2ap.controlOutcome_Format3_element",
17334
14
        FT_NONE, BASE_NONE, NULL, 0,
17335
14
        "E2SM_RC_ControlOutcome_Format3", HFILL }},
17336
14
    { &hf_e2ap_ranP_List_03,
17337
14
      { "ranP-List", "e2ap.ranP_List",
17338
14
        FT_UINT32, BASE_DEC, NULL, 0,
17339
14
        "SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item", HFILL }},
17340
14
    { &hf_e2ap_ranP_List_item_02,
17341
14
      { "E2SM-RC-ControlOutcome-Format1-Item", "e2ap.E2SM_RC_ControlOutcome_Format1_Item_element",
17342
14
        FT_NONE, BASE_NONE, NULL, 0,
17343
14
        NULL, HFILL }},
17344
14
    { &hf_e2ap_ric_ControlStyle_List_01,
17345
14
      { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17346
14
        FT_UINT32, BASE_DEC, NULL, 0,
17347
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item", HFILL }},
17348
14
    { &hf_e2ap_ric_ControlStyle_List_item_01,
17349
14
      { "E2SM-RC-ControlOutcome-Format2-Style-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_Style_Item_element",
17350
14
        FT_NONE, BASE_NONE, NULL, 0,
17351
14
        NULL, HFILL }},
17352
14
    { &hf_e2ap_ric_ControlOutcome_List,
17353
14
      { "ric-ControlOutcome-List", "e2ap.ric_ControlOutcome_List",
17354
14
        FT_UINT32, BASE_DEC, NULL, 0,
17355
14
        "SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item", HFILL }},
17356
14
    { &hf_e2ap_ric_ControlOutcome_List_item,
17357
14
      { "E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_element",
17358
14
        FT_NONE, BASE_NONE, NULL, 0,
17359
14
        NULL, HFILL }},
17360
14
    { &hf_e2ap_ranP_List_04,
17361
14
      { "ranP-List", "e2ap.ranP_List",
17362
14
        FT_UINT32, BASE_DEC, NULL, 0,
17363
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item", HFILL }},
17364
14
    { &hf_e2ap_ranP_List_item_03,
17365
14
      { "E2SM-RC-ControlOutcome-Format2-RANP-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_RANP_Item_element",
17366
14
        FT_NONE, BASE_NONE, NULL, 0,
17367
14
        NULL, HFILL }},
17368
14
    { &hf_e2ap_ranP_List_05,
17369
14
      { "ranP-List", "e2ap.ranP_List",
17370
14
        FT_UINT32, BASE_DEC, NULL, 0,
17371
14
        "SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item", HFILL }},
17372
14
    { &hf_e2ap_ranP_List_item_04,
17373
14
      { "E2SM-RC-ControlOutcome-Format3-Item", "e2ap.E2SM_RC_ControlOutcome_Format3_Item_element",
17374
14
        FT_NONE, BASE_NONE, NULL, 0,
17375
14
        NULL, HFILL }},
17376
14
    { &hf_e2ap_ranFunction_Name,
17377
14
      { "ranFunction-Name", "e2ap.ranFunction_Name_element",
17378
14
        FT_NONE, BASE_NONE, NULL, 0,
17379
14
        NULL, HFILL }},
17380
14
    { &hf_e2ap_ranFunctionDefinition_EventTrigger,
17381
14
      { "ranFunctionDefinition-EventTrigger", "e2ap.ranFunctionDefinition_EventTrigger_element",
17382
14
        FT_NONE, BASE_NONE, NULL, 0,
17383
14
        NULL, HFILL }},
17384
14
    { &hf_e2ap_ranFunctionDefinition_Report,
17385
14
      { "ranFunctionDefinition-Report", "e2ap.ranFunctionDefinition_Report_element",
17386
14
        FT_NONE, BASE_NONE, NULL, 0,
17387
14
        NULL, HFILL }},
17388
14
    { &hf_e2ap_ranFunctionDefinition_Insert,
17389
14
      { "ranFunctionDefinition-Insert", "e2ap.ranFunctionDefinition_Insert_element",
17390
14
        FT_NONE, BASE_NONE, NULL, 0,
17391
14
        NULL, HFILL }},
17392
14
    { &hf_e2ap_ranFunctionDefinition_Control,
17393
14
      { "ranFunctionDefinition-Control", "e2ap.ranFunctionDefinition_Control_element",
17394
14
        FT_NONE, BASE_NONE, NULL, 0,
17395
14
        NULL, HFILL }},
17396
14
    { &hf_e2ap_ranFunctionDefinition_Policy,
17397
14
      { "ranFunctionDefinition-Policy", "e2ap.ranFunctionDefinition_Policy_element",
17398
14
        FT_NONE, BASE_NONE, NULL, 0,
17399
14
        NULL, HFILL }},
17400
14
    { &hf_e2ap_ric_EventTriggerStyle_List,
17401
14
      { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
17402
14
        FT_UINT32, BASE_DEC, NULL, 0,
17403
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item", HFILL }},
17404
14
    { &hf_e2ap_ric_EventTriggerStyle_List_item,
17405
14
      { "RANFunctionDefinition-EventTrigger-Style-Item", "e2ap.RANFunctionDefinition_EventTrigger_Style_Item_element",
17406
14
        FT_NONE, BASE_NONE, NULL, 0,
17407
14
        NULL, HFILL }},
17408
14
    { &hf_e2ap_ran_L2Parameters_List,
17409
14
      { "ran-L2Parameters-List", "e2ap.ran_L2Parameters_List",
17410
14
        FT_UINT32, BASE_DEC, NULL, 0,
17411
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item", HFILL }},
17412
14
    { &hf_e2ap_ran_L2Parameters_List_item,
17413
14
      { "L2Parameters-RANParameter-Item", "e2ap.L2Parameters_RANParameter_Item_element",
17414
14
        FT_NONE, BASE_NONE, NULL, 0,
17415
14
        NULL, HFILL }},
17416
14
    { &hf_e2ap_ran_CallProcessTypes_List,
17417
14
      { "ran-CallProcessTypes-List", "e2ap.ran_CallProcessTypes_List",
17418
14
        FT_UINT32, BASE_DEC, NULL, 0,
17419
14
        "SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item", HFILL }},
17420
14
    { &hf_e2ap_ran_CallProcessTypes_List_item,
17421
14
      { "RANFunctionDefinition-EventTrigger-CallProcess-Item", "e2ap.RANFunctionDefinition_EventTrigger_CallProcess_Item_element",
17422
14
        FT_NONE, BASE_NONE, NULL, 0,
17423
14
        NULL, HFILL }},
17424
14
    { &hf_e2ap_ran_UEIdentificationParameters_List,
17425
14
      { "ran-UEIdentificationParameters-List", "e2ap.ran_UEIdentificationParameters_List",
17426
14
        FT_UINT32, BASE_DEC, NULL, 0,
17427
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item", HFILL }},
17428
14
    { &hf_e2ap_ran_UEIdentificationParameters_List_item,
17429
14
      { "UEIdentification-RANParameter-Item", "e2ap.UEIdentification_RANParameter_Item_element",
17430
14
        FT_NONE, BASE_NONE, NULL, 0,
17431
14
        NULL, HFILL }},
17432
14
    { &hf_e2ap_ran_CellIdentificationParameters_List,
17433
14
      { "ran-CellIdentificationParameters-List", "e2ap.ran_CellIdentificationParameters_List",
17434
14
        FT_UINT32, BASE_DEC, NULL, 0,
17435
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item", HFILL }},
17436
14
    { &hf_e2ap_ran_CellIdentificationParameters_List_item,
17437
14
      { "CellIdentification-RANParameter-Item", "e2ap.CellIdentification_RANParameter_Item_element",
17438
14
        FT_NONE, BASE_NONE, NULL, 0,
17439
14
        NULL, HFILL }},
17440
14
    { &hf_e2ap_ric_EventTriggerStyle_Type,
17441
14
      { "ric-EventTriggerStyle-Type", "e2ap.ric_EventTriggerStyle_Type",
17442
14
        FT_INT32, BASE_DEC, NULL, 0,
17443
14
        "RIC_Style_Type", HFILL }},
17444
14
    { &hf_e2ap_ric_EventTriggerStyle_Name,
17445
14
      { "ric-EventTriggerStyle-Name", "e2ap.ric_EventTriggerStyle_Name",
17446
14
        FT_STRING, BASE_NONE, NULL, 0,
17447
14
        "RIC_Style_Name", HFILL }},
17448
14
    { &hf_e2ap_ric_EventTriggerFormat_Type,
17449
14
      { "ric-EventTriggerFormat-Type", "e2ap.ric_EventTriggerFormat_Type",
17450
14
        FT_INT32, BASE_DEC, NULL, 0,
17451
14
        "RIC_Format_Type", HFILL }},
17452
14
    { &hf_e2ap_callProcessType_ID,
17453
14
      { "callProcessType-ID", "e2ap.callProcessType_ID",
17454
14
        FT_UINT32, BASE_DEC, NULL, 0,
17455
14
        "RIC_CallProcessType_ID", HFILL }},
17456
14
    { &hf_e2ap_callProcessType_Name,
17457
14
      { "callProcessType-Name", "e2ap.callProcessType_Name",
17458
14
        FT_STRING, BASE_NONE, NULL, 0,
17459
14
        "RIC_CallProcessType_Name", HFILL }},
17460
14
    { &hf_e2ap_callProcessBreakpoints_List,
17461
14
      { "callProcessBreakpoints-List", "e2ap.callProcessBreakpoints_List",
17462
14
        FT_UINT32, BASE_DEC, NULL, 0,
17463
14
        "SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item", HFILL }},
17464
14
    { &hf_e2ap_callProcessBreakpoints_List_item,
17465
14
      { "RANFunctionDefinition-EventTrigger-Breakpoint-Item", "e2ap.RANFunctionDefinition_EventTrigger_Breakpoint_Item_element",
17466
14
        FT_NONE, BASE_NONE, NULL, 0,
17467
14
        NULL, HFILL }},
17468
14
    { &hf_e2ap_callProcessBreakpoint_ID,
17469
14
      { "callProcessBreakpoint-ID", "e2ap.callProcessBreakpoint_ID",
17470
14
        FT_UINT32, BASE_DEC, NULL, 0,
17471
14
        "RIC_CallProcessBreakpoint_ID", HFILL }},
17472
14
    { &hf_e2ap_callProcessBreakpoint_Name,
17473
14
      { "callProcessBreakpoint-Name", "e2ap.callProcessBreakpoint_Name",
17474
14
        FT_STRING, BASE_NONE, NULL, 0,
17475
14
        "RIC_CallProcessBreakpoint_Name", HFILL }},
17476
14
    { &hf_e2ap_ran_CallProcessBreakpointParameters_List,
17477
14
      { "ran-CallProcessBreakpointParameters-List", "e2ap.ran_CallProcessBreakpointParameters_List",
17478
14
        FT_UINT32, BASE_DEC, NULL, 0,
17479
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item", HFILL }},
17480
14
    { &hf_e2ap_ran_CallProcessBreakpointParameters_List_item,
17481
14
      { "CallProcessBreakpoint-RANParameter-Item", "e2ap.CallProcessBreakpoint_RANParameter_Item_element",
17482
14
        FT_NONE, BASE_NONE, NULL, 0,
17483
14
        NULL, HFILL }},
17484
14
    { &hf_e2ap_ric_ReportStyle_List,
17485
14
      { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
17486
14
        FT_UINT32, BASE_DEC, NULL, 0,
17487
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item", HFILL }},
17488
14
    { &hf_e2ap_ric_ReportStyle_List_item,
17489
14
      { "RANFunctionDefinition-Report-Item", "e2ap.RANFunctionDefinition_Report_Item_element",
17490
14
        FT_NONE, BASE_NONE, NULL, 0,
17491
14
        NULL, HFILL }},
17492
14
    { &hf_e2ap_ric_ReportStyle_Type,
17493
14
      { "ric-ReportStyle-Type", "e2ap.ric_ReportStyle_Type",
17494
14
        FT_INT32, BASE_DEC, NULL, 0,
17495
14
        "RIC_Style_Type", HFILL }},
17496
14
    { &hf_e2ap_ric_ReportStyle_Name,
17497
14
      { "ric-ReportStyle-Name", "e2ap.ric_ReportStyle_Name",
17498
14
        FT_STRING, BASE_NONE, NULL, 0,
17499
14
        "RIC_Style_Name", HFILL }},
17500
14
    { &hf_e2ap_ric_SupportedEventTriggerStyle_Type,
17501
14
      { "ric-SupportedEventTriggerStyle-Type", "e2ap.ric_SupportedEventTriggerStyle_Type",
17502
14
        FT_INT32, BASE_DEC, NULL, 0,
17503
14
        "RIC_Style_Type", HFILL }},
17504
14
    { &hf_e2ap_ric_ReportActionFormat_Type,
17505
14
      { "ric-ReportActionFormat-Type", "e2ap.ric_ReportActionFormat_Type",
17506
14
        FT_INT32, BASE_DEC, NULL, 0,
17507
14
        "RIC_Format_Type", HFILL }},
17508
14
    { &hf_e2ap_ric_IndicationHeaderFormat_Type,
17509
14
      { "ric-IndicationHeaderFormat-Type", "e2ap.ric_IndicationHeaderFormat_Type",
17510
14
        FT_INT32, BASE_DEC, NULL, 0,
17511
14
        "RIC_Format_Type", HFILL }},
17512
14
    { &hf_e2ap_ric_IndicationMessageFormat_Type,
17513
14
      { "ric-IndicationMessageFormat-Type", "e2ap.ric_IndicationMessageFormat_Type",
17514
14
        FT_INT32, BASE_DEC, NULL, 0,
17515
14
        "RIC_Format_Type", HFILL }},
17516
14
    { &hf_e2ap_ran_ReportParameters_List,
17517
14
      { "ran-ReportParameters-List", "e2ap.ran_ReportParameters_List",
17518
14
        FT_UINT32, BASE_DEC, NULL, 0,
17519
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item", HFILL }},
17520
14
    { &hf_e2ap_ran_ReportParameters_List_item,
17521
14
      { "Report-RANParameter-Item", "e2ap.Report_RANParameter_Item_element",
17522
14
        FT_NONE, BASE_NONE, NULL, 0,
17523
14
        NULL, HFILL }},
17524
14
    { &hf_e2ap_ric_InsertStyle_List_02,
17525
14
      { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17526
14
        FT_UINT32, BASE_DEC, NULL, 0,
17527
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item", HFILL }},
17528
14
    { &hf_e2ap_ric_InsertStyle_List_item_02,
17529
14
      { "RANFunctionDefinition-Insert-Item", "e2ap.RANFunctionDefinition_Insert_Item_element",
17530
14
        FT_NONE, BASE_NONE, NULL, 0,
17531
14
        NULL, HFILL }},
17532
14
    { &hf_e2ap_ric_InsertStyle_Name,
17533
14
      { "ric-InsertStyle-Name", "e2ap.ric_InsertStyle_Name",
17534
14
        FT_STRING, BASE_NONE, NULL, 0,
17535
14
        "RIC_Style_Name", HFILL }},
17536
14
    { &hf_e2ap_ric_ActionDefinitionFormat_Type,
17537
14
      { "ric-ActionDefinitionFormat-Type", "e2ap.ric_ActionDefinitionFormat_Type",
17538
14
        FT_INT32, BASE_DEC, NULL, 0,
17539
14
        "RIC_Format_Type", HFILL }},
17540
14
    { &hf_e2ap_ric_InsertIndication_List_02,
17541
14
      { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17542
14
        FT_UINT32, BASE_DEC, NULL, 0,
17543
14
        "SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item", HFILL }},
17544
14
    { &hf_e2ap_ric_InsertIndication_List_item_02,
17545
14
      { "RANFunctionDefinition-Insert-Indication-Item", "e2ap.RANFunctionDefinition_Insert_Indication_Item_element",
17546
14
        FT_NONE, BASE_NONE, NULL, 0,
17547
14
        NULL, HFILL }},
17548
14
    { &hf_e2ap_ric_CallProcessIDFormat_Type,
17549
14
      { "ric-CallProcessIDFormat-Type", "e2ap.ric_CallProcessIDFormat_Type",
17550
14
        FT_INT32, BASE_DEC, NULL, 0,
17551
14
        "RIC_Format_Type", HFILL }},
17552
14
    { &hf_e2ap_ric_InsertIndication_Name,
17553
14
      { "ric-InsertIndication-Name", "e2ap.ric_InsertIndication_Name",
17554
14
        FT_STRING, BASE_NONE, NULL, 0,
17555
14
        NULL, HFILL }},
17556
14
    { &hf_e2ap_ran_InsertIndicationParameters_List,
17557
14
      { "ran-InsertIndicationParameters-List", "e2ap.ran_InsertIndicationParameters_List",
17558
14
        FT_UINT32, BASE_DEC, NULL, 0,
17559
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item", HFILL }},
17560
14
    { &hf_e2ap_ran_InsertIndicationParameters_List_item,
17561
14
      { "InsertIndication-RANParameter-Item", "e2ap.InsertIndication_RANParameter_Item_element",
17562
14
        FT_NONE, BASE_NONE, NULL, 0,
17563
14
        NULL, HFILL }},
17564
14
    { &hf_e2ap_ric_ControlStyle_List_02,
17565
14
      { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17566
14
        FT_UINT32, BASE_DEC, NULL, 0,
17567
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item", HFILL }},
17568
14
    { &hf_e2ap_ric_ControlStyle_List_item_02,
17569
14
      { "RANFunctionDefinition-Control-Item", "e2ap.RANFunctionDefinition_Control_Item_element",
17570
14
        FT_NONE, BASE_NONE, NULL, 0,
17571
14
        NULL, HFILL }},
17572
14
    { &hf_e2ap_ric_ControlStyle_Type,
17573
14
      { "ric-ControlStyle-Type", "e2ap.ric_ControlStyle_Type",
17574
14
        FT_INT32, BASE_DEC, NULL, 0,
17575
14
        "RIC_Style_Type", HFILL }},
17576
14
    { &hf_e2ap_ric_ControlStyle_Name,
17577
14
      { "ric-ControlStyle-Name", "e2ap.ric_ControlStyle_Name",
17578
14
        FT_STRING, BASE_NONE, NULL, 0,
17579
14
        "RIC_Style_Name", HFILL }},
17580
14
    { &hf_e2ap_ric_ControlAction_List_01,
17581
14
      { "ric-ControlAction-List", "e2ap.ric_ControlAction_List",
17582
14
        FT_UINT32, BASE_DEC, NULL, 0,
17583
14
        "SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item", HFILL }},
17584
14
    { &hf_e2ap_ric_ControlAction_List_item_01,
17585
14
      { "RANFunctionDefinition-Control-Action-Item", "e2ap.RANFunctionDefinition_Control_Action_Item_element",
17586
14
        FT_NONE, BASE_NONE, NULL, 0,
17587
14
        NULL, HFILL }},
17588
14
    { &hf_e2ap_ric_ControlHeaderFormat_Type,
17589
14
      { "ric-ControlHeaderFormat-Type", "e2ap.ric_ControlHeaderFormat_Type",
17590
14
        FT_INT32, BASE_DEC, NULL, 0,
17591
14
        "RIC_Format_Type", HFILL }},
17592
14
    { &hf_e2ap_ric_ControlMessageFormat_Type,
17593
14
      { "ric-ControlMessageFormat-Type", "e2ap.ric_ControlMessageFormat_Type",
17594
14
        FT_INT32, BASE_DEC, NULL, 0,
17595
14
        "RIC_Format_Type", HFILL }},
17596
14
    { &hf_e2ap_ric_ControlOutcomeFormat_Type,
17597
14
      { "ric-ControlOutcomeFormat-Type", "e2ap.ric_ControlOutcomeFormat_Type",
17598
14
        FT_INT32, BASE_DEC, NULL, 0,
17599
14
        "RIC_Format_Type", HFILL }},
17600
14
    { &hf_e2ap_ran_ControlOutcomeParameters_List,
17601
14
      { "ran-ControlOutcomeParameters-List", "e2ap.ran_ControlOutcomeParameters_List",
17602
14
        FT_UINT32, BASE_DEC, NULL, 0,
17603
14
        "SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item", HFILL }},
17604
14
    { &hf_e2ap_ran_ControlOutcomeParameters_List_item,
17605
14
      { "ControlOutcome-RANParameter-Item", "e2ap.ControlOutcome_RANParameter_Item_element",
17606
14
        FT_NONE, BASE_NONE, NULL, 0,
17607
14
        NULL, HFILL }},
17608
14
    { &hf_e2ap_ric_ControlAction_Name,
17609
14
      { "ric-ControlAction-Name", "e2ap.ric_ControlAction_Name",
17610
14
        FT_STRING, BASE_NONE, NULL, 0,
17611
14
        NULL, HFILL }},
17612
14
    { &hf_e2ap_ran_ControlActionParameters_List,
17613
14
      { "ran-ControlActionParameters-List", "e2ap.ran_ControlActionParameters_List",
17614
14
        FT_UINT32, BASE_DEC, NULL, 0,
17615
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item", HFILL }},
17616
14
    { &hf_e2ap_ran_ControlActionParameters_List_item,
17617
14
      { "ControlAction-RANParameter-Item", "e2ap.ControlAction_RANParameter_Item_element",
17618
14
        FT_NONE, BASE_NONE, NULL, 0,
17619
14
        NULL, HFILL }},
17620
14
    { &hf_e2ap_ric_PolicyStyle_List,
17621
14
      { "ric-PolicyStyle-List", "e2ap.ric_PolicyStyle_List",
17622
14
        FT_UINT32, BASE_DEC, NULL, 0,
17623
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item", HFILL }},
17624
14
    { &hf_e2ap_ric_PolicyStyle_List_item,
17625
14
      { "RANFunctionDefinition-Policy-Item", "e2ap.RANFunctionDefinition_Policy_Item_element",
17626
14
        FT_NONE, BASE_NONE, NULL, 0,
17627
14
        NULL, HFILL }},
17628
14
    { &hf_e2ap_ric_PolicyStyle_Type,
17629
14
      { "ric-PolicyStyle-Type", "e2ap.ric_PolicyStyle_Type",
17630
14
        FT_INT32, BASE_DEC, NULL, 0,
17631
14
        "RIC_Style_Type", HFILL }},
17632
14
    { &hf_e2ap_ric_PolicyStyle_Name,
17633
14
      { "ric-PolicyStyle-Name", "e2ap.ric_PolicyStyle_Name",
17634
14
        FT_STRING, BASE_NONE, NULL, 0,
17635
14
        "RIC_Style_Name", HFILL }},
17636
14
    { &hf_e2ap_ric_PolicyAction_List,
17637
14
      { "ric-PolicyAction-List", "e2ap.ric_PolicyAction_List",
17638
14
        FT_UINT32, BASE_DEC, NULL, 0,
17639
14
        "SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item", HFILL }},
17640
14
    { &hf_e2ap_ric_PolicyAction_List_item,
17641
14
      { "RANFunctionDefinition-Policy-Action-Item", "e2ap.RANFunctionDefinition_Policy_Action_Item_element",
17642
14
        FT_NONE, BASE_NONE, NULL, 0,
17643
14
        NULL, HFILL }},
17644
14
    { &hf_e2ap_ric_PolicyAction_Name,
17645
14
      { "ric-PolicyAction-Name", "e2ap.ric_PolicyAction_Name",
17646
14
        FT_STRING, BASE_NONE, NULL, 0,
17647
14
        "RIC_ControlAction_Name", HFILL }},
17648
14
    { &hf_e2ap_ran_PolicyActionParameters_List,
17649
14
      { "ran-PolicyActionParameters-List", "e2ap.ran_PolicyActionParameters_List",
17650
14
        FT_UINT32, BASE_DEC, NULL, 0,
17651
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item", HFILL }},
17652
14
    { &hf_e2ap_ran_PolicyActionParameters_List_item,
17653
14
      { "PolicyAction-RANParameter-Item", "e2ap.PolicyAction_RANParameter_Item_element",
17654
14
        FT_NONE, BASE_NONE, NULL, 0,
17655
14
        NULL, HFILL }},
17656
14
    { &hf_e2ap_ran_PolicyConditionParameters_List,
17657
14
      { "ran-PolicyConditionParameters-List", "e2ap.ran_PolicyConditionParameters_List",
17658
14
        FT_UINT32, BASE_DEC, NULL, 0,
17659
14
        "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item", HFILL }},
17660
14
    { &hf_e2ap_ran_PolicyConditionParameters_List_item,
17661
14
      { "PolicyCondition-RANParameter-Item", "e2ap.PolicyCondition_RANParameter_Item_element",
17662
14
        FT_NONE, BASE_NONE, NULL, 0,
17663
14
        NULL, HFILL }},
17664
14
    { &hf_e2ap_measName,
17665
14
      { "measName", "e2ap.measName",
17666
14
        FT_STRING, BASE_NONE, NULL, 0,
17667
14
        "MeasurementTypeName", HFILL }},
17668
14
    { &hf_e2ap_measID,
17669
14
      { "measID", "e2ap.measID",
17670
14
        FT_UINT32, BASE_DEC, NULL, 0,
17671
14
        "MeasurementTypeID", HFILL }},
17672
14
    { &hf_e2ap_noLabel,
17673
14
      { "noLabel", "e2ap.noLabel",
17674
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_noLabel_vals), 0,
17675
14
        NULL, HFILL }},
17676
14
    { &hf_e2ap_plmnID,
17677
14
      { "plmnID", "e2ap.plmnID",
17678
14
        FT_BYTES, BASE_NONE, NULL, 0,
17679
14
        "PLMNIdentity", HFILL }},
17680
14
    { &hf_e2ap_sliceID,
17681
14
      { "sliceID", "e2ap.sliceID_element",
17682
14
        FT_NONE, BASE_NONE, NULL, 0,
17683
14
        "S_NSSAI", HFILL }},
17684
14
    { &hf_e2ap_fiveQI,
17685
14
      { "fiveQI", "e2ap.fiveQI",
17686
14
        FT_UINT32, BASE_DEC, NULL, 0,
17687
14
        NULL, HFILL }},
17688
14
    { &hf_e2ap_qFI,
17689
14
      { "qFI", "e2ap.qFI",
17690
14
        FT_UINT32, BASE_DEC, NULL, 0,
17691
14
        "QosFlowIdentifier", HFILL }},
17692
14
    { &hf_e2ap_qCI,
17693
14
      { "qCI", "e2ap.qCI",
17694
14
        FT_UINT32, BASE_DEC, NULL, 0,
17695
14
        NULL, HFILL }},
17696
14
    { &hf_e2ap_qCImax,
17697
14
      { "qCImax", "e2ap.qCImax",
17698
14
        FT_UINT32, BASE_DEC, NULL, 0,
17699
14
        "QCI", HFILL }},
17700
14
    { &hf_e2ap_qCImin,
17701
14
      { "qCImin", "e2ap.qCImin",
17702
14
        FT_UINT32, BASE_DEC, NULL, 0,
17703
14
        "QCI", HFILL }},
17704
14
    { &hf_e2ap_aRPmax,
17705
14
      { "aRPmax", "e2ap.aRPmax",
17706
14
        FT_UINT32, BASE_DEC, NULL, 0,
17707
14
        "INTEGER_1_15_", HFILL }},
17708
14
    { &hf_e2ap_aRPmin,
17709
14
      { "aRPmin", "e2ap.aRPmin",
17710
14
        FT_UINT32, BASE_DEC, NULL, 0,
17711
14
        "INTEGER_1_15_", HFILL }},
17712
14
    { &hf_e2ap_bitrateRange,
17713
14
      { "bitrateRange", "e2ap.bitrateRange",
17714
14
        FT_UINT32, BASE_DEC, NULL, 0,
17715
14
        "INTEGER_1_65535_", HFILL }},
17716
14
    { &hf_e2ap_layerMU_MIMO,
17717
14
      { "layerMU-MIMO", "e2ap.layerMU_MIMO",
17718
14
        FT_UINT32, BASE_DEC, NULL, 0,
17719
14
        "INTEGER_1_65535_", HFILL }},
17720
14
    { &hf_e2ap_sUM,
17721
14
      { "sUM", "e2ap.sUM",
17722
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_sUM_vals), 0,
17723
14
        NULL, HFILL }},
17724
14
    { &hf_e2ap_distBinX,
17725
14
      { "distBinX", "e2ap.distBinX",
17726
14
        FT_UINT32, BASE_DEC, NULL, 0,
17727
14
        "INTEGER_1_65535_", HFILL }},
17728
14
    { &hf_e2ap_distBinY,
17729
14
      { "distBinY", "e2ap.distBinY",
17730
14
        FT_UINT32, BASE_DEC, NULL, 0,
17731
14
        "INTEGER_1_65535_", HFILL }},
17732
14
    { &hf_e2ap_distBinZ,
17733
14
      { "distBinZ", "e2ap.distBinZ",
17734
14
        FT_UINT32, BASE_DEC, NULL, 0,
17735
14
        "INTEGER_1_65535_", HFILL }},
17736
14
    { &hf_e2ap_preLabelOverride,
17737
14
      { "preLabelOverride", "e2ap.preLabelOverride",
17738
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_preLabelOverride_vals), 0,
17739
14
        NULL, HFILL }},
17740
14
    { &hf_e2ap_startEndInd,
17741
14
      { "startEndInd", "e2ap.startEndInd",
17742
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_startEndInd_vals), 0,
17743
14
        NULL, HFILL }},
17744
14
    { &hf_e2ap_min,
17745
14
      { "min", "e2ap.min",
17746
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_min_vals), 0,
17747
14
        NULL, HFILL }},
17748
14
    { &hf_e2ap_max,
17749
14
      { "max", "e2ap.max",
17750
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_max_vals), 0,
17751
14
        NULL, HFILL }},
17752
14
    { &hf_e2ap_avg,
17753
14
      { "avg", "e2ap.avg",
17754
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_avg_vals), 0,
17755
14
        NULL, HFILL }},
17756
14
    { &hf_e2ap_ssbIndex,
17757
14
      { "ssbIndex", "e2ap.ssbIndex",
17758
14
        FT_UINT32, BASE_DEC, NULL, 0,
17759
14
        "INTEGER_1_65535_", HFILL }},
17760
14
    { &hf_e2ap_nonGoB_BFmode_Index,
17761
14
      { "nonGoB-BFmode-Index", "e2ap.nonGoB_BFmode_Index",
17762
14
        FT_UINT32, BASE_DEC, NULL, 0,
17763
14
        "INTEGER_1_65535_", HFILL }},
17764
14
    { &hf_e2ap_mIMO_mode_Index,
17765
14
      { "mIMO-mode-Index", "e2ap.mIMO_mode_Index",
17766
14
        FT_UINT32, BASE_DEC, NULL, 0,
17767
14
        "INTEGER_1_2_", HFILL }},
17768
14
    { &hf_e2ap_testType,
17769
14
      { "testType", "e2ap.testType",
17770
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Type_vals), 0,
17771
14
        "TestCond_Type", HFILL }},
17772
14
    { &hf_e2ap_testExpr,
17773
14
      { "testExpr", "e2ap.testExpr",
17774
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Expression_vals), 0,
17775
14
        "TestCond_Expression", HFILL }},
17776
14
    { &hf_e2ap_testValue,
17777
14
      { "testValue", "e2ap.testValue",
17778
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Value_vals), 0,
17779
14
        "TestCond_Value", HFILL }},
17780
14
    { &hf_e2ap_gBR,
17781
14
      { "gBR", "e2ap.gBR",
17782
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_gBR_vals), 0,
17783
14
        NULL, HFILL }},
17784
14
    { &hf_e2ap_aMBR,
17785
14
      { "aMBR", "e2ap.aMBR",
17786
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_aMBR_vals), 0,
17787
14
        NULL, HFILL }},
17788
14
    { &hf_e2ap_isStat,
17789
14
      { "isStat", "e2ap.isStat",
17790
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_isStat_vals), 0,
17791
14
        NULL, HFILL }},
17792
14
    { &hf_e2ap_isCatM,
17793
14
      { "isCatM", "e2ap.isCatM",
17794
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_isCatM_vals), 0,
17795
14
        NULL, HFILL }},
17796
14
    { &hf_e2ap_rSRP,
17797
14
      { "rSRP", "e2ap.rSRP",
17798
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_rSRP_vals), 0,
17799
14
        NULL, HFILL }},
17800
14
    { &hf_e2ap_rSRQ,
17801
14
      { "rSRQ", "e2ap.rSRQ",
17802
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_rSRQ_vals), 0,
17803
14
        NULL, HFILL }},
17804
14
    { &hf_e2ap_ul_rSRP,
17805
14
      { "ul-rSRP", "e2ap.ul_rSRP",
17806
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_ul_rSRP_vals), 0,
17807
14
        NULL, HFILL }},
17808
14
    { &hf_e2ap_cQI,
17809
14
      { "cQI", "e2ap.cQI",
17810
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_cQI_vals), 0,
17811
14
        NULL, HFILL }},
17812
14
    { &hf_e2ap_fiveQI_01,
17813
14
      { "fiveQI", "e2ap.fiveQI",
17814
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_fiveQI_vals), 0,
17815
14
        NULL, HFILL }},
17816
14
    { &hf_e2ap_qCI_01,
17817
14
      { "qCI", "e2ap.qCI",
17818
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_qCI_vals), 0,
17819
14
        NULL, HFILL }},
17820
14
    { &hf_e2ap_sNSSAI,
17821
14
      { "sNSSAI", "e2ap.sNSSAI",
17822
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_sNSSAI_vals), 0,
17823
14
        NULL, HFILL }},
17824
14
    { &hf_e2ap_valueEnum,
17825
14
      { "valueEnum", "e2ap.valueEnum",
17826
14
        FT_INT32, BASE_DEC, NULL, 0,
17827
14
        "INTEGER", HFILL }},
17828
14
    { &hf_e2ap_valueBool,
17829
14
      { "valueBool", "e2ap.valueBool",
17830
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
17831
14
        "BOOLEAN", HFILL }},
17832
14
    { &hf_e2ap_valuePrtS,
17833
14
      { "valuePrtS", "e2ap.valuePrtS",
17834
14
        FT_STRING, BASE_NONE, NULL, 0,
17835
14
        "PrintableString", HFILL }},
17836
14
    { &hf_e2ap_binRangeListX,
17837
14
      { "binRangeListX", "e2ap.binRangeListX",
17838
14
        FT_UINT32, BASE_DEC, NULL, 0,
17839
14
        "BinRangeList", HFILL }},
17840
14
    { &hf_e2ap_binRangeListY,
17841
14
      { "binRangeListY", "e2ap.binRangeListY",
17842
14
        FT_UINT32, BASE_DEC, NULL, 0,
17843
14
        "BinRangeList", HFILL }},
17844
14
    { &hf_e2ap_binRangeListZ,
17845
14
      { "binRangeListZ", "e2ap.binRangeListZ",
17846
14
        FT_UINT32, BASE_DEC, NULL, 0,
17847
14
        "BinRangeList", HFILL }},
17848
14
    { &hf_e2ap_BinRangeList_item,
17849
14
      { "BinRangeItem", "e2ap.BinRangeItem_element",
17850
14
        FT_NONE, BASE_NONE, NULL, 0,
17851
14
        NULL, HFILL }},
17852
14
    { &hf_e2ap_binIndex,
17853
14
      { "binIndex", "e2ap.binIndex",
17854
14
        FT_UINT32, BASE_DEC, NULL, 0,
17855
14
        NULL, HFILL }},
17856
14
    { &hf_e2ap_startValue,
17857
14
      { "startValue", "e2ap.startValue",
17858
14
        FT_UINT32, BASE_DEC, VALS(e2ap_BinRangeValue_vals), 0,
17859
14
        "BinRangeValue", HFILL }},
17860
14
    { &hf_e2ap_endValue,
17861
14
      { "endValue", "e2ap.endValue",
17862
14
        FT_UINT32, BASE_DEC, VALS(e2ap_BinRangeValue_vals), 0,
17863
14
        "BinRangeValue", HFILL }},
17864
14
    { &hf_e2ap_DistMeasurementBinRangeList_item,
17865
14
      { "DistMeasurementBinRangeItem", "e2ap.DistMeasurementBinRangeItem_element",
17866
14
        FT_NONE, BASE_NONE, NULL, 0,
17867
14
        NULL, HFILL }},
17868
14
    { &hf_e2ap_measType,
17869
14
      { "measType", "e2ap.measType",
17870
14
        FT_UINT32, BASE_DEC, VALS(e2ap_MeasurementType_vals), 0,
17871
14
        "MeasurementType", HFILL }},
17872
14
    { &hf_e2ap_binRangeDef,
17873
14
      { "binRangeDef", "e2ap.binRangeDef_element",
17874
14
        FT_NONE, BASE_NONE, NULL, 0,
17875
14
        "BinRangeDefinition", HFILL }},
17876
14
    { &hf_e2ap_MeasurementInfoList_item,
17877
14
      { "MeasurementInfoItem", "e2ap.MeasurementInfoItem_element",
17878
14
        FT_NONE, BASE_NONE, NULL, 0,
17879
14
        NULL, HFILL }},
17880
14
    { &hf_e2ap_labelInfoList,
17881
14
      { "labelInfoList", "e2ap.labelInfoList",
17882
14
        FT_UINT32, BASE_DEC, NULL, 0,
17883
14
        NULL, HFILL }},
17884
14
    { &hf_e2ap_LabelInfoList_item,
17885
14
      { "LabelInfoItem", "e2ap.LabelInfoItem_element",
17886
14
        FT_NONE, BASE_NONE, NULL, 0,
17887
14
        NULL, HFILL }},
17888
14
    { &hf_e2ap_measLabel,
17889
14
      { "measLabel", "e2ap.measLabel_element",
17890
14
        FT_NONE, BASE_NONE, NULL, 0,
17891
14
        "MeasurementLabel", HFILL }},
17892
14
    { &hf_e2ap_MeasurementData_item,
17893
14
      { "MeasurementDataItem", "e2ap.MeasurementDataItem_element",
17894
14
        FT_NONE, BASE_NONE, NULL, 0,
17895
14
        NULL, HFILL }},
17896
14
    { &hf_e2ap_measRecord,
17897
14
      { "measRecord", "e2ap.measRecord",
17898
14
        FT_UINT32, BASE_DEC, NULL, 0,
17899
14
        "MeasurementRecord", HFILL }},
17900
14
    { &hf_e2ap_incompleteFlag,
17901
14
      { "incompleteFlag", "e2ap.incompleteFlag",
17902
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_incompleteFlag_vals), 0,
17903
14
        NULL, HFILL }},
17904
14
    { &hf_e2ap_MeasurementRecord_item,
17905
14
      { "MeasurementRecordItem", "e2ap.MeasurementRecordItem",
17906
14
        FT_UINT32, BASE_DEC, VALS(e2ap_MeasurementRecordItem_vals), 0,
17907
14
        NULL, HFILL }},
17908
14
    { &hf_e2ap_integer,
17909
14
      { "integer", "e2ap.integer",
17910
14
        FT_UINT32, BASE_DEC, NULL, 0,
17911
14
        "INTEGER_0_4294967295", HFILL }},
17912
14
    { &hf_e2ap_real,
17913
14
      { "real", "e2ap.real",
17914
14
        FT_DOUBLE, BASE_NONE, NULL, 0,
17915
14
        NULL, HFILL }},
17916
14
    { &hf_e2ap_noValue,
17917
14
      { "noValue", "e2ap.noValue_element",
17918
14
        FT_NONE, BASE_NONE, NULL, 0,
17919
14
        NULL, HFILL }},
17920
14
    { &hf_e2ap_MeasurementInfo_Action_List_item,
17921
14
      { "MeasurementInfo-Action-Item", "e2ap.MeasurementInfo_Action_Item_element",
17922
14
        FT_NONE, BASE_NONE, NULL, 0,
17923
14
        NULL, HFILL }},
17924
14
    { &hf_e2ap_MeasurementCondList_item,
17925
14
      { "MeasurementCondItem", "e2ap.MeasurementCondItem_element",
17926
14
        FT_NONE, BASE_NONE, NULL, 0,
17927
14
        NULL, HFILL }},
17928
14
    { &hf_e2ap_matchingCond,
17929
14
      { "matchingCond", "e2ap.matchingCond",
17930
14
        FT_UINT32, BASE_DEC, NULL, 0,
17931
14
        "MatchingCondList", HFILL }},
17932
14
    { &hf_e2ap_MeasurementCondUEidList_item,
17933
14
      { "MeasurementCondUEidItem", "e2ap.MeasurementCondUEidItem_element",
17934
14
        FT_NONE, BASE_NONE, NULL, 0,
17935
14
        NULL, HFILL }},
17936
14
    { &hf_e2ap_matchingUEidList,
17937
14
      { "matchingUEidList", "e2ap.matchingUEidList",
17938
14
        FT_UINT32, BASE_DEC, NULL, 0,
17939
14
        NULL, HFILL }},
17940
14
    { &hf_e2ap_matchingUEidPerGP,
17941
14
      { "matchingUEidPerGP", "e2ap.matchingUEidPerGP",
17942
14
        FT_UINT32, BASE_DEC, NULL, 0,
17943
14
        NULL, HFILL }},
17944
14
    { &hf_e2ap_MatchingCondList_item,
17945
14
      { "MatchingCondItem", "e2ap.MatchingCondItem_element",
17946
14
        FT_NONE, BASE_NONE, NULL, 0,
17947
14
        NULL, HFILL }},
17948
14
    { &hf_e2ap_matchingCondChoice,
17949
14
      { "matchingCondChoice", "e2ap.matchingCondChoice",
17950
14
        FT_UINT32, BASE_DEC, VALS(e2ap_MatchingCondItem_Choice_vals), 0,
17951
14
        "MatchingCondItem_Choice", HFILL }},
17952
14
    { &hf_e2ap_testCondInfo,
17953
14
      { "testCondInfo", "e2ap.testCondInfo_element",
17954
14
        FT_NONE, BASE_NONE, NULL, 0,
17955
14
        NULL, HFILL }},
17956
14
    { &hf_e2ap_MatchingUEidList_item,
17957
14
      { "MatchingUEidItem", "e2ap.MatchingUEidItem_element",
17958
14
        FT_NONE, BASE_NONE, NULL, 0,
17959
14
        NULL, HFILL }},
17960
14
    { &hf_e2ap_MatchingUEidPerGP_item,
17961
14
      { "MatchingUEidPerGP-Item", "e2ap.MatchingUEidPerGP_Item_element",
17962
14
        FT_NONE, BASE_NONE, NULL, 0,
17963
14
        NULL, HFILL }},
17964
14
    { &hf_e2ap_matchedPerGP,
17965
14
      { "matchedPerGP", "e2ap.matchedPerGP",
17966
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_matchedPerGP_vals), 0,
17967
14
        NULL, HFILL }},
17968
14
    { &hf_e2ap_noUEmatched,
17969
14
      { "noUEmatched", "e2ap.noUEmatched",
17970
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_noUEmatched_vals), 0,
17971
14
        NULL, HFILL }},
17972
14
    { &hf_e2ap_oneOrMoreUEmatched,
17973
14
      { "oneOrMoreUEmatched", "e2ap.oneOrMoreUEmatched",
17974
14
        FT_UINT32, BASE_DEC, NULL, 0,
17975
14
        "MatchingUEidList_PerGP", HFILL }},
17976
14
    { &hf_e2ap_MatchingUEidList_PerGP_item,
17977
14
      { "MatchingUEidItem-PerGP", "e2ap.MatchingUEidItem_PerGP_element",
17978
14
        FT_NONE, BASE_NONE, NULL, 0,
17979
14
        NULL, HFILL }},
17980
14
    { &hf_e2ap_MatchingUeCondPerSubList_item,
17981
14
      { "MatchingUeCondPerSubItem", "e2ap.MatchingUeCondPerSubItem_element",
17982
14
        FT_NONE, BASE_NONE, NULL, 0,
17983
14
        NULL, HFILL }},
17984
14
    { &hf_e2ap_MatchingUEidPerSubList_item,
17985
14
      { "MatchingUEidPerSubItem", "e2ap.MatchingUEidPerSubItem_element",
17986
14
        FT_NONE, BASE_NONE, NULL, 0,
17987
14
        NULL, HFILL }},
17988
14
    { &hf_e2ap_UEMeasurementReportList_item,
17989
14
      { "UEMeasurementReportItem", "e2ap.UEMeasurementReportItem_element",
17990
14
        FT_NONE, BASE_NONE, NULL, 0,
17991
14
        NULL, HFILL }},
17992
14
    { &hf_e2ap_measReport,
17993
14
      { "measReport", "e2ap.measReport_element",
17994
14
        FT_NONE, BASE_NONE, NULL, 0,
17995
14
        "E2SM_KPM_IndicationMessage_Format1", HFILL }},
17996
14
    { &hf_e2ap_eventDefinition_formats,
17997
14
      { "eventDefinition-formats", "e2ap.eventDefinition_formats",
17998
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_eventDefinition_formats_vals), 0,
17999
14
        NULL, HFILL }},
18000
14
    { &hf_e2ap_eventDefinition_Format1,
18001
14
      { "eventDefinition-Format1", "e2ap.eventDefinition_Format1_element",
18002
14
        FT_NONE, BASE_NONE, NULL, 0,
18003
14
        "E2SM_KPM_EventTriggerDefinition_Format1", HFILL }},
18004
14
    { &hf_e2ap_reportingPeriod,
18005
14
      { "reportingPeriod", "e2ap.reportingPeriod",
18006
14
        FT_UINT32, BASE_DEC, NULL, 0,
18007
14
        "INTEGER_1_4294967295", HFILL }},
18008
14
    { &hf_e2ap_actionDefinition_formats,
18009
14
      { "actionDefinition-formats", "e2ap.actionDefinition_formats",
18010
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_actionDefinition_formats_vals), 0,
18011
14
        NULL, HFILL }},
18012
14
    { &hf_e2ap_actionDefinition_Format1_01,
18013
14
      { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
18014
14
        FT_NONE, BASE_NONE, NULL, 0,
18015
14
        "E2SM_KPM_ActionDefinition_Format1", HFILL }},
18016
14
    { &hf_e2ap_actionDefinition_Format2_01,
18017
14
      { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
18018
14
        FT_NONE, BASE_NONE, NULL, 0,
18019
14
        "E2SM_KPM_ActionDefinition_Format2", HFILL }},
18020
14
    { &hf_e2ap_actionDefinition_Format3_01,
18021
14
      { "actionDefinition-Format3", "e2ap.actionDefinition_Format3_element",
18022
14
        FT_NONE, BASE_NONE, NULL, 0,
18023
14
        "E2SM_KPM_ActionDefinition_Format3", HFILL }},
18024
14
    { &hf_e2ap_actionDefinition_Format4_01,
18025
14
      { "actionDefinition-Format4", "e2ap.actionDefinition_Format4_element",
18026
14
        FT_NONE, BASE_NONE, NULL, 0,
18027
14
        "E2SM_KPM_ActionDefinition_Format4", HFILL }},
18028
14
    { &hf_e2ap_actionDefinition_Format5,
18029
14
      { "actionDefinition-Format5", "e2ap.actionDefinition_Format5_element",
18030
14
        FT_NONE, BASE_NONE, NULL, 0,
18031
14
        "E2SM_KPM_ActionDefinition_Format5", HFILL }},
18032
14
    { &hf_e2ap_measInfoList,
18033
14
      { "measInfoList", "e2ap.measInfoList",
18034
14
        FT_UINT32, BASE_DEC, NULL, 0,
18035
14
        "MeasurementInfoList", HFILL }},
18036
14
    { &hf_e2ap_granulPeriod,
18037
14
      { "granulPeriod", "e2ap.granulPeriod",
18038
14
        FT_UINT32, BASE_DEC, NULL, 0,
18039
14
        "GranularityPeriod", HFILL }},
18040
14
    { &hf_e2ap_distMeasBinRangeInfo,
18041
14
      { "distMeasBinRangeInfo", "e2ap.distMeasBinRangeInfo",
18042
14
        FT_UINT32, BASE_DEC, NULL, 0,
18043
14
        "DistMeasurementBinRangeList", HFILL }},
18044
14
    { &hf_e2ap_subscriptInfo,
18045
14
      { "subscriptInfo", "e2ap.subscriptInfo_element",
18046
14
        FT_NONE, BASE_NONE, NULL, 0,
18047
14
        "E2SM_KPM_ActionDefinition_Format1", HFILL }},
18048
14
    { &hf_e2ap_measCondList,
18049
14
      { "measCondList", "e2ap.measCondList",
18050
14
        FT_UINT32, BASE_DEC, NULL, 0,
18051
14
        "MeasurementCondList", HFILL }},
18052
14
    { &hf_e2ap_matchingUeCondList,
18053
14
      { "matchingUeCondList", "e2ap.matchingUeCondList",
18054
14
        FT_UINT32, BASE_DEC, NULL, 0,
18055
14
        "MatchingUeCondPerSubList", HFILL }},
18056
14
    { &hf_e2ap_subscriptionInfo,
18057
14
      { "subscriptionInfo", "e2ap.subscriptionInfo_element",
18058
14
        FT_NONE, BASE_NONE, NULL, 0,
18059
14
        "E2SM_KPM_ActionDefinition_Format1", HFILL }},
18060
14
    { &hf_e2ap_matchingUEidList_01,
18061
14
      { "matchingUEidList", "e2ap.matchingUEidList",
18062
14
        FT_UINT32, BASE_DEC, NULL, 0,
18063
14
        "MatchingUEidPerSubList", HFILL }},
18064
14
    { &hf_e2ap_indicationHeader_formats,
18065
14
      { "indicationHeader-formats", "e2ap.indicationHeader_formats",
18066
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_indicationHeader_formats_vals), 0,
18067
14
        NULL, HFILL }},
18068
14
    { &hf_e2ap_indicationHeader_Format1_01,
18069
14
      { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
18070
14
        FT_NONE, BASE_NONE, NULL, 0,
18071
14
        "E2SM_KPM_IndicationHeader_Format1", HFILL }},
18072
14
    { &hf_e2ap_colletStartTime,
18073
14
      { "colletStartTime", "e2ap.colletStartTime",
18074
14
        FT_BYTES, BASE_NONE, NULL, 0,
18075
14
        NULL, HFILL }},
18076
14
    { &hf_e2ap_fileFormatversion,
18077
14
      { "fileFormatversion", "e2ap.fileFormatversion",
18078
14
        FT_STRING, BASE_NONE, NULL, 0,
18079
14
        "PrintableString_SIZE_0_15_", HFILL }},
18080
14
    { &hf_e2ap_senderName,
18081
14
      { "senderName", "e2ap.senderName",
18082
14
        FT_STRING, BASE_NONE, NULL, 0,
18083
14
        "PrintableString_SIZE_0_400_", HFILL }},
18084
14
    { &hf_e2ap_senderType,
18085
14
      { "senderType", "e2ap.senderType",
18086
14
        FT_STRING, BASE_NONE, NULL, 0,
18087
14
        "PrintableString_SIZE_0_8_", HFILL }},
18088
14
    { &hf_e2ap_vendorName,
18089
14
      { "vendorName", "e2ap.vendorName",
18090
14
        FT_STRING, BASE_NONE, NULL, 0,
18091
14
        "PrintableString_SIZE_0_32_", HFILL }},
18092
14
    { &hf_e2ap_indicationMessage_formats,
18093
14
      { "indicationMessage-formats", "e2ap.indicationMessage_formats",
18094
14
        FT_UINT32, BASE_DEC, VALS(e2ap_T_indicationMessage_formats_vals), 0,
18095
14
        NULL, HFILL }},
18096
14
    { &hf_e2ap_indicationMessage_Format1_01,
18097
14
      { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
18098
14
        FT_NONE, BASE_NONE, NULL, 0,
18099
14
        "E2SM_KPM_IndicationMessage_Format1", HFILL }},
18100
14
    { &hf_e2ap_indicationMessage_Format2_01,
18101
14
      { "indicationMessage-Format2", "e2ap.indicationMessage_Format2_element",
18102
14
        FT_NONE, BASE_NONE, NULL, 0,
18103
14
        "E2SM_KPM_IndicationMessage_Format2", HFILL }},
18104
14
    { &hf_e2ap_indicationMessage_Format3_01,
18105
14
      { "indicationMessage-Format3", "e2ap.indicationMessage_Format3_element",
18106
14
        FT_NONE, BASE_NONE, NULL, 0,
18107
14
        "E2SM_KPM_IndicationMessage_Format3", HFILL }},
18108
14
    { &hf_e2ap_measData,
18109
14
      { "measData", "e2ap.measData",
18110
14
        FT_UINT32, BASE_DEC, NULL, 0,
18111
14
        "MeasurementData", HFILL }},
18112
14
    { &hf_e2ap_measCondUEidList,
18113
14
      { "measCondUEidList", "e2ap.measCondUEidList",
18114
14
        FT_UINT32, BASE_DEC, NULL, 0,
18115
14
        "MeasurementCondUEidList", HFILL }},
18116
14
    { &hf_e2ap_ueMeasReportList,
18117
14
      { "ueMeasReportList", "e2ap.ueMeasReportList",
18118
14
        FT_UINT32, BASE_DEC, NULL, 0,
18119
14
        "UEMeasurementReportList", HFILL }},
18120
14
    { &hf_e2ap_ric_EventTriggerStyle_List_01,
18121
14
      { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
18122
14
        FT_UINT32, BASE_DEC, NULL, 0,
18123
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item", HFILL }},
18124
14
    { &hf_e2ap_ric_EventTriggerStyle_List_item_01,
18125
14
      { "RIC-EventTriggerStyle-Item", "e2ap.RIC_EventTriggerStyle_Item_element",
18126
14
        FT_NONE, BASE_NONE, NULL, 0,
18127
14
        NULL, HFILL }},
18128
14
    { &hf_e2ap_ric_ReportStyle_List_01,
18129
14
      { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
18130
14
        FT_UINT32, BASE_DEC, NULL, 0,
18131
14
        "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item", HFILL }},
18132
14
    { &hf_e2ap_ric_ReportStyle_List_item_01,
18133
14
      { "RIC-ReportStyle-Item", "e2ap.RIC_ReportStyle_Item_element",
18134
14
        FT_NONE, BASE_NONE, NULL, 0,
18135
14
        NULL, HFILL }},
18136
14
    { &hf_e2ap_ric_ActionFormat_Type,
18137
14
      { "ric-ActionFormat-Type", "e2ap.ric_ActionFormat_Type",
18138
14
        FT_INT32, BASE_DEC, NULL, 0,
18139
14
        "RIC_Format_Type", HFILL }},
18140
14
    { &hf_e2ap_measInfo_Action_List,
18141
14
      { "measInfo-Action-List", "e2ap.measInfo_Action_List",
18142
14
        FT_UINT32, BASE_DEC, NULL, 0,
18143
14
        "MeasurementInfo_Action_List", HFILL }},
18144
14
    { &hf_e2ap_eventDefinition_Format1_01,
18145
14
      { "eventDefinition-Format1", "e2ap.eventDefinition_Format1_element",
18146
14
        FT_NONE, BASE_NONE, NULL, 0,
18147
14
        "E2SM_NI_EventTriggerDefinition_Format1", HFILL }},
18148
14
    { &hf_e2ap_interface_type,
18149
14
      { "interface-type", "e2ap.interface_type",
18150
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_Type_vals), 0,
18151
14
        "NI_Type", HFILL }},
18152
14
    { &hf_e2ap_interface_ID,
18153
14
      { "interface-ID", "e2ap.interface_ID",
18154
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_Identifier_vals), 0,
18155
14
        "NI_Identifier", HFILL }},
18156
14
    { &hf_e2ap_interfaceDirection,
18157
14
      { "interfaceDirection", "e2ap.interfaceDirection",
18158
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_Direction_vals), 0,
18159
14
        "NI_Direction", HFILL }},
18160
14
    { &hf_e2ap_interfaceMessageType,
18161
14
      { "interfaceMessageType", "e2ap.interfaceMessageType",
18162
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_MessageType_vals), 0,
18163
14
        "NI_MessageType", HFILL }},
18164
14
    { &hf_e2ap_interfaceProtocolIE_List,
18165
14
      { "interfaceProtocolIE-List", "e2ap.interfaceProtocolIE_List",
18166
14
        FT_UINT32, BASE_DEC, NULL, 0,
18167
14
        "SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item", HFILL }},
18168
14
    { &hf_e2ap_interfaceProtocolIE_List_item,
18169
14
      { "NI-ProtocolIE-Item", "e2ap.NI_ProtocolIE_Item_element",
18170
14
        FT_NONE, BASE_NONE, NULL, 0,
18171
14
        NULL, HFILL }},
18172
14
    { &hf_e2ap_action_Definition_Format,
18173
14
      { "action-Definition-Format", "e2ap.action_Definition_Format",
18174
14
        FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ActionDefinitionFormat_vals), 0,
18175
14
        "E2SM_NI_ActionDefinitionFormat", HFILL }},
18176
14
    { &hf_e2ap_actionDefinition_Format1_02,
18177
14
      { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
18178
14
        FT_NONE, BASE_NONE, NULL, 0,
18179
14
        "E2SM_NI_ActionDefinition_Format1", HFILL }},
18180
14
    { &hf_e2ap_actionDefinition_Format2_02,
18181
14
      { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
18182
14
        FT_NONE, BASE_NONE, NULL, 0,
18183
14
        "E2SM_NI_ActionDefinition_Format2", HFILL }},
18184
14
    { &hf_e2ap_actionParameter_List,
18185
14
      { "actionParameter-List", "e2ap.actionParameter_List",
18186
14
        FT_UINT32, BASE_DEC, NULL, 0,
18187
14
        "SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item", HFILL }},
18188
14
    { &hf_e2ap_actionParameter_List_item,
18189
14
      { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18190
14
        FT_NONE, BASE_NONE, NULL, 0,
18191
14
        NULL, HFILL }},
18192
14
    { &hf_e2ap_ranUEgroup_List,
18193
14
      { "ranUEgroup-List", "e2ap.ranUEgroup_List",
18194
14
        FT_UINT32, BASE_DEC, NULL, 0,
18195
14
        "SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item", HFILL }},
18196
14
    { &hf_e2ap_ranUEgroup_List_item,
18197
14
      { "RANueGroup-Item", "e2ap.RANueGroup_Item_element",
18198
14
        FT_NONE, BASE_NONE, NULL, 0,
18199
14
        NULL, HFILL }},
18200
14
    { &hf_e2ap_indicationHeader_Format1_02,
18201
14
      { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
18202
14
        FT_NONE, BASE_NONE, NULL, 0,
18203
14
        "E2SM_NI_IndicationHeader_Format1", HFILL }},
18204
14
    { &hf_e2ap_timestamp,
18205
14
      { "timestamp", "e2ap.timestamp",
18206
14
        FT_BYTES, BASE_NONE, NULL, 0,
18207
14
        "NI_TimeStamp", HFILL }},
18208
14
    { &hf_e2ap_indicationMessage_Format1_02,
18209
14
      { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
18210
14
        FT_NONE, BASE_NONE, NULL, 0,
18211
14
        "E2SM_NI_IndicationMessage_Format1", HFILL }},
18212
14
    { &hf_e2ap_interfaceMessage,
18213
14
      { "interfaceMessage", "e2ap.interfaceMessage",
18214
14
        FT_BYTES, BASE_NONE, NULL, 0,
18215
14
        "NI_Message", HFILL }},
18216
14
    { &hf_e2ap_callProcessID_Format1_01,
18217
14
      { "callProcessID-Format1", "e2ap.callProcessID_Format1_element",
18218
14
        FT_NONE, BASE_NONE, NULL, 0,
18219
14
        "E2SM_NI_CallProcessID_Format1", HFILL }},
18220
14
    { &hf_e2ap_callProcessID_Format2,
18221
14
      { "callProcessID-Format2", "e2ap.callProcessID_Format2_element",
18222
14
        FT_NONE, BASE_NONE, NULL, 0,
18223
14
        "E2SM_NI_CallProcessID_Format2", HFILL }},
18224
14
    { &hf_e2ap_callProcess_ID,
18225
14
      { "callProcess-ID", "e2ap.callProcess_ID",
18226
14
        FT_INT32, BASE_DEC, NULL, 0,
18227
14
        "RANcallProcess_ID_number", HFILL }},
18228
14
    { &hf_e2ap_callProcess_ID_format2,
18229
14
      { "callProcess-ID", "e2ap.callProcess_ID_format2",
18230
14
        FT_STRING, BASE_NONE, NULL, 0,
18231
14
        "RANcallProcess_ID_string", HFILL }},
18232
14
    { &hf_e2ap_controlHeader_Format1_01,
18233
14
      { "controlHeader-Format1", "e2ap.controlHeader_Format1_element",
18234
14
        FT_NONE, BASE_NONE, NULL, 0,
18235
14
        "E2SM_NI_ControlHeader_Format1", HFILL }},
18236
14
    { &hf_e2ap_interface_Direction,
18237
14
      { "interface-Direction", "e2ap.interface_Direction",
18238
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_Direction_vals), 0,
18239
14
        "NI_Direction", HFILL }},
18240
14
    { &hf_e2ap_ric_Control_Message_Priority,
18241
14
      { "ric-Control-Message-Priority", "e2ap.ric_Control_Message_Priority",
18242
14
        FT_INT32, BASE_DEC, NULL, 0,
18243
14
        NULL, HFILL }},
18244
14
    { &hf_e2ap_controlMessage_Format1_01,
18245
14
      { "controlMessage-Format1", "e2ap.controlMessage_Format1_element",
18246
14
        FT_NONE, BASE_NONE, NULL, 0,
18247
14
        "E2SM_NI_ControlMessage_Format1", HFILL }},
18248
14
    { &hf_e2ap_controlOutcome_Format1_01,
18249
14
      { "controlOutcome-Format1", "e2ap.controlOutcome_Format1_element",
18250
14
        FT_NONE, BASE_NONE, NULL, 0,
18251
14
        "E2SM_NI_ControlOutcome_Format1", HFILL }},
18252
14
    { &hf_e2ap_outcomeElement_List,
18253
14
      { "outcomeElement-List", "e2ap.outcomeElement_List",
18254
14
        FT_UINT32, BASE_DEC, NULL, 0,
18255
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item", HFILL }},
18256
14
    { &hf_e2ap_outcomeElement_List_item,
18257
14
      { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18258
14
        FT_NONE, BASE_NONE, NULL, 0,
18259
14
        NULL, HFILL }},
18260
14
    { &hf_e2ap_ni_Type_List,
18261
14
      { "ni-Type-List", "e2ap.ni_Type_List",
18262
14
        FT_UINT32, BASE_DEC, NULL, 0,
18263
14
        "SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item", HFILL }},
18264
14
    { &hf_e2ap_ni_Type_List_item,
18265
14
      { "E2SM-NI-RANfunction-Item", "e2ap.E2SM_NI_RANfunction_Item_element",
18266
14
        FT_NONE, BASE_NONE, NULL, 0,
18267
14
        NULL, HFILL }},
18268
14
    { &hf_e2ap_ric_EventTriggerStyle_List_02,
18269
14
      { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
18270
14
        FT_UINT32, BASE_DEC, NULL, 0,
18271
14
        "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List", HFILL }},
18272
14
    { &hf_e2ap_ric_EventTriggerStyle_List_item_02,
18273
14
      { "RIC-EventTriggerStyle-List", "e2ap.RIC_EventTriggerStyle_List_element",
18274
14
        FT_NONE, BASE_NONE, NULL, 0,
18275
14
        NULL, HFILL }},
18276
14
    { &hf_e2ap_ric_ReportStyle_List_02,
18277
14
      { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
18278
14
        FT_UINT32, BASE_DEC, NULL, 0,
18279
14
        "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List", HFILL }},
18280
14
    { &hf_e2ap_ric_ReportStyle_List_item_02,
18281
14
      { "RIC-ReportStyle-List", "e2ap.RIC_ReportStyle_List_element",
18282
14
        FT_NONE, BASE_NONE, NULL, 0,
18283
14
        NULL, HFILL }},
18284
14
    { &hf_e2ap_ric_InsertStyle_List_03,
18285
14
      { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
18286
14
        FT_UINT32, BASE_DEC, NULL, 0,
18287
14
        "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List", HFILL }},
18288
14
    { &hf_e2ap_ric_InsertStyle_List_item_03,
18289
14
      { "RIC-InsertStyle-List", "e2ap.RIC_InsertStyle_List_element",
18290
14
        FT_NONE, BASE_NONE, NULL, 0,
18291
14
        NULL, HFILL }},
18292
14
    { &hf_e2ap_ric_ControlStyle_List_03,
18293
14
      { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
18294
14
        FT_UINT32, BASE_DEC, NULL, 0,
18295
14
        "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List", HFILL }},
18296
14
    { &hf_e2ap_ric_ControlStyle_List_item_03,
18297
14
      { "RIC-ControlStyle-List", "e2ap.RIC_ControlStyle_List_element",
18298
14
        FT_NONE, BASE_NONE, NULL, 0,
18299
14
        NULL, HFILL }},
18300
14
    { &hf_e2ap_ric_PolicyStyle_List_01,
18301
14
      { "ric-PolicyStyle-List", "e2ap.ric_PolicyStyle_List",
18302
14
        FT_UINT32, BASE_DEC, NULL, 0,
18303
14
        "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List", HFILL }},
18304
14
    { &hf_e2ap_ric_PolicyStyle_List_item_01,
18305
14
      { "RIC-PolicyStyle-List", "e2ap.RIC_PolicyStyle_List_element",
18306
14
        FT_NONE, BASE_NONE, NULL, 0,
18307
14
        NULL, HFILL }},
18308
14
    { &hf_e2ap_global_ng_RAN_ID,
18309
14
      { "global-ng-RAN-ID", "e2ap.global_ng_RAN_ID",
18310
14
        FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNG_RANNode_ID_vals), 0,
18311
14
        NULL, HFILL }},
18312
14
    { &hf_e2ap_global_eNB_ID_01,
18313
14
      { "global-eNB-ID", "e2ap.global_eNB_ID_element",
18314
14
        FT_NONE, BASE_NONE, NULL, 0,
18315
14
        NULL, HFILL }},
18316
14
    { &hf_e2ap_global_en_gNB_ID_01,
18317
14
      { "global-en-gNB-ID", "e2ap.global_en_gNB_ID_element",
18318
14
        FT_NONE, BASE_NONE, NULL, 0,
18319
14
        NULL, HFILL }},
18320
14
    { &hf_e2ap_global_gNB_DU_ID,
18321
14
      { "global-gNB-DU-ID", "e2ap.global_gNB_DU_ID_element",
18322
14
        FT_NONE, BASE_NONE, NULL, 0,
18323
14
        NULL, HFILL }},
18324
14
    { &hf_e2ap_global_gNB_CU_UP_ID,
18325
14
      { "global-gNB-CU-UP-ID", "e2ap.global_gNB_CU_UP_ID_element",
18326
14
        FT_NONE, BASE_NONE, NULL, 0,
18327
14
        NULL, HFILL }},
18328
14
    { &hf_e2ap_s1MessageType,
18329
14
      { "s1MessageType", "e2ap.s1MessageType_element",
18330
14
        FT_NONE, BASE_NONE, NULL, 0,
18331
14
        "NI_MessageTypeS1", HFILL }},
18332
14
    { &hf_e2ap_x2MessageType,
18333
14
      { "x2MessageType", "e2ap.x2MessageType_element",
18334
14
        FT_NONE, BASE_NONE, NULL, 0,
18335
14
        "NI_MessageTypeX2", HFILL }},
18336
14
    { &hf_e2ap_ngMessageType,
18337
14
      { "ngMessageType", "e2ap.ngMessageType_element",
18338
14
        FT_NONE, BASE_NONE, NULL, 0,
18339
14
        "NI_MessageTypeNG", HFILL }},
18340
14
    { &hf_e2ap_xnMessageType,
18341
14
      { "xnMessageType", "e2ap.xnMessageType_element",
18342
14
        FT_NONE, BASE_NONE, NULL, 0,
18343
14
        "NI_MessageTypeXn", HFILL }},
18344
14
    { &hf_e2ap_f1MessageType,
18345
14
      { "f1MessageType", "e2ap.f1MessageType_element",
18346
14
        FT_NONE, BASE_NONE, NULL, 0,
18347
14
        "NI_MessageTypeF1", HFILL }},
18348
14
    { &hf_e2ap_e1MessageType,
18349
14
      { "e1MessageType", "e2ap.e1MessageType_element",
18350
14
        FT_NONE, BASE_NONE, NULL, 0,
18351
14
        "NI_MessageTypeE1", HFILL }},
18352
14
    { &hf_e2ap_typeOfMessage,
18353
14
      { "typeOfMessage", "e2ap.typeOfMessage",
18354
14
        FT_UINT32, BASE_DEC, VALS(e2ap_TypeOfMessage_vals), 0,
18355
14
        NULL, HFILL }},
18356
14
    { &hf_e2ap_interfaceProtocolIE_ID,
18357
14
      { "interfaceProtocolIE-ID", "e2ap.interfaceProtocolIE_ID",
18358
14
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
18359
14
        "NI_ProtocolIE_ID", HFILL }},
18360
14
    { &hf_e2ap_interfaceProtocolIE_Test,
18361
14
      { "interfaceProtocolIE-Test", "e2ap.interfaceProtocolIE_Test",
18362
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_ProtocolIE_Test_vals), 0,
18363
14
        "NI_ProtocolIE_Test", HFILL }},
18364
14
    { &hf_e2ap_interfaceProtocolIE_Value,
18365
14
      { "interfaceProtocolIE-Value", "e2ap.interfaceProtocolIE_Value",
18366
14
        FT_UINT32, BASE_DEC, VALS(e2ap_NI_ProtocolIE_Value_vals), 0,
18367
14
        "NI_ProtocolIE_Value", HFILL }},
18368
14
    { &hf_e2ap_ranImperativePolicy_List,
18369
14
      { "ranImperativePolicy-List", "e2ap.ranImperativePolicy_List",
18370
14
        FT_UINT32, BASE_DEC, NULL, 0,
18371
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item", HFILL }},
18372
14
    { &hf_e2ap_ranImperativePolicy_List_item,
18373
14
      { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18374
14
        FT_NONE, BASE_NONE, NULL, 0,
18375
14
        NULL, HFILL }},
18376
14
    { &hf_e2ap_ranParameter_ID_01,
18377
14
      { "ranParameter-ID", "e2ap.ranParameter_ID",
18378
14
        FT_UINT32, BASE_DEC, NULL, 0,
18379
14
        NULL, HFILL }},
18380
14
    { &hf_e2ap_ranParameter_Value_01,
18381
14
      { "ranParameter-Value", "e2ap.ranParameter_Value",
18382
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Value_vals), 0,
18383
14
        NULL, HFILL }},
18384
14
    { &hf_e2ap_ranParameter_Name,
18385
14
      { "ranParameter-Name", "e2ap.ranParameter_Name",
18386
14
        FT_STRING, BASE_NONE, NULL, 0,
18387
14
        NULL, HFILL }},
18388
14
    { &hf_e2ap_ranParameter_Type_01,
18389
14
      { "ranParameter-Type", "e2ap.ranParameter_Type",
18390
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Type_vals), 0,
18391
14
        NULL, HFILL }},
18392
14
    { &hf_e2ap_ranUEgroupID,
18393
14
      { "ranUEgroupID", "e2ap.ranUEgroupID",
18394
14
        FT_UINT32, BASE_DEC, NULL, 0,
18395
14
        NULL, HFILL }},
18396
14
    { &hf_e2ap_ranUEgroupDefinition,
18397
14
      { "ranUEgroupDefinition", "e2ap.ranUEgroupDefinition_element",
18398
14
        FT_NONE, BASE_NONE, NULL, 0,
18399
14
        NULL, HFILL }},
18400
14
    { &hf_e2ap_ranPolicy,
18401
14
      { "ranPolicy", "e2ap.ranPolicy_element",
18402
14
        FT_NONE, BASE_NONE, NULL, 0,
18403
14
        "RANimperativePolicy", HFILL }},
18404
14
    { &hf_e2ap_ranUEgroupDef_List,
18405
14
      { "ranUEgroupDef-List", "e2ap.ranUEgroupDef_List",
18406
14
        FT_UINT32, BASE_DEC, NULL, 0,
18407
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item", HFILL }},
18408
14
    { &hf_e2ap_ranUEgroupDef_List_item,
18409
14
      { "RANueGroupDef-Item", "e2ap.RANueGroupDef_Item_element",
18410
14
        FT_NONE, BASE_NONE, NULL, 0,
18411
14
        NULL, HFILL }},
18412
14
    { &hf_e2ap_ranParameter_Test,
18413
14
      { "ranParameter-Test", "e2ap.ranParameter_Test",
18414
14
        FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Test_Condition_vals), 0,
18415
14
        "RANparameter_Test_Condition", HFILL }},
18416
14
    { &hf_e2ap_ric_ControlFormat_Type,
18417
14
      { "ric-ControlFormat-Type", "e2ap.ric_ControlFormat_Type",
18418
14
        FT_INT32, BASE_DEC, NULL, 0,
18419
14
        "RIC_Format_Type", HFILL }},
18420
14
    { &hf_e2ap_ric_ControlOutcomeRanParaDef_List,
18421
14
      { "ric-ControlOutcomeRanParaDef-List", "e2ap.ric_ControlOutcomeRanParaDef_List",
18422
14
        FT_UINT32, BASE_DEC, NULL, 0,
18423
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18424
14
    { &hf_e2ap_ric_ControlOutcomeRanParaDef_List_item,
18425
14
      { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18426
14
        FT_NONE, BASE_NONE, NULL, 0,
18427
14
        NULL, HFILL }},
18428
14
    { &hf_e2ap_ric_InsertActionFormat_Type,
18429
14
      { "ric-InsertActionFormat-Type", "e2ap.ric_InsertActionFormat_Type",
18430
14
        FT_INT32, BASE_DEC, NULL, 0,
18431
14
        "RIC_Format_Type", HFILL }},
18432
14
    { &hf_e2ap_ric_InsertRanParameterDef_List,
18433
14
      { "ric-InsertRanParameterDef-List", "e2ap.ric_InsertRanParameterDef_List",
18434
14
        FT_UINT32, BASE_DEC, NULL, 0,
18435
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18436
14
    { &hf_e2ap_ric_InsertRanParameterDef_List_item,
18437
14
      { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18438
14
        FT_NONE, BASE_NONE, NULL, 0,
18439
14
        NULL, HFILL }},
18440
14
    { &hf_e2ap_ric_PolicyActionFormat_Type,
18441
14
      { "ric-PolicyActionFormat-Type", "e2ap.ric_PolicyActionFormat_Type",
18442
14
        FT_INT32, BASE_DEC, NULL, 0,
18443
14
        "RIC_Format_Type", HFILL }},
18444
14
    { &hf_e2ap_ric_PolicyRanParameterDef_List,
18445
14
      { "ric-PolicyRanParameterDef-List", "e2ap.ric_PolicyRanParameterDef_List",
18446
14
        FT_UINT32, BASE_DEC, NULL, 0,
18447
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18448
14
    { &hf_e2ap_ric_PolicyRanParameterDef_List_item,
18449
14
      { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18450
14
        FT_NONE, BASE_NONE, NULL, 0,
18451
14
        NULL, HFILL }},
18452
14
    { &hf_e2ap_ric_ReportRanParameterDef_List,
18453
14
      { "ric-ReportRanParameterDef-List", "e2ap.ric_ReportRanParameterDef_List",
18454
14
        FT_UINT32, BASE_DEC, NULL, 0,
18455
14
        "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18456
14
    { &hf_e2ap_ric_ReportRanParameterDef_List_item,
18457
14
      { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18458
14
        FT_NONE, BASE_NONE, NULL, 0,
18459
14
        NULL, HFILL }},
18460
14
      { &hf_e2ap_unmapped_ran_function_id,
18461
14
          { "Unmapped RANfunctionID", "e2ap.unmapped-ran-function-id",
18462
14
            FT_NONE, BASE_NONE, NULL, 0x0,
18463
14
            NULL, HFILL }},
18464
14
      { &hf_e2ap_ran_function_name_not_recognised,
18465
14
          { "RANfunction name not recognised", "e2ap.ran-function-name-not-recognised",
18466
14
            FT_NONE, BASE_NONE, NULL, 0x0,
18467
14
            NULL, HFILL }},
18468
14
      { &hf_e2ap_ran_function_setup_frame,
18469
14
          { "RANfunction setup frame", "e2ap.setup-frame",
18470
14
            FT_FRAMENUM, BASE_NONE, NULL, 0x0,
18471
14
            NULL, HFILL }},
18472
18473
14
      { &hf_e2ap_dissector_version,
18474
14
          { "Version (dissector)", "e2ap.version.dissector",
18475
14
            FT_STRING, BASE_NONE, NULL, 0x0,
18476
14
            NULL, HFILL }},
18477
14
      { &hf_e2ap_frame_version,
18478
14
          { "Version (frame)", "e2ap.version.frame",
18479
14
            FT_STRING, BASE_NONE, NULL, 0x0,
18480
14
            NULL, HFILL }},
18481
18482
14
      { &hf_e2ap_timestamp_string,
18483
14
          { "Timestamp string", "e2ap.timestamp-string",
18484
14
            FT_STRING, BASE_NONE, NULL, 0x0,
18485
14
            NULL, HFILL }},
18486
14
  };
18487
18488
  /* List of subtrees */
18489
14
  static int *ett[] = {
18490
14
    &ett_e2ap,
18491
14
    &ett_e2ap_ProtocolIE_Container,
18492
14
    &ett_e2ap_ProtocolIE_Field,
18493
14
    &ett_e2ap_Cause,
18494
14
    &ett_e2ap_CriticalityDiagnostics,
18495
14
    &ett_e2ap_CriticalityDiagnostics_IE_List,
18496
14
    &ett_e2ap_CriticalityDiagnostics_IE_Item,
18497
14
    &ett_e2ap_E2nodeComponentConfiguration,
18498
14
    &ett_e2ap_E2nodeComponentConfigurationAck,
18499
14
    &ett_e2ap_E2nodeComponentID,
18500
14
    &ett_e2ap_E2nodeComponentInterfaceE1,
18501
14
    &ett_e2ap_E2nodeComponentInterfaceF1,
18502
14
    &ett_e2ap_E2nodeComponentInterfaceNG,
18503
14
    &ett_e2ap_E2nodeComponentInterfaceS1,
18504
14
    &ett_e2ap_E2nodeComponentInterfaceX2,
18505
14
    &ett_e2ap_E2nodeComponentInterfaceXn,
18506
14
    &ett_e2ap_E2nodeComponentInterfaceW1,
18507
14
    &ett_e2ap_ENB_ID,
18508
14
    &ett_e2ap_ENB_ID_Choice,
18509
14
    &ett_e2ap_ENGNB_ID,
18510
14
    &ett_e2ap_GlobalE2node_ID,
18511
14
    &ett_e2ap_GlobalE2node_en_gNB_ID,
18512
14
    &ett_e2ap_GlobalE2node_eNB_ID,
18513
14
    &ett_e2ap_GlobalE2node_gNB_ID,
18514
14
    &ett_e2ap_GlobalE2node_ng_eNB_ID,
18515
14
    &ett_e2ap_GlobalENB_ID,
18516
14
    &ett_e2ap_GlobalenGNB_ID,
18517
14
    &ett_e2ap_GlobalgNB_ID,
18518
14
    &ett_e2ap_GlobalngeNB_ID,
18519
14
    &ett_e2ap_GlobalNG_RANNode_ID,
18520
14
    &ett_e2ap_GlobalRIC_ID,
18521
14
    &ett_e2ap_GNB_ID_Choice,
18522
14
    &ett_e2ap_RICrequestID,
18523
14
    &ett_e2ap_RICsubsequentAction,
18524
14
    &ett_e2ap_TNLinformation,
18525
14
    &ett_e2ap_RICsubscriptionRequest,
18526
14
    &ett_e2ap_RICsubscriptionDetails,
18527
14
    &ett_e2ap_RICactions_ToBeSetup_List,
18528
14
    &ett_e2ap_RICaction_ToBeSetup_Item,
18529
14
    &ett_e2ap_RICsubscriptionResponse,
18530
14
    &ett_e2ap_RICaction_Admitted_List,
18531
14
    &ett_e2ap_RICaction_Admitted_Item,
18532
14
    &ett_e2ap_RICaction_NotAdmitted_List,
18533
14
    &ett_e2ap_RICaction_NotAdmitted_Item,
18534
14
    &ett_e2ap_RICsubscriptionFailure,
18535
14
    &ett_e2ap_RICsubscriptionDeleteRequest,
18536
14
    &ett_e2ap_RICsubscriptionDeleteResponse,
18537
14
    &ett_e2ap_RICsubscriptionDeleteFailure,
18538
14
    &ett_e2ap_RICsubscriptionDeleteRequired,
18539
14
    &ett_e2ap_RICsubscription_List_withCause,
18540
14
    &ett_e2ap_RICsubscription_withCause_Item,
18541
14
    &ett_e2ap_RICsubscriptionModificationRequest,
18542
14
    &ett_e2ap_RICactions_ToBeRemovedForModification_List,
18543
14
    &ett_e2ap_RICaction_ToBeRemovedForModification_Item,
18544
14
    &ett_e2ap_RICactions_ToBeModifiedForModification_List,
18545
14
    &ett_e2ap_RICaction_ToBeModifiedForModification_Item,
18546
14
    &ett_e2ap_RICactions_ToBeAddedForModification_List,
18547
14
    &ett_e2ap_RICaction_ToBeAddedForModification_Item,
18548
14
    &ett_e2ap_RICsubscriptionModificationResponse,
18549
14
    &ett_e2ap_RICactions_RemovedForModification_List,
18550
14
    &ett_e2ap_RICaction_RemovedForModification_Item,
18551
14
    &ett_e2ap_RICactions_FailedToBeRemovedForModification_List,
18552
14
    &ett_e2ap_RICaction_FailedToBeRemovedForModification_Item,
18553
14
    &ett_e2ap_RICactions_ModifiedForModification_List,
18554
14
    &ett_e2ap_RICaction_ModifiedForModification_Item,
18555
14
    &ett_e2ap_RICactions_FailedToBeModifiedForModification_List,
18556
14
    &ett_e2ap_RICaction_FailedToBeModifiedForModification_Item,
18557
14
    &ett_e2ap_RICactions_AddedForModification_List,
18558
14
    &ett_e2ap_RICaction_AddedForModification_Item,
18559
14
    &ett_e2ap_RICactions_FailedToBeAddedForModification_List,
18560
14
    &ett_e2ap_RICaction_FailedToBeAddedForModification_Item,
18561
14
    &ett_e2ap_RICsubscriptionModificationFailure,
18562
14
    &ett_e2ap_RICsubscriptionModificationRequired,
18563
14
    &ett_e2ap_RICactions_RequiredToBeModified_List,
18564
14
    &ett_e2ap_RICaction_RequiredToBeModified_Item,
18565
14
    &ett_e2ap_RICactions_RequiredToBeRemoved_List,
18566
14
    &ett_e2ap_RICaction_RequiredToBeRemoved_Item,
18567
14
    &ett_e2ap_RICsubscriptionModificationConfirm,
18568
14
    &ett_e2ap_RICactions_ConfirmedForModification_List,
18569
14
    &ett_e2ap_RICaction_ConfirmedForModification_Item,
18570
14
    &ett_e2ap_RICactions_RefusedToBeModified_List,
18571
14
    &ett_e2ap_RICaction_RefusedToBeModified_Item,
18572
14
    &ett_e2ap_RICactions_ConfirmedForRemoval_List,
18573
14
    &ett_e2ap_RICaction_ConfirmedForRemoval_Item,
18574
14
    &ett_e2ap_RICactions_RefusedToBeRemoved_List,
18575
14
    &ett_e2ap_RICaction_RefusedToBeRemoved_Item,
18576
14
    &ett_e2ap_RICsubscriptionModificationRefuse,
18577
14
    &ett_e2ap_RICindication,
18578
14
    &ett_e2ap_RICcontrolRequest,
18579
14
    &ett_e2ap_RICcontrolAcknowledge,
18580
14
    &ett_e2ap_RICcontrolFailure,
18581
14
    &ett_e2ap_RICQueryRequest,
18582
14
    &ett_e2ap_RICQueryResponse,
18583
14
    &ett_e2ap_RICQueryFailure,
18584
14
    &ett_e2ap_ErrorIndication,
18585
14
    &ett_e2ap_E2setupRequest,
18586
14
    &ett_e2ap_E2setupResponse,
18587
14
    &ett_e2ap_E2setupFailure,
18588
14
    &ett_e2ap_E2connectionUpdate,
18589
14
    &ett_e2ap_E2connectionUpdate_List,
18590
14
    &ett_e2ap_E2connectionUpdate_Item,
18591
14
    &ett_e2ap_E2connectionUpdateRemove_List,
18592
14
    &ett_e2ap_E2connectionUpdateRemove_Item,
18593
14
    &ett_e2ap_E2connectionUpdateAcknowledge,
18594
14
    &ett_e2ap_E2connectionSetupFailed_List,
18595
14
    &ett_e2ap_E2connectionSetupFailed_Item,
18596
14
    &ett_e2ap_E2connectionUpdateFailure,
18597
14
    &ett_e2ap_E2nodeConfigurationUpdate,
18598
14
    &ett_e2ap_E2nodeComponentConfigAddition_List,
18599
14
    &ett_e2ap_E2nodeComponentConfigAddition_Item,
18600
14
    &ett_e2ap_E2nodeComponentConfigUpdate_List,
18601
14
    &ett_e2ap_E2nodeComponentConfigUpdate_Item,
18602
14
    &ett_e2ap_E2nodeComponentConfigRemoval_List,
18603
14
    &ett_e2ap_E2nodeComponentConfigRemoval_Item,
18604
14
    &ett_e2ap_E2nodeTNLassociationRemoval_List,
18605
14
    &ett_e2ap_E2nodeTNLassociationRemoval_Item,
18606
14
    &ett_e2ap_E2nodeConfigurationUpdateAcknowledge,
18607
14
    &ett_e2ap_E2nodeComponentConfigAdditionAck_List,
18608
14
    &ett_e2ap_E2nodeComponentConfigAdditionAck_Item,
18609
14
    &ett_e2ap_E2nodeComponentConfigUpdateAck_List,
18610
14
    &ett_e2ap_E2nodeComponentConfigUpdateAck_Item,
18611
14
    &ett_e2ap_E2nodeComponentConfigRemovalAck_List,
18612
14
    &ett_e2ap_E2nodeComponentConfigRemovalAck_Item,
18613
14
    &ett_e2ap_E2nodeConfigurationUpdateFailure,
18614
14
    &ett_e2ap_ResetRequest,
18615
14
    &ett_e2ap_ResetResponse,
18616
14
    &ett_e2ap_RICserviceUpdate,
18617
14
    &ett_e2ap_RANfunctions_List,
18618
14
    &ett_e2ap_RANfunction_Item,
18619
14
    &ett_e2ap_RANfunctionsID_List,
18620
14
    &ett_e2ap_RANfunctionID_Item,
18621
14
    &ett_e2ap_RICserviceUpdateAcknowledge,
18622
14
    &ett_e2ap_RANfunctionsIDcause_List,
18623
14
    &ett_e2ap_RANfunctionIDcause_Item,
18624
14
    &ett_e2ap_RICserviceUpdateFailure,
18625
14
    &ett_e2ap_RICserviceQuery,
18626
14
    &ett_e2ap_E2RemovalRequest,
18627
14
    &ett_e2ap_E2RemovalResponse,
18628
14
    &ett_e2ap_E2RemovalFailure,
18629
14
    &ett_e2ap_E2AP_PDU,
18630
14
    &ett_e2ap_InitiatingMessage,
18631
14
    &ett_e2ap_SuccessfulOutcome,
18632
14
    &ett_e2ap_UnsuccessfulOutcome,
18633
14
    &ett_e2ap_CGI,
18634
14
    &ett_e2ap_InterfaceIdentifier,
18635
14
    &ett_e2ap_InterfaceID_NG,
18636
14
    &ett_e2ap_InterfaceID_Xn,
18637
14
    &ett_e2ap_InterfaceID_F1,
18638
14
    &ett_e2ap_InterfaceID_E1,
18639
14
    &ett_e2ap_InterfaceID_S1,
18640
14
    &ett_e2ap_InterfaceID_X2,
18641
14
    &ett_e2ap_T_nodeType,
18642
14
    &ett_e2ap_InterfaceID_W1,
18643
14
    &ett_e2ap_Interface_MessageID,
18644
14
    &ett_e2ap_RANfunction_Name,
18645
14
    &ett_e2ap_RRC_MessageID,
18646
14
    &ett_e2ap_T_rrcType,
18647
14
    &ett_e2ap_ServingCell_ARFCN,
18648
14
    &ett_e2ap_ServingCell_PCI,
18649
14
    &ett_e2ap_UEID,
18650
14
    &ett_e2ap_UEID_GNB,
18651
14
    &ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List,
18652
14
    &ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item,
18653
14
    &ett_e2ap_UEID_GNB_CU_F1AP_ID_List,
18654
14
    &ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item,
18655
14
    &ett_e2ap_UEID_GNB_DU,
18656
14
    &ett_e2ap_UEID_GNB_CU_UP,
18657
14
    &ett_e2ap_UEID_NG_ENB,
18658
14
    &ett_e2ap_UEID_NG_ENB_DU,
18659
14
    &ett_e2ap_UEID_EN_GNB,
18660
14
    &ett_e2ap_UEID_ENB,
18661
14
    &ett_e2ap_GUMMEI,
18662
14
    &ett_e2ap_EUTRA_CGI,
18663
14
    &ett_e2ap_GlobalGNB_ID,
18664
14
    &ett_e2ap_GlobalNgENB_ID,
18665
14
    &ett_e2ap_GNB_ID,
18666
14
    &ett_e2ap_GUAMI,
18667
14
    &ett_e2ap_NgENB_ID,
18668
14
    &ett_e2ap_NR_CGI,
18669
14
    &ett_e2ap_S_NSSAI,
18670
14
    &ett_e2ap_GlobalNGRANNodeID,
18671
14
    &ett_e2ap_NR_ARFCN,
18672
14
    &ett_e2ap_NRFrequencyBand_List,
18673
14
    &ett_e2ap_NRFrequencyBandItem,
18674
14
    &ett_e2ap_NRFrequencyInfo,
18675
14
    &ett_e2ap_SupportedSULBandList,
18676
14
    &ett_e2ap_SupportedSULFreqBandItem,
18677
14
    &ett_e2ap_NeighborCell_List,
18678
14
    &ett_e2ap_NeighborCell_Item,
18679
14
    &ett_e2ap_NeighborCell_Item_Choice_NR,
18680
14
    &ett_e2ap_NeighborCell_Item_Choice_E_UTRA,
18681
14
    &ett_e2ap_NeighborRelation_Info,
18682
14
    &ett_e2ap_EventTrigger_Cell_Info,
18683
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item,
18684
14
    &ett_e2ap_EventTrigger_Cell_Info_Item,
18685
14
    &ett_e2ap_T_cellType,
18686
14
    &ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual,
18687
14
    &ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group,
18688
14
    &ett_e2ap_EventTrigger_UE_Info,
18689
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item,
18690
14
    &ett_e2ap_EventTrigger_UE_Info_Item,
18691
14
    &ett_e2ap_T_ueType,
18692
14
    &ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual,
18693
14
    &ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group,
18694
14
    &ett_e2ap_EventTrigger_UEevent_Info,
18695
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item,
18696
14
    &ett_e2ap_EventTrigger_UEevent_Info_Item,
18697
14
    &ett_e2ap_RANParameter_Definition,
18698
14
    &ett_e2ap_RANParameter_Definition_Choice,
18699
14
    &ett_e2ap_RANParameter_Definition_Choice_LIST,
18700
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item,
18701
14
    &ett_e2ap_RANParameter_Definition_Choice_LIST_Item,
18702
14
    &ett_e2ap_RANParameter_Definition_Choice_STRUCTURE,
18703
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item,
18704
14
    &ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item,
18705
14
    &ett_e2ap_RANParameter_Value,
18706
14
    &ett_e2ap_RANParameter_ValueType,
18707
14
    &ett_e2ap_RANParameter_ValueType_Choice_ElementTrue,
18708
14
    &ett_e2ap_RANParameter_ValueType_Choice_ElementFalse,
18709
14
    &ett_e2ap_RANParameter_ValueType_Choice_Structure,
18710
14
    &ett_e2ap_RANParameter_ValueType_Choice_List,
18711
14
    &ett_e2ap_RANParameter_STRUCTURE,
18712
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item,
18713
14
    &ett_e2ap_RANParameter_STRUCTURE_Item,
18714
14
    &ett_e2ap_RANParameter_LIST,
18715
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE,
18716
14
    &ett_e2ap_RANParameter_Testing,
18717
14
    &ett_e2ap_RANParameter_TestingCondition,
18718
14
    &ett_e2ap_RANParameter_Testing_Item,
18719
14
    &ett_e2ap_T_ranParameter_Type,
18720
14
    &ett_e2ap_RANParameter_Testing_Item_Choice_List,
18721
14
    &ett_e2ap_RANParameter_Testing_Item_Choice_Structure,
18722
14
    &ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue,
18723
14
    &ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse,
18724
14
    &ett_e2ap_RANParameter_Testing_LIST,
18725
14
    &ett_e2ap_RANParameter_Testing_STRUCTURE,
18726
14
    &ett_e2ap_RIC_PolicyAction,
18727
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item,
18728
14
    &ett_e2ap_RIC_PolicyAction_RANParameter_Item,
18729
14
    &ett_e2ap_E2SM_RC_EventTrigger,
18730
14
    &ett_e2ap_T_ric_eventTrigger_formats,
18731
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format1,
18732
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item,
18733
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format1_Item,
18734
14
    &ett_e2ap_MessageType_Choice,
18735
14
    &ett_e2ap_MessageType_Choice_NI,
18736
14
    &ett_e2ap_MessageType_Choice_RRC,
18737
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format2,
18738
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format3,
18739
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item,
18740
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format3_Item,
18741
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format4,
18742
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item,
18743
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format4_Item,
18744
14
    &ett_e2ap_TriggerType_Choice,
18745
14
    &ett_e2ap_TriggerType_Choice_RRCstate,
18746
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item,
18747
14
    &ett_e2ap_TriggerType_Choice_RRCstate_Item,
18748
14
    &ett_e2ap_TriggerType_Choice_UEID,
18749
14
    &ett_e2ap_TriggerType_Choice_L2state,
18750
14
    &ett_e2ap_E2SM_RC_EventTrigger_Format5,
18751
14
    &ett_e2ap_E2SM_RC_ActionDefinition,
18752
14
    &ett_e2ap_T_ric_actionDefinition_formats,
18753
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format1,
18754
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item,
18755
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item,
18756
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format2,
18757
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item,
18758
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item,
18759
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format3,
18760
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item,
18761
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item,
18762
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format4,
18763
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item,
18764
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item,
18765
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item,
18766
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item,
18767
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item,
18768
14
    &ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item,
18769
14
    &ett_e2ap_E2SM_RC_IndicationHeader,
18770
14
    &ett_e2ap_T_ric_indicationHeader_formats,
18771
14
    &ett_e2ap_E2SM_RC_IndicationHeader_Format1,
18772
14
    &ett_e2ap_E2SM_RC_IndicationHeader_Format2,
18773
14
    &ett_e2ap_E2SM_RC_IndicationHeader_Format3,
18774
14
    &ett_e2ap_E2SM_RC_IndicationMessage,
18775
14
    &ett_e2ap_T_ric_indicationMessage_formats,
18776
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format1,
18777
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item,
18778
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item,
18779
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format2,
18780
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item,
18781
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item,
18782
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
18783
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
18784
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format3,
18785
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item,
18786
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item,
18787
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format4,
18788
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE,
18789
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell,
18790
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE,
18791
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell,
18792
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format5,
18793
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item,
18794
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item,
18795
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format6,
18796
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item,
18797
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item,
18798
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item,
18799
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item,
18800
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item,
18801
14
    &ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item,
18802
14
    &ett_e2ap_E2SM_RC_CallProcessID,
18803
14
    &ett_e2ap_T_ric_callProcessID_formats,
18804
14
    &ett_e2ap_E2SM_RC_CallProcessID_Format1,
18805
14
    &ett_e2ap_E2SM_RC_ControlHeader,
18806
14
    &ett_e2ap_T_ric_controlHeader_formats,
18807
14
    &ett_e2ap_E2SM_RC_ControlHeader_Format1,
18808
14
    &ett_e2ap_E2SM_RC_ControlHeader_Format2,
18809
14
    &ett_e2ap_E2SM_RC_ControlMessage,
18810
14
    &ett_e2ap_T_ric_controlMessage_formats,
18811
14
    &ett_e2ap_E2SM_RC_ControlMessage_Format1,
18812
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item,
18813
14
    &ett_e2ap_E2SM_RC_ControlMessage_Format1_Item,
18814
14
    &ett_e2ap_E2SM_RC_ControlMessage_Format2,
18815
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item,
18816
14
    &ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item,
18817
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item,
18818
14
    &ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item,
18819
14
    &ett_e2ap_E2SM_RC_ControlOutcome,
18820
14
    &ett_e2ap_T_ric_controlOutcome_formats,
18821
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format1,
18822
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item,
18823
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item,
18824
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format2,
18825
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item,
18826
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item,
18827
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item,
18828
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item,
18829
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item,
18830
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item,
18831
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format3,
18832
14
    &ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item,
18833
14
    &ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item,
18834
14
    &ett_e2ap_E2SM_RC_RANFunctionDefinition,
18835
14
    &ett_e2ap_RANFunctionDefinition_EventTrigger,
18836
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item,
18837
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item,
18838
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item,
18839
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item,
18840
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item,
18841
14
    &ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item,
18842
14
    &ett_e2ap_L2Parameters_RANParameter_Item,
18843
14
    &ett_e2ap_UEIdentification_RANParameter_Item,
18844
14
    &ett_e2ap_CellIdentification_RANParameter_Item,
18845
14
    &ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item,
18846
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
18847
14
    &ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
18848
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item,
18849
14
    &ett_e2ap_CallProcessBreakpoint_RANParameter_Item,
18850
14
    &ett_e2ap_RANFunctionDefinition_Report,
18851
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item,
18852
14
    &ett_e2ap_RANFunctionDefinition_Report_Item,
18853
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item,
18854
14
    &ett_e2ap_Report_RANParameter_Item,
18855
14
    &ett_e2ap_RANFunctionDefinition_Insert,
18856
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item,
18857
14
    &ett_e2ap_RANFunctionDefinition_Insert_Item,
18858
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item,
18859
14
    &ett_e2ap_RANFunctionDefinition_Insert_Indication_Item,
18860
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item,
18861
14
    &ett_e2ap_InsertIndication_RANParameter_Item,
18862
14
    &ett_e2ap_RANFunctionDefinition_Control,
18863
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item,
18864
14
    &ett_e2ap_RANFunctionDefinition_Control_Item,
18865
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item,
18866
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item,
18867
14
    &ett_e2ap_ControlOutcome_RANParameter_Item,
18868
14
    &ett_e2ap_RANFunctionDefinition_Control_Action_Item,
18869
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item,
18870
14
    &ett_e2ap_ControlAction_RANParameter_Item,
18871
14
    &ett_e2ap_RANFunctionDefinition_Policy,
18872
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item,
18873
14
    &ett_e2ap_RANFunctionDefinition_Policy_Item,
18874
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item,
18875
14
    &ett_e2ap_RANFunctionDefinition_Policy_Action_Item,
18876
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item,
18877
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item,
18878
14
    &ett_e2ap_PolicyAction_RANParameter_Item,
18879
14
    &ett_e2ap_PolicyCondition_RANParameter_Item,
18880
14
    &ett_e2ap_BinRangeValue,
18881
14
    &ett_e2ap_MeasurementType,
18882
14
    &ett_e2ap_MeasurementLabel,
18883
14
    &ett_e2ap_TestCondInfo,
18884
14
    &ett_e2ap_TestCond_Type,
18885
14
    &ett_e2ap_TestCond_Value,
18886
14
    &ett_e2ap_BinRangeDefinition,
18887
14
    &ett_e2ap_BinRangeList,
18888
14
    &ett_e2ap_BinRangeItem,
18889
14
    &ett_e2ap_DistMeasurementBinRangeList,
18890
14
    &ett_e2ap_DistMeasurementBinRangeItem,
18891
14
    &ett_e2ap_MeasurementInfoList,
18892
14
    &ett_e2ap_MeasurementInfoItem,
18893
14
    &ett_e2ap_LabelInfoList,
18894
14
    &ett_e2ap_LabelInfoItem,
18895
14
    &ett_e2ap_MeasurementData,
18896
14
    &ett_e2ap_MeasurementDataItem,
18897
14
    &ett_e2ap_MeasurementRecord,
18898
14
    &ett_e2ap_MeasurementRecordItem,
18899
14
    &ett_e2ap_MeasurementInfo_Action_List,
18900
14
    &ett_e2ap_MeasurementInfo_Action_Item,
18901
14
    &ett_e2ap_MeasurementCondList,
18902
14
    &ett_e2ap_MeasurementCondItem,
18903
14
    &ett_e2ap_MeasurementCondUEidList,
18904
14
    &ett_e2ap_MeasurementCondUEidItem,
18905
14
    &ett_e2ap_MatchingCondList,
18906
14
    &ett_e2ap_MatchingCondItem,
18907
14
    &ett_e2ap_MatchingCondItem_Choice,
18908
14
    &ett_e2ap_MatchingUEidList,
18909
14
    &ett_e2ap_MatchingUEidItem,
18910
14
    &ett_e2ap_MatchingUEidPerGP,
18911
14
    &ett_e2ap_MatchingUEidPerGP_Item,
18912
14
    &ett_e2ap_T_matchedPerGP,
18913
14
    &ett_e2ap_MatchingUEidList_PerGP,
18914
14
    &ett_e2ap_MatchingUEidItem_PerGP,
18915
14
    &ett_e2ap_MatchingUeCondPerSubList,
18916
14
    &ett_e2ap_MatchingUeCondPerSubItem,
18917
14
    &ett_e2ap_MatchingUEidPerSubList,
18918
14
    &ett_e2ap_MatchingUEidPerSubItem,
18919
14
    &ett_e2ap_UEMeasurementReportList,
18920
14
    &ett_e2ap_UEMeasurementReportItem,
18921
14
    &ett_e2ap_E2SM_KPM_EventTriggerDefinition,
18922
14
    &ett_e2ap_T_eventDefinition_formats,
18923
14
    &ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1,
18924
14
    &ett_e2ap_E2SM_KPM_ActionDefinition,
18925
14
    &ett_e2ap_T_actionDefinition_formats,
18926
14
    &ett_e2ap_E2SM_KPM_ActionDefinition_Format1,
18927
14
    &ett_e2ap_E2SM_KPM_ActionDefinition_Format2,
18928
14
    &ett_e2ap_E2SM_KPM_ActionDefinition_Format3,
18929
14
    &ett_e2ap_E2SM_KPM_ActionDefinition_Format4,
18930
14
    &ett_e2ap_E2SM_KPM_ActionDefinition_Format5,
18931
14
    &ett_e2ap_E2SM_KPM_IndicationHeader,
18932
14
    &ett_e2ap_T_indicationHeader_formats,
18933
14
    &ett_e2ap_E2SM_KPM_IndicationHeader_Format1,
18934
14
    &ett_e2ap_E2SM_KPM_IndicationMessage,
18935
14
    &ett_e2ap_T_indicationMessage_formats,
18936
14
    &ett_e2ap_E2SM_KPM_IndicationMessage_Format1,
18937
14
    &ett_e2ap_E2SM_KPM_IndicationMessage_Format2,
18938
14
    &ett_e2ap_E2SM_KPM_IndicationMessage_Format3,
18939
14
    &ett_e2ap_E2SM_KPM_RANfunction_Description,
18940
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item,
18941
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item,
18942
14
    &ett_e2ap_RIC_EventTriggerStyle_Item,
18943
14
    &ett_e2ap_RIC_ReportStyle_Item,
18944
14
    &ett_e2ap_E2SM_NI_EventTriggerDefinition,
18945
14
    &ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1,
18946
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item,
18947
14
    &ett_e2ap_E2SM_NI_ActionDefinition,
18948
14
    &ett_e2ap_E2SM_NI_ActionDefinitionFormat,
18949
14
    &ett_e2ap_E2SM_NI_ActionDefinition_Format1,
18950
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item,
18951
14
    &ett_e2ap_E2SM_NI_ActionDefinition_Format2,
18952
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item,
18953
14
    &ett_e2ap_E2SM_NI_IndicationHeader,
18954
14
    &ett_e2ap_E2SM_NI_IndicationHeader_Format1,
18955
14
    &ett_e2ap_E2SM_NI_IndicationMessage,
18956
14
    &ett_e2ap_E2SM_NI_IndicationMessage_Format1,
18957
14
    &ett_e2ap_E2SM_NI_CallProcessID,
18958
14
    &ett_e2ap_E2SM_NI_CallProcessID_Format1,
18959
14
    &ett_e2ap_E2SM_NI_CallProcessID_Format2,
18960
14
    &ett_e2ap_E2SM_NI_ControlHeader,
18961
14
    &ett_e2ap_E2SM_NI_ControlHeader_Format1,
18962
14
    &ett_e2ap_E2SM_NI_ControlMessage,
18963
14
    &ett_e2ap_E2SM_NI_ControlMessage_Format1,
18964
14
    &ett_e2ap_E2SM_NI_ControlOutcome,
18965
14
    &ett_e2ap_E2SM_NI_ControlOutcome_Format1,
18966
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item,
18967
14
    &ett_e2ap_E2SM_NI_RANfunction_Description,
18968
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item,
18969
14
    &ett_e2ap_E2SM_NI_RANfunction_Item,
18970
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List,
18971
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List,
18972
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List,
18973
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List,
18974
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List,
18975
14
    &ett_e2ap_Global_gNB_DU_ID,
18976
14
    &ett_e2ap_Global_gNB_CU_UP_ID,
18977
14
    &ett_e2ap_NI_Identifier,
18978
14
    &ett_e2ap_NI_MessageType,
18979
14
    &ett_e2ap_NI_MessageTypeApproach1,
18980
14
    &ett_e2ap_NI_ProtocolIE_Item,
18981
14
    &ett_e2ap_NI_ProtocolIE_Value,
18982
14
    &ett_e2ap_RANimperativePolicy,
18983
14
    &ett_e2ap_RANparameter_Item,
18984
14
    &ett_e2ap_RANparameterDef_Item,
18985
14
    &ett_e2ap_RANparameter_Value,
18986
14
    &ett_e2ap_RANueGroup_Item,
18987
14
    &ett_e2ap_RANueGroupDefinition,
18988
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item,
18989
14
    &ett_e2ap_RANueGroupDef_Item,
18990
14
    &ett_e2ap_RIC_ControlStyle_List,
18991
14
    &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item,
18992
14
    &ett_e2ap_RIC_EventTriggerStyle_List,
18993
14
    &ett_e2ap_RIC_InsertStyle_List,
18994
14
    &ett_e2ap_RIC_PolicyStyle_List,
18995
14
    &ett_e2ap_RIC_ReportStyle_List,
18996
14
  };
18997
18998
14
  static ei_register_info ei[] = {
18999
14
     { &ei_e2ap_ran_function_names_no_match, { "e2ap.ran-function-names-no-match", PI_PROTOCOL, PI_WARN, "RAN Function name doesn't match known service models", EXPFILL }},
19000
14
     { &ei_e2ap_ran_function_id_not_mapped,   { "e2ap.ran-function-id-not-known", PI_PROTOCOL, PI_WARN, "Service Model not known for RANFunctionID", EXPFILL }},
19001
14
     { &ei_e2ap_ran_function_dissector_mismatch,   { "e2ap.ran-function-dissector-version-mismatch", PI_PROTOCOL, PI_WARN, "Available dissector does not match signalled", EXPFILL }},
19002
14
     { &ei_e2ap_ran_function_max_dissectors_registered,   { "e2ap.ran-function-max-dissectors-registered", PI_PROTOCOL, PI_WARN, "Max dissectors already registered in table", EXPFILL }},
19003
19004
14
  };
19005
19006
14
  expert_module_t* expert_e2ap;
19007
19008
  /* Register protocol */
19009
14
  proto_e2ap = proto_register_protocol("E2 Application Protocol", "E2AP", "e2ap");
19010
  /* Register fields and subtrees */
19011
14
  proto_register_field_array(proto_e2ap, hf, array_length(hf));
19012
14
  proto_register_subtree_array(ett, array_length(ett));
19013
19014
19015
  /* Register dissector */
19016
14
  e2ap_handle = register_dissector("e2ap", dissect_e2ap, proto_e2ap);
19017
19018
14
  module_t *e2ap_module;
19019
14
  expert_e2ap = expert_register_protocol(proto_e2ap);
19020
14
  expert_register_field_array(expert_e2ap, ei, array_length(ei));
19021
19022
  /* Register dissector tables */
19023
14
  e2ap_ies_dissector_table = register_dissector_table("e2ap.ies", "E2AP-PROTOCOL-IES", proto_e2ap, FT_UINT32, BASE_DEC);
19024
19025
  //  e2ap_ies_p1_dissector_table = register_dissector_table("e2ap.ies.pair.first", "E2AP-PROTOCOL-IES-PAIR FirstValue", proto_e2ap, FT_UINT32, BASE_DEC);
19026
  //  e2ap_ies_p2_dissector_table = register_dissector_table("e2ap.ies.pair.second", "E2AP-PROTOCOL-IES-PAIR SecondValue", proto_e2ap, FT_UINT32, BASE_DEC);
19027
14
  e2ap_extension_dissector_table = register_dissector_table("e2ap.extension", "E2AP-PROTOCOL-EXTENSION", proto_e2ap, FT_UINT32, BASE_DEC);
19028
14
  e2ap_proc_imsg_dissector_table = register_dissector_table("e2ap.proc.imsg", "E2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_e2ap, FT_UINT32, BASE_DEC);
19029
14
  e2ap_proc_sout_dissector_table = register_dissector_table("e2ap.proc.sout", "E2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
19030
14
  e2ap_proc_uout_dissector_table = register_dissector_table("e2ap.proc.uout", "E2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
19031
14
  e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, STRING_CASE_SENSITIVE);
19032
19033
  /* Preference settings */
19034
14
  e2ap_module = prefs_register_protocol(proto_e2ap, NULL);
19035
19036
14
  static const enum_val_t rc_version_vals[] = {
19037
14
      {"version-1",        "Version-1",           RC_Version_1},
19038
14
      {"version-3",        "Version-3",           RC_Version_3},
19039
14
      {NULL, NULL, -1}
19040
14
  };
19041
19042
14
  prefs_register_enum_preference(e2ap_module, "rc_manual_version_choice",
19043
14
      "Manual choice of RC dissector version to call",
19044
14
      "Set version of RC dissector to use for that RANFunction. Unfortunately, so far all "
19045
14
      "OIDs say they are version 1..",
19046
14
      &e2ap_rc_version_pref_choice, rc_version_vals, true);
19047
19048
14
  register_init_routine(&e2ap_init_protocol);
19049
19050
14
  e2ap_tap = register_tap("e2ap");
19051
14
}
19052
19053
/*
19054
 * Editor modelines
19055
 *
19056
 * Local Variables:
19057
 * c-basic-offset: 2
19058
 * tab-width: 8
19059
 * indent-tabs-mode: nil
19060
 * End:
19061
 *
19062
 * ex: set shiftwidth=2 tabstop=8 expandtab:
19063
 * :indentSize=2:tabSize=8:noTabs=true:
19064
 */