Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-e2ap.c
blob69ae37838b654a67539281499414e5b77ac364c3
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 */
6 /* packet-e2ap.c
7 * Routines for E2APApplication Protocol (e2ap) packet dissection
8 * Copyright 2021, Martin Mathieson
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
16 * References: ORAN-WG3.E2AP-v03.00, ORAN-WG3.E2SM-KPM-v03.00, ORAN-WG3.E2SM-RC.03.00
19 #include "config.h"
21 #include <epan/packet.h>
22 #include <epan/strutil.h>
23 #include <epan/asn1.h>
24 #include <epan/prefs.h>
25 #include <epan/sctpppids.h>
26 #include <epan/expert.h>
27 #include <epan/proto_data.h>
28 #include <epan/conversation.h>
29 #include <epan/to_str.h>
30 #include <epan/oids.h>
31 #include <epan/tap.h>
32 #include <epan/stats_tree.h>
33 #include <wsutil/array.h>
35 #include "packet-e2ap.h"
36 #include "packet-per.h"
37 #include "packet-ntp.h"
39 #define PNAME "E2 Application Protocol"
40 #define PSNAME "E2AP"
41 #define PFNAME "e2ap"
43 /* Dissector will use SCTP PPID 70, 71 or 72 or SCTP port 37464. */
44 #define SCTP_PORT_E2AP 37464
46 /* RC Version (can't infer from OIDs..) */
47 enum manual_rc_version_choice {
48 RC_Version_1=1,
49 RC_Version_3=3
51 /* Default to later available version */
52 static int e2ap_rc_version_pref_choice = (int)RC_Version_3;
54 void proto_register_e2ap(void);
55 void proto_reg_handoff_e2ap(void);
57 static dissector_handle_t e2ap_handle;
59 #define maxProtocolIEs 65535
60 #define maxnoofErrors 256
61 #define maxofE2nodeComponents 1024
62 #define maxofRANfunctionID 256
63 #define maxofRICactionID 16
64 #define maxofTNLA 32
65 #define maxofRICrequestID 1024
66 #define maxE1APid 65535
67 #define maxF1APid 4
68 #define maxEARFCN 65535
69 #define maxNRARFCN 3279165
70 #define maxnoofNrCellBands 32
71 #define maxnoofMessages 65535
72 #define maxnoofE2InfoChanges 65535
73 #define maxnoofUEInfoChanges 65535
74 #define maxnoofRRCstate 8
75 #define maxnoofParametersToReport 65535
76 #define maxnoofPolicyConditions 65535
77 #define maxnoofAssociatedRANParameters 65535
78 #define maxnoofUEID 65535
79 #define maxnoofCellID 65535
80 #define maxnoofRANOutcomeParameters 255
81 #define maxnoofParametersinStructure 65535
82 #define maxnoofItemsinList 65535
83 #define maxnoofUEInfo 65535
84 #define maxnoofCellInfo 65535
85 #define maxnoofUEeventInfo 65535
86 #define maxnoofRANparamTest 255
87 #define maxnoofNeighbourCell 65535
88 #define maxnoofRICStyles 63
89 #define maxnoofCallProcessTypes 65535
90 #define maxnoofCallProcessBreakpoints 65535
91 #define maxnoofInsertIndication 65535
92 #define maxnoofControlAction 65535
93 #define maxnoofPolicyAction 65535
94 #define maxnoofInsertIndicationActions 63
95 #define maxnoofMulCtrlActions 63
96 #define maxnoofCells 16384
97 #define maxnoofMeasurementInfo 65535
98 #define maxnoofLabelInfo 2147483647
99 #define maxnoofMeasurementRecord 65535
100 #define maxnoofMeasurementValue 2147483647
101 #define maxnoofConditionInfo 32768
102 #define maxnoofConditionInfoPerSub 32768
103 #define maxnoofUEIDPerSub 65535
104 #define maxnoofUEMeasReport 65535
105 #define maxnoofBin 65535
106 #define maxofInterfaceProtocolTests 15
107 #define maxofRANueGroups 255
108 #define maxofActionParameters 255
109 #define maxofRANparameters 65535
110 #define maxofNItypes 63
111 #define maxofRICstyles 63
113 typedef enum _ProcedureCode_enum {
114 id_E2setup = 1,
115 id_ErrorIndication = 2,
116 id_Reset = 3,
117 id_RICcontrol = 4,
118 id_RICindication = 5,
119 id_RICserviceQuery = 6,
120 id_RICserviceUpdate = 7,
121 id_RICsubscription = 8,
122 id_RICsubscriptionDelete = 9,
123 id_E2nodeConfigurationUpdate = 10,
124 id_E2connectionUpdate = 11,
125 id_RICsubscriptionDeleteRequired = 12,
126 id_E2removal = 13,
127 id_RICsubscriptionModification = 14,
128 id_RICsubscriptionModificationRequired = 15,
129 id_RICquery = 16
130 } ProcedureCode_enum;
132 typedef enum _ProtocolIE_ID_enum {
133 id_Cause = 1,
134 id_CriticalityDiagnostics = 2,
135 id_GlobalE2node_ID = 3,
136 id_GlobalRIC_ID = 4,
137 id_RANfunctionID = 5,
138 id_RANfunctionID_Item = 6,
139 id_RANfunctionIEcause_Item = 7,
140 id_RANfunction_Item = 8,
141 id_RANfunctionsAccepted = 9,
142 id_RANfunctionsAdded = 10,
143 id_RANfunctionsDeleted = 11,
144 id_RANfunctionsModified = 12,
145 id_RANfunctionsRejected = 13,
146 id_RICaction_Admitted_Item = 14,
147 id_RICactionID = 15,
148 id_RICaction_NotAdmitted_Item = 16,
149 id_RICactions_Admitted = 17,
150 id_RICactions_NotAdmitted = 18,
151 id_RICaction_ToBeSetup_Item = 19,
152 id_RICcallProcessID = 20,
153 id_RICcontrolAckRequest = 21,
154 id_RICcontrolHeader = 22,
155 id_RICcontrolMessage = 23,
156 id_RICcontrolStatus = 24,
157 id_RICindicationHeader = 25,
158 id_RICindicationMessage = 26,
159 id_RICindicationSN = 27,
160 id_RICindicationType = 28,
161 id_RICrequestID = 29,
162 id_RICsubscriptionDetails = 30,
163 id_TimeToWait = 31,
164 id_RICcontrolOutcome = 32,
165 id_E2nodeComponentConfigUpdate = 33,
166 id_E2nodeComponentConfigUpdate_Item = 34,
167 id_E2nodeComponentConfigUpdateAck = 35,
168 id_E2nodeComponentConfigUpdateAck_Item = 36,
169 id_E2connectionSetup = 39,
170 id_E2connectionSetupFailed = 40,
171 id_E2connectionSetupFailed_Item = 41,
172 id_E2connectionFailed_Item = 42,
173 id_E2connectionUpdate_Item = 43,
174 id_E2connectionUpdateAdd = 44,
175 id_E2connectionUpdateModify = 45,
176 id_E2connectionUpdateRemove = 46,
177 id_E2connectionUpdateRemove_Item = 47,
178 id_TNLinformation = 48,
179 id_TransactionID = 49,
180 id_E2nodeComponentConfigAddition = 50,
181 id_E2nodeComponentConfigAddition_Item = 51,
182 id_E2nodeComponentConfigAdditionAck = 52,
183 id_E2nodeComponentConfigAdditionAck_Item = 53,
184 id_E2nodeComponentConfigRemoval = 54,
185 id_E2nodeComponentConfigRemoval_Item = 55,
186 id_E2nodeComponentConfigRemovalAck = 56,
187 id_E2nodeComponentConfigRemovalAck_Item = 57,
188 id_E2nodeTNLassociationRemoval = 58,
189 id_E2nodeTNLassociationRemoval_Item = 59,
190 id_RICsubscriptionToBeRemoved = 60,
191 id_RICsubscription_withCause_Item = 61,
192 id_RICsubscriptionStartTime = 62,
193 id_RICsubscriptionEndTime = 63,
194 id_RICeventTriggerDefinitionToBeModified = 64,
195 id_RICactionsToBeRemovedForModification_List = 65,
196 id_RICaction_ToBeRemovedForModification_Item = 66,
197 id_RICactionsToBeModifiedForModification_List = 67,
198 id_RICaction_ToBeModifiedForModification_Item = 68,
199 id_RICactionsToBeAddedForModification_List = 69,
200 id_RICaction_ToBeAddedForModification_Item = 70,
201 id_RICactionsRemovedForModification_List = 71,
202 id_RICaction_RemovedForModification_Item = 72,
203 id_RICactionsFailedToBeRemovedForModification_List = 73,
204 id_RICaction_FailedToBeRemovedForModification_Item = 74,
205 id_RICactionsModifiedForModification_List = 75,
206 id_RICaction_ModifiedForModification_Item = 76,
207 id_RICactionsFailedToBeModifiedForModification_List = 77,
208 id_RICaction_FailedToBeModifiedForModification_Item = 78,
209 id_RICactionsAddedForModification_List = 79,
210 id_RICaction_AddedForModification_Item = 80,
211 id_RICactionsFailedToBeAddedForModification_List = 81,
212 id_RICaction_FailedToBeAddedForModification_Item = 82,
213 id_RICactionsRequiredToBeModified_List = 83,
214 id_RICaction_RequiredToBeModified_Item = 84,
215 id_RICactionsRequiredToBeRemoved_List = 85,
216 id_RICaction_RequiredToBeRemoved_Item = 86,
217 id_RICactionsConfirmedForModification_List = 87,
218 id_RICaction_ConfirmedForModification_Item = 88,
219 id_RICactionsRefusedToBeModified_List = 89,
220 id_RICaction_RefusedToBeModified_Item = 90,
221 id_RICactionsConfirmedForRemoval_List = 91,
222 id_RICaction_ConfirmedForRemoval_Item = 92,
223 id_RICactionsRefusedToBeRemoved_List = 93,
224 id_RICaction_RefusedToBeRemoved_Item = 94,
225 id_RICqueryHeader = 95,
226 id_RICqueryDefinition = 96,
227 id_RICqueryOutcome = 97
228 } ProtocolIE_ID_enum;
230 /* Initialize the protocol and registered fields */
231 static int proto_e2ap;
232 static int hf_e2ap_Cause_PDU; /* Cause */
233 static int hf_e2ap_CriticalityDiagnostics_PDU; /* CriticalityDiagnostics */
234 static int hf_e2ap_GlobalE2node_ID_PDU; /* GlobalE2node_ID */
235 static int hf_e2ap_GlobalRIC_ID_PDU; /* GlobalRIC_ID */
236 static int hf_e2ap_RANfunctionID_PDU; /* RANfunctionID */
237 static int hf_e2ap_RICactionID_PDU; /* RICactionID */
238 static int hf_e2ap_RICcallProcessID_PDU; /* RICcallProcessID */
239 static int hf_e2ap_RICcontrolAckRequest_PDU; /* RICcontrolAckRequest */
240 static int hf_e2ap_RICcontrolHeader_PDU; /* RICcontrolHeader */
241 static int hf_e2ap_RICcontrolMessage_PDU; /* RICcontrolMessage */
242 static int hf_e2ap_RICcontrolOutcome_PDU; /* RICcontrolOutcome */
243 static int hf_e2ap_RICeventTriggerDefinition_PDU; /* RICeventTriggerDefinition */
244 static int hf_e2ap_RICindicationHeader_PDU; /* RICindicationHeader */
245 static int hf_e2ap_RICindicationMessage_PDU; /* RICindicationMessage */
246 static int hf_e2ap_RICindicationSN_PDU; /* RICindicationSN */
247 static int hf_e2ap_RICindicationType_PDU; /* RICindicationType */
248 static int hf_e2ap_RICrequestID_PDU; /* RICrequestID */
249 static int hf_e2ap_RICsubscriptionTime_PDU; /* RICsubscriptionTime */
250 static int hf_e2ap_RICqueryHeader_PDU; /* RICqueryHeader */
251 static int hf_e2ap_RICqueryDefinition_PDU; /* RICqueryDefinition */
252 static int hf_e2ap_RICqueryOutcome_PDU; /* RICqueryOutcome */
253 static int hf_e2ap_TimeToWait_PDU; /* TimeToWait */
254 static int hf_e2ap_TNLinformation_PDU; /* TNLinformation */
255 static int hf_e2ap_TransactionID_PDU; /* TransactionID */
256 static int hf_e2ap_RICsubscriptionRequest_PDU; /* RICsubscriptionRequest */
257 static int hf_e2ap_RICsubscriptionDetails_PDU; /* RICsubscriptionDetails */
258 static int hf_e2ap_RICaction_ToBeSetup_Item_PDU; /* RICaction_ToBeSetup_Item */
259 static int hf_e2ap_RICsubscriptionResponse_PDU; /* RICsubscriptionResponse */
260 static int hf_e2ap_RICaction_Admitted_List_PDU; /* RICaction_Admitted_List */
261 static int hf_e2ap_RICaction_Admitted_Item_PDU; /* RICaction_Admitted_Item */
262 static int hf_e2ap_RICaction_NotAdmitted_List_PDU; /* RICaction_NotAdmitted_List */
263 static int hf_e2ap_RICaction_NotAdmitted_Item_PDU; /* RICaction_NotAdmitted_Item */
264 static int hf_e2ap_RICsubscriptionFailure_PDU; /* RICsubscriptionFailure */
265 static int hf_e2ap_RICsubscriptionDeleteRequest_PDU; /* RICsubscriptionDeleteRequest */
266 static int hf_e2ap_RICsubscriptionDeleteResponse_PDU; /* RICsubscriptionDeleteResponse */
267 static int hf_e2ap_RICsubscriptionDeleteFailure_PDU; /* RICsubscriptionDeleteFailure */
268 static int hf_e2ap_RICsubscriptionDeleteRequired_PDU; /* RICsubscriptionDeleteRequired */
269 static int hf_e2ap_RICsubscription_List_withCause_PDU; /* RICsubscription_List_withCause */
270 static int hf_e2ap_RICsubscription_withCause_Item_PDU; /* RICsubscription_withCause_Item */
271 static int hf_e2ap_RICsubscriptionModificationRequest_PDU; /* RICsubscriptionModificationRequest */
272 static int hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU; /* RICactions_ToBeRemovedForModification_List */
273 static int hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU; /* RICaction_ToBeRemovedForModification_Item */
274 static int hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU; /* RICactions_ToBeModifiedForModification_List */
275 static int hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU; /* RICaction_ToBeModifiedForModification_Item */
276 static int hf_e2ap_RICactions_ToBeAddedForModification_List_PDU; /* RICactions_ToBeAddedForModification_List */
277 static int hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU; /* RICaction_ToBeAddedForModification_Item */
278 static int hf_e2ap_RICsubscriptionModificationResponse_PDU; /* RICsubscriptionModificationResponse */
279 static int hf_e2ap_RICactions_RemovedForModification_List_PDU; /* RICactions_RemovedForModification_List */
280 static int hf_e2ap_RICaction_RemovedForModification_Item_PDU; /* RICaction_RemovedForModification_Item */
281 static int hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU; /* RICactions_FailedToBeRemovedForModification_List */
282 static int hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU; /* RICaction_FailedToBeRemovedForModification_Item */
283 static int hf_e2ap_RICactions_ModifiedForModification_List_PDU; /* RICactions_ModifiedForModification_List */
284 static int hf_e2ap_RICaction_ModifiedForModification_Item_PDU; /* RICaction_ModifiedForModification_Item */
285 static int hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU; /* RICactions_FailedToBeModifiedForModification_List */
286 static int hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU; /* RICaction_FailedToBeModifiedForModification_Item */
287 static int hf_e2ap_RICactions_AddedForModification_List_PDU; /* RICactions_AddedForModification_List */
288 static int hf_e2ap_RICaction_AddedForModification_Item_PDU; /* RICaction_AddedForModification_Item */
289 static int hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU; /* RICactions_FailedToBeAddedForModification_List */
290 static int hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU; /* RICaction_FailedToBeAddedForModification_Item */
291 static int hf_e2ap_RICsubscriptionModificationFailure_PDU; /* RICsubscriptionModificationFailure */
292 static int hf_e2ap_RICsubscriptionModificationRequired_PDU; /* RICsubscriptionModificationRequired */
293 static int hf_e2ap_RICactions_RequiredToBeModified_List_PDU; /* RICactions_RequiredToBeModified_List */
294 static int hf_e2ap_RICaction_RequiredToBeModified_Item_PDU; /* RICaction_RequiredToBeModified_Item */
295 static int hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU; /* RICactions_RequiredToBeRemoved_List */
296 static int hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU; /* RICaction_RequiredToBeRemoved_Item */
297 static int hf_e2ap_RICsubscriptionModificationConfirm_PDU; /* RICsubscriptionModificationConfirm */
298 static int hf_e2ap_RICactions_ConfirmedForModification_List_PDU; /* RICactions_ConfirmedForModification_List */
299 static int hf_e2ap_RICaction_ConfirmedForModification_Item_PDU; /* RICaction_ConfirmedForModification_Item */
300 static int hf_e2ap_RICactions_RefusedToBeModified_List_PDU; /* RICactions_RefusedToBeModified_List */
301 static int hf_e2ap_RICaction_RefusedToBeModified_Item_PDU; /* RICaction_RefusedToBeModified_Item */
302 static int hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU; /* RICactions_ConfirmedForRemoval_List */
303 static int hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU; /* RICaction_ConfirmedForRemoval_Item */
304 static int hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU; /* RICactions_RefusedToBeRemoved_List */
305 static int hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU; /* RICaction_RefusedToBeRemoved_Item */
306 static int hf_e2ap_RICsubscriptionModificationRefuse_PDU; /* RICsubscriptionModificationRefuse */
307 static int hf_e2ap_RICindication_PDU; /* RICindication */
308 static int hf_e2ap_RICcontrolRequest_PDU; /* RICcontrolRequest */
309 static int hf_e2ap_RICcontrolAcknowledge_PDU; /* RICcontrolAcknowledge */
310 static int hf_e2ap_RICcontrolFailure_PDU; /* RICcontrolFailure */
311 static int hf_e2ap_RICQueryRequest_PDU; /* RICQueryRequest */
312 static int hf_e2ap_RICQueryResponse_PDU; /* RICQueryResponse */
313 static int hf_e2ap_RICQueryFailure_PDU; /* RICQueryFailure */
314 static int hf_e2ap_ErrorIndication_PDU; /* ErrorIndication */
315 static int hf_e2ap_E2setupRequest_PDU; /* E2setupRequest */
316 static int hf_e2ap_E2setupResponse_PDU; /* E2setupResponse */
317 static int hf_e2ap_E2setupFailure_PDU; /* E2setupFailure */
318 static int hf_e2ap_E2connectionUpdate_PDU; /* E2connectionUpdate */
319 static int hf_e2ap_E2connectionUpdate_List_PDU; /* E2connectionUpdate_List */
320 static int hf_e2ap_E2connectionUpdate_Item_PDU; /* E2connectionUpdate_Item */
321 static int hf_e2ap_E2connectionUpdateRemove_List_PDU; /* E2connectionUpdateRemove_List */
322 static int hf_e2ap_E2connectionUpdateRemove_Item_PDU; /* E2connectionUpdateRemove_Item */
323 static int hf_e2ap_E2connectionUpdateAcknowledge_PDU; /* E2connectionUpdateAcknowledge */
324 static int hf_e2ap_E2connectionSetupFailed_List_PDU; /* E2connectionSetupFailed_List */
325 static int hf_e2ap_E2connectionSetupFailed_Item_PDU; /* E2connectionSetupFailed_Item */
326 static int hf_e2ap_E2connectionUpdateFailure_PDU; /* E2connectionUpdateFailure */
327 static int hf_e2ap_E2nodeConfigurationUpdate_PDU; /* E2nodeConfigurationUpdate */
328 static int hf_e2ap_E2nodeComponentConfigAddition_List_PDU; /* E2nodeComponentConfigAddition_List */
329 static int hf_e2ap_E2nodeComponentConfigAddition_Item_PDU; /* E2nodeComponentConfigAddition_Item */
330 static int hf_e2ap_E2nodeComponentConfigUpdate_List_PDU; /* E2nodeComponentConfigUpdate_List */
331 static int hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU; /* E2nodeComponentConfigUpdate_Item */
332 static int hf_e2ap_E2nodeComponentConfigRemoval_List_PDU; /* E2nodeComponentConfigRemoval_List */
333 static int hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU; /* E2nodeComponentConfigRemoval_Item */
334 static int hf_e2ap_E2nodeTNLassociationRemoval_List_PDU; /* E2nodeTNLassociationRemoval_List */
335 static int hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU; /* E2nodeTNLassociationRemoval_Item */
336 static int hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU; /* E2nodeConfigurationUpdateAcknowledge */
337 static int hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU; /* E2nodeComponentConfigAdditionAck_List */
338 static int hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU; /* E2nodeComponentConfigAdditionAck_Item */
339 static int hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU; /* E2nodeComponentConfigUpdateAck_List */
340 static int hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU; /* E2nodeComponentConfigUpdateAck_Item */
341 static int hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU; /* E2nodeComponentConfigRemovalAck_List */
342 static int hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU; /* E2nodeComponentConfigRemovalAck_Item */
343 static int hf_e2ap_E2nodeConfigurationUpdateFailure_PDU; /* E2nodeConfigurationUpdateFailure */
344 static int hf_e2ap_ResetRequest_PDU; /* ResetRequest */
345 static int hf_e2ap_ResetResponse_PDU; /* ResetResponse */
346 static int hf_e2ap_RICserviceUpdate_PDU; /* RICserviceUpdate */
347 static int hf_e2ap_RANfunctions_List_PDU; /* RANfunctions_List */
348 static int hf_e2ap_RANfunction_Item_PDU; /* RANfunction_Item */
349 static int hf_e2ap_RANfunctionsID_List_PDU; /* RANfunctionsID_List */
350 static int hf_e2ap_RANfunctionID_Item_PDU; /* RANfunctionID_Item */
351 static int hf_e2ap_RICserviceUpdateAcknowledge_PDU; /* RICserviceUpdateAcknowledge */
352 static int hf_e2ap_RANfunctionsIDcause_List_PDU; /* RANfunctionsIDcause_List */
353 static int hf_e2ap_RANfunctionIDcause_Item_PDU; /* RANfunctionIDcause_Item */
354 static int hf_e2ap_RICserviceUpdateFailure_PDU; /* RICserviceUpdateFailure */
355 static int hf_e2ap_RICserviceQuery_PDU; /* RICserviceQuery */
356 static int hf_e2ap_E2RemovalRequest_PDU; /* E2RemovalRequest */
357 static int hf_e2ap_E2RemovalResponse_PDU; /* E2RemovalResponse */
358 static int hf_e2ap_E2RemovalFailure_PDU; /* E2RemovalFailure */
359 static int hf_e2ap_E2AP_PDU_PDU; /* E2AP_PDU */
360 static int hf_e2ap_E2SM_RC_EventTrigger_PDU; /* E2SM_RC_EventTrigger */
361 static int hf_e2ap_E2SM_RC_ActionDefinition_PDU; /* E2SM_RC_ActionDefinition */
362 static int hf_e2ap_E2SM_RC_IndicationHeader_PDU; /* E2SM_RC_IndicationHeader */
363 static int hf_e2ap_E2SM_RC_IndicationMessage_PDU; /* E2SM_RC_IndicationMessage */
364 static int hf_e2ap_E2SM_RC_CallProcessID_PDU; /* E2SM_RC_CallProcessID */
365 static int hf_e2ap_E2SM_RC_ControlHeader_PDU; /* E2SM_RC_ControlHeader */
366 static int hf_e2ap_E2SM_RC_ControlMessage_PDU; /* E2SM_RC_ControlMessage */
367 static int hf_e2ap_E2SM_RC_ControlOutcome_PDU; /* E2SM_RC_ControlOutcome */
368 static int hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU; /* E2SM_RC_RANFunctionDefinition */
369 static int hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU; /* E2SM_KPM_EventTriggerDefinition */
370 static int hf_e2ap_E2SM_KPM_ActionDefinition_PDU; /* E2SM_KPM_ActionDefinition */
371 static int hf_e2ap_E2SM_KPM_IndicationHeader_PDU; /* E2SM_KPM_IndicationHeader */
372 static int hf_e2ap_E2SM_KPM_IndicationMessage_PDU; /* E2SM_KPM_IndicationMessage */
373 static int hf_e2ap_E2SM_KPM_RANfunction_Description_PDU; /* E2SM_KPM_RANfunction_Description */
374 static int hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU; /* E2SM_NI_EventTriggerDefinition */
375 static int hf_e2ap_E2SM_NI_ActionDefinition_PDU; /* E2SM_NI_ActionDefinition */
376 static int hf_e2ap_E2SM_NI_IndicationHeader_PDU; /* E2SM_NI_IndicationHeader */
377 static int hf_e2ap_E2SM_NI_IndicationMessage_PDU; /* E2SM_NI_IndicationMessage */
378 static int hf_e2ap_E2SM_NI_CallProcessID_PDU; /* E2SM_NI_CallProcessID */
379 static int hf_e2ap_E2SM_NI_ControlHeader_PDU; /* E2SM_NI_ControlHeader */
380 static int hf_e2ap_E2SM_NI_ControlMessage_PDU; /* E2SM_NI_ControlMessage */
381 static int hf_e2ap_E2SM_NI_ControlOutcome_PDU; /* E2SM_NI_ControlOutcome */
382 static int hf_e2ap_E2SM_NI_RANfunction_Description_PDU; /* E2SM_NI_RANfunction_Description */
383 static int hf_e2ap_ProtocolIE_Container_item; /* ProtocolIE_Field */
384 static int hf_e2ap_id; /* ProtocolIE_ID */
385 static int hf_e2ap_criticality; /* Criticality */
386 static int hf_e2ap_value; /* T_value */
387 static int hf_e2ap_ricRequest; /* CauseRICrequest */
388 static int hf_e2ap_ricService; /* CauseRICservice */
389 static int hf_e2ap_e2Node; /* CauseE2node */
390 static int hf_e2ap_transport; /* CauseTransport */
391 static int hf_e2ap_protocol; /* CauseProtocol */
392 static int hf_e2ap_misc; /* CauseMisc */
393 static int hf_e2ap_procedureCode; /* ProcedureCode */
394 static int hf_e2ap_triggeringMessage; /* TriggeringMessage */
395 static int hf_e2ap_procedureCriticality; /* Criticality */
396 static int hf_e2ap_ricRequestorID; /* RICrequestID */
397 static int hf_e2ap_iEsCriticalityDiagnostics; /* CriticalityDiagnostics_IE_List */
398 static int hf_e2ap_CriticalityDiagnostics_IE_List_item; /* CriticalityDiagnostics_IE_Item */
399 static int hf_e2ap_iECriticality; /* Criticality */
400 static int hf_e2ap_iE_ID; /* ProtocolIE_ID */
401 static int hf_e2ap_typeOfError; /* TypeOfError */
402 static int hf_e2ap_e2nodeComponentRequestPart; /* T_e2nodeComponentRequestPart */
403 static int hf_e2ap_e2nodeComponentResponsePart; /* T_e2nodeComponentResponsePart */
404 static int hf_e2ap_updateOutcome; /* T_updateOutcome */
405 static int hf_e2ap_failureCause; /* Cause */
406 static int hf_e2ap_e2nodeComponentInterfaceTypeNG; /* T_e2nodeComponentInterfaceTypeNG */
407 static int hf_e2ap_e2nodeComponentInterfaceTypeXn; /* T_e2nodeComponentInterfaceTypeXn */
408 static int hf_e2ap_e2nodeComponentInterfaceTypeE1; /* T_e2nodeComponentInterfaceTypeE1 */
409 static int hf_e2ap_e2nodeComponentInterfaceTypeF1; /* T_e2nodeComponentInterfaceTypeF1 */
410 static int hf_e2ap_e2nodeComponentInterfaceTypeW1; /* E2nodeComponentInterfaceW1 */
411 static int hf_e2ap_e2nodeComponentInterfaceTypeS1; /* T_e2nodeComponentInterfaceTypeS1 */
412 static int hf_e2ap_e2nodeComponentInterfaceTypeX2; /* T_e2nodeComponentInterfaceTypeX2 */
413 static int hf_e2ap_gNB_CU_UP_ID; /* GNB_CU_UP_ID */
414 static int hf_e2ap_gNB_DU_ID; /* GNB_DU_ID */
415 static int hf_e2ap_amf_name; /* AMFName */
416 static int hf_e2ap_mme_name; /* MMEname */
417 static int hf_e2ap_global_eNB_ID; /* GlobalENB_ID */
418 static int hf_e2ap_global_en_gNB_ID; /* GlobalenGNB_ID */
419 static int hf_e2ap_global_NG_RAN_Node_ID; /* GlobalNG_RANNode_ID */
420 static int hf_e2ap_ng_eNB_DU_ID; /* NGENB_DU_ID */
421 static int hf_e2ap_macro_eNB_ID; /* BIT_STRING_SIZE_20 */
422 static int hf_e2ap_home_eNB_ID; /* BIT_STRING_SIZE_28 */
423 static int hf_e2ap_short_Macro_eNB_ID; /* BIT_STRING_SIZE_18 */
424 static int hf_e2ap_long_Macro_eNB_ID; /* BIT_STRING_SIZE_21 */
425 static int hf_e2ap_enb_ID_macro; /* BIT_STRING_SIZE_20 */
426 static int hf_e2ap_enb_ID_shortmacro; /* BIT_STRING_SIZE_18 */
427 static int hf_e2ap_enb_ID_longmacro; /* BIT_STRING_SIZE_21 */
428 static int hf_e2ap_gNB_ID; /* BIT_STRING_SIZE_22_32 */
429 static int hf_e2ap_gNB; /* GlobalE2node_gNB_ID */
430 static int hf_e2ap_en_gNB; /* GlobalE2node_en_gNB_ID */
431 static int hf_e2ap_ng_eNB; /* GlobalE2node_ng_eNB_ID */
432 static int hf_e2ap_eNB; /* GlobalE2node_eNB_ID */
433 static int hf_e2ap_en_gNB_CU_UP_ID; /* GNB_CU_UP_ID */
434 static int hf_e2ap_en_gNB_DU_ID; /* GNB_DU_ID */
435 static int hf_e2ap_global_gNB_ID; /* GlobalgNB_ID */
436 static int hf_e2ap_global_ng_eNB_ID; /* GlobalngeNB_ID */
437 static int hf_e2ap_ngENB_DU_ID; /* NGENB_DU_ID */
438 static int hf_e2ap_pLMN_Identity; /* PLMN_Identity */
439 static int hf_e2ap_eNB_ID; /* ENB_ID */
440 static int hf_e2ap_gNB_ID_01; /* ENGNB_ID */
441 static int hf_e2ap_plmn_id; /* PLMN_Identity */
442 static int hf_e2ap_gnb_id; /* T_gnb_id */
443 static int hf_e2ap_enb_id; /* ENB_ID_Choice */
444 static int hf_e2ap_gNB_01; /* GlobalgNB_ID */
445 static int hf_e2ap_ng_eNB_01; /* GlobalngeNB_ID */
446 static int hf_e2ap_ric_ID; /* BIT_STRING_SIZE_20 */
447 static int hf_e2ap_gnb_ID; /* BIT_STRING_SIZE_22_32 */
448 static int hf_e2ap_ricRequestorID_01; /* INTEGER_0_65535 */
449 static int hf_e2ap_ricInstanceID; /* INTEGER_0_65535 */
450 static int hf_e2ap_ricSubsequentActionType; /* RICsubsequentActionType */
451 static int hf_e2ap_ricTimeToWait; /* RICtimeToWait */
452 static int hf_e2ap_tnlAddress; /* T_tnlAddress */
453 static int hf_e2ap_tnlPort; /* T_tnlPort */
454 static int hf_e2ap_protocolIEs; /* ProtocolIE_Container */
455 static int hf_e2ap_ricEventTriggerDefinition; /* RICeventTriggerDefinition */
456 static int hf_e2ap_ricAction_ToBeSetup_List; /* RICactions_ToBeSetup_List */
457 static int hf_e2ap_RICactions_ToBeSetup_List_item; /* ProtocolIE_SingleContainer */
458 static int hf_e2ap_ricActionID; /* RICactionID */
459 static int hf_e2ap_ricActionType; /* RICactionType */
460 static int hf_e2ap_ricActionDefinition; /* RICactionDefinition */
461 static int hf_e2ap_ricSubsequentAction; /* RICsubsequentAction */
462 static int hf_e2ap_ricActionExecutionOrder; /* RICactionExecutionOrder */
463 static int hf_e2ap_RICaction_Admitted_List_item; /* ProtocolIE_SingleContainer */
464 static int hf_e2ap_RICaction_NotAdmitted_List_item; /* ProtocolIE_SingleContainer */
465 static int hf_e2ap_cause; /* Cause */
466 static int hf_e2ap_RICsubscription_List_withCause_item; /* ProtocolIE_SingleContainer */
467 static int hf_e2ap_ricRequestID; /* RICrequestID */
468 static int hf_e2ap_ranFunctionID; /* RANfunctionID */
469 static int hf_e2ap_RICactions_ToBeRemovedForModification_List_item; /* ProtocolIE_SingleContainer */
470 static int hf_e2ap_RICactions_ToBeModifiedForModification_List_item; /* ProtocolIE_SingleContainer */
471 static int hf_e2ap_RICactions_ToBeAddedForModification_List_item; /* ProtocolIE_SingleContainer */
472 static int hf_e2ap_RICactions_RemovedForModification_List_item; /* ProtocolIE_SingleContainer */
473 static int hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item; /* ProtocolIE_SingleContainer */
474 static int hf_e2ap_RICactions_ModifiedForModification_List_item; /* ProtocolIE_SingleContainer */
475 static int hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item; /* ProtocolIE_SingleContainer */
476 static int hf_e2ap_RICactions_AddedForModification_List_item; /* ProtocolIE_SingleContainer */
477 static int hf_e2ap_RICactions_FailedToBeAddedForModification_List_item; /* ProtocolIE_SingleContainer */
478 static int hf_e2ap_RICactions_RequiredToBeModified_List_item; /* ProtocolIE_SingleContainer */
479 static int hf_e2ap_RICactions_RequiredToBeRemoved_List_item; /* ProtocolIE_SingleContainer */
480 static int hf_e2ap_RICactions_ConfirmedForModification_List_item; /* ProtocolIE_SingleContainer */
481 static int hf_e2ap_RICactions_RefusedToBeModified_List_item; /* ProtocolIE_SingleContainer */
482 static int hf_e2ap_RICactions_ConfirmedForRemoval_List_item; /* ProtocolIE_SingleContainer */
483 static int hf_e2ap_RICactions_RefusedToBeRemoved_List_item; /* ProtocolIE_SingleContainer */
484 static int hf_e2ap_E2connectionUpdate_List_item; /* ProtocolIE_SingleContainer */
485 static int hf_e2ap_tnlInformation; /* TNLinformation */
486 static int hf_e2ap_tnlUsage; /* TNLusage */
487 static int hf_e2ap_E2connectionUpdateRemove_List_item; /* ProtocolIE_SingleContainer */
488 static int hf_e2ap_E2connectionSetupFailed_List_item; /* ProtocolIE_SingleContainer */
489 static int hf_e2ap_E2nodeComponentConfigAddition_List_item; /* ProtocolIE_SingleContainer */
490 static int hf_e2ap_e2nodeComponentInterfaceType; /* E2nodeComponentInterfaceType */
491 static int hf_e2ap_e2nodeComponentID; /* E2nodeComponentID */
492 static int hf_e2ap_e2nodeComponentConfiguration; /* E2nodeComponentConfiguration */
493 static int hf_e2ap_E2nodeComponentConfigUpdate_List_item; /* ProtocolIE_SingleContainer */
494 static int hf_e2ap_E2nodeComponentConfigRemoval_List_item; /* ProtocolIE_SingleContainer */
495 static int hf_e2ap_E2nodeTNLassociationRemoval_List_item; /* ProtocolIE_SingleContainer */
496 static int hf_e2ap_tnlInformationRIC; /* TNLinformation */
497 static int hf_e2ap_E2nodeComponentConfigAdditionAck_List_item; /* ProtocolIE_SingleContainer */
498 static int hf_e2ap_e2nodeComponentConfigurationAck; /* E2nodeComponentConfigurationAck */
499 static int hf_e2ap_E2nodeComponentConfigUpdateAck_List_item; /* ProtocolIE_SingleContainer */
500 static int hf_e2ap_E2nodeComponentConfigRemovalAck_List_item; /* ProtocolIE_SingleContainer */
501 static int hf_e2ap_RANfunctions_List_item; /* ProtocolIE_SingleContainer */
502 static int hf_e2ap_ranFunctionDefinition; /* RANfunctionDefinition */
503 static int hf_e2ap_ranFunctionRevision; /* RANfunctionRevision */
504 static int hf_e2ap_ranFunctionOID; /* RANfunctionOID */
505 static int hf_e2ap_RANfunctionsID_List_item; /* ProtocolIE_SingleContainer */
506 static int hf_e2ap_RANfunctionsIDcause_List_item; /* ProtocolIE_SingleContainer */
507 static int hf_e2ap_initiatingMessage; /* InitiatingMessage */
508 static int hf_e2ap_successfulOutcome; /* SuccessfulOutcome */
509 static int hf_e2ap_unsuccessfulOutcome; /* UnsuccessfulOutcome */
510 static int hf_e2ap_initiatingMessagevalue; /* InitiatingMessage_value */
511 static int hf_e2ap_successfulOutcome_value; /* SuccessfulOutcome_value */
512 static int hf_e2ap_unsuccessfulOutcome_value; /* UnsuccessfulOutcome_value */
513 static int hf_e2ap_nR_CGI; /* NR_CGI */
514 static int hf_e2ap_eUTRA_CGI; /* EUTRA_CGI */
515 static int hf_e2ap_nG; /* InterfaceID_NG */
516 static int hf_e2ap_xN; /* InterfaceID_Xn */
517 static int hf_e2ap_f1; /* InterfaceID_F1 */
518 static int hf_e2ap_e1; /* InterfaceID_E1 */
519 static int hf_e2ap_s1; /* InterfaceID_S1 */
520 static int hf_e2ap_x2; /* InterfaceID_X2 */
521 static int hf_e2ap_w1; /* InterfaceID_W1 */
522 static int hf_e2ap_guami; /* GUAMI */
523 static int hf_e2ap_global_NG_RAN_ID; /* GlobalNGRANNodeID */
524 static int hf_e2ap_globalGNB_ID; /* GlobalGNB_ID */
525 static int hf_e2ap_gUMMEI; /* GUMMEI */
526 static int hf_e2ap_nodeType; /* T_nodeType */
527 static int hf_e2ap_global_ng_eNB_ID_01; /* GlobalNgENB_ID */
528 static int hf_e2ap_interfaceProcedureID; /* INTEGER */
529 static int hf_e2ap_messageType; /* T_messageType */
530 static int hf_e2ap_ranFunction_ShortName; /* T_ranFunction_ShortName */
531 static int hf_e2ap_ranFunction_E2SM_OID; /* PrintableString_SIZE_1_1000_ */
532 static int hf_e2ap_ranFunction_Description; /* PrintableString_SIZE_1_150_ */
533 static int hf_e2ap_ranFunction_Instance; /* INTEGER */
534 static int hf_e2ap_rrcType; /* T_rrcType */
535 static int hf_e2ap_lTE; /* RRCclass_LTE */
536 static int hf_e2ap_nR; /* RRCclass_NR */
537 static int hf_e2ap_messageID; /* INTEGER */
538 static int hf_e2ap_nR_01; /* NR_ARFCN */
539 static int hf_e2ap_eUTRA; /* E_UTRA_ARFCN */
540 static int hf_e2ap_nR_02; /* NR_PCI */
541 static int hf_e2ap_eUTRA_01; /* E_UTRA_PCI */
542 static int hf_e2ap_gNB_UEID; /* UEID_GNB */
543 static int hf_e2ap_gNB_DU_UEID; /* UEID_GNB_DU */
544 static int hf_e2ap_gNB_CU_UP_UEID; /* UEID_GNB_CU_UP */
545 static int hf_e2ap_ng_eNB_UEID; /* UEID_NG_ENB */
546 static int hf_e2ap_ng_eNB_DU_UEID; /* UEID_NG_ENB_DU */
547 static int hf_e2ap_en_gNB_UEID; /* UEID_EN_GNB */
548 static int hf_e2ap_eNB_UEID; /* UEID_ENB */
549 static int hf_e2ap_amf_UE_NGAP_ID; /* AMF_UE_NGAP_ID */
550 static int hf_e2ap_gNB_CU_UE_F1AP_ID_List; /* UEID_GNB_CU_F1AP_ID_List */
551 static int hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List; /* UEID_GNB_CU_CP_E1AP_ID_List */
552 static int hf_e2ap_ran_UEID; /* RANUEID */
553 static int hf_e2ap_m_NG_RAN_UE_XnAP_ID; /* NG_RANnodeUEXnAPID */
554 static int hf_e2ap_globalNG_RANNode_ID; /* GlobalNGRANNodeID */
555 static int hf_e2ap_UEID_GNB_CU_CP_E1AP_ID_List_item; /* UEID_GNB_CU_CP_E1AP_ID_Item */
556 static int hf_e2ap_gNB_CU_CP_UE_E1AP_ID; /* GNB_CU_CP_UE_E1AP_ID */
557 static int hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item; /* UEID_GNB_CU_CP_F1AP_ID_Item */
558 static int hf_e2ap_gNB_CU_UE_F1AP_ID; /* GNB_CU_UE_F1AP_ID */
559 static int hf_e2ap_ng_eNB_CU_UE_W1AP_ID; /* NGENB_CU_UE_W1AP_ID */
560 static int hf_e2ap_globalNgENB_ID; /* GlobalNgENB_ID */
561 static int hf_e2ap_m_eNB_UE_X2AP_ID; /* ENB_UE_X2AP_ID */
562 static int hf_e2ap_m_eNB_UE_X2AP_ID_Extension; /* ENB_UE_X2AP_ID_Extension */
563 static int hf_e2ap_globalENB_ID; /* GlobalENB_ID */
564 static int hf_e2ap_mME_UE_S1AP_ID; /* MME_UE_S1AP_ID */
565 static int hf_e2ap_pLMN_Identity_01; /* PLMNIdentity */
566 static int hf_e2ap_mME_Group_ID; /* MME_Group_ID */
567 static int hf_e2ap_mME_Code; /* MME_Code */
568 static int hf_e2ap_pLMNIdentity; /* PLMNIdentity */
569 static int hf_e2ap_eUTRACellIdentity; /* EUTRACellIdentity */
570 static int hf_e2ap_gNB_ID_02; /* GNB_ID */
571 static int hf_e2ap_ngENB_ID; /* NgENB_ID */
572 static int hf_e2ap_aMFRegionID; /* AMFRegionID */
573 static int hf_e2ap_aMFSetID; /* AMFSetID */
574 static int hf_e2ap_aMFPointer; /* AMFPointer */
575 static int hf_e2ap_macroNgENB_ID; /* BIT_STRING_SIZE_20 */
576 static int hf_e2ap_shortMacroNgENB_ID; /* BIT_STRING_SIZE_18 */
577 static int hf_e2ap_longMacroNgENB_ID; /* BIT_STRING_SIZE_21 */
578 static int hf_e2ap_nRCellIdentity; /* NRCellIdentity */
579 static int hf_e2ap_sST; /* SST */
580 static int hf_e2ap_sD; /* SD */
581 static int hf_e2ap_gNB_02; /* GlobalGNB_ID */
582 static int hf_e2ap_ng_eNB_02; /* GlobalNgENB_ID */
583 static int hf_e2ap_nRARFCN; /* INTEGER_0_maxNRARFCN */
584 static int hf_e2ap_NRFrequencyBand_List_item; /* NRFrequencyBandItem */
585 static int hf_e2ap_freqBandIndicatorNr; /* INTEGER_1_1024_ */
586 static int hf_e2ap_supportedSULBandList; /* SupportedSULBandList */
587 static int hf_e2ap_nrARFCN; /* NR_ARFCN */
588 static int hf_e2ap_frequencyBand_List; /* NRFrequencyBand_List */
589 static int hf_e2ap_frequencyShift7p5khz; /* NRFrequencyShift7p5khz */
590 static int hf_e2ap_SupportedSULBandList_item; /* SupportedSULFreqBandItem */
591 static int hf_e2ap_NeighborCell_List_item; /* NeighborCell_Item */
592 static int hf_e2ap_ranType_Choice_NR; /* NeighborCell_Item_Choice_NR */
593 static int hf_e2ap_ranType_Choice_EUTRA; /* NeighborCell_Item_Choice_E_UTRA */
594 static int hf_e2ap_nR_PCI; /* NR_PCI */
595 static int hf_e2ap_fiveGS_TAC; /* FiveGS_TAC */
596 static int hf_e2ap_nR_mode_info; /* T_nR_mode_info */
597 static int hf_e2ap_nR_FreqInfo; /* NRFrequencyInfo */
598 static int hf_e2ap_x2_Xn_established; /* T_x2_Xn_established */
599 static int hf_e2ap_hO_validated; /* T_hO_validated */
600 static int hf_e2ap_version; /* INTEGER_1_65535_ */
601 static int hf_e2ap_eUTRA_PCI; /* E_UTRA_PCI */
602 static int hf_e2ap_eUTRA_ARFCN; /* E_UTRA_ARFCN */
603 static int hf_e2ap_eUTRA_TAC; /* E_UTRA_TAC */
604 static int hf_e2ap_x2_Xn_established_01; /* T_x2_Xn_established_01 */
605 static int hf_e2ap_hO_validated_01; /* T_hO_validated_01 */
606 static int hf_e2ap_servingCellPCI; /* ServingCell_PCI */
607 static int hf_e2ap_servingCellARFCN; /* ServingCell_ARFCN */
608 static int hf_e2ap_neighborCell_List; /* NeighborCell_List */
609 static int hf_e2ap_cellInfo_List; /* SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item */
610 static int hf_e2ap_cellInfo_List_item; /* EventTrigger_Cell_Info_Item */
611 static int hf_e2ap_eventTriggerCellID; /* RIC_EventTrigger_Cell_ID */
612 static int hf_e2ap_cellType; /* T_cellType */
613 static int hf_e2ap_cellType_Choice_Individual; /* EventTrigger_Cell_Info_Item_Choice_Individual */
614 static int hf_e2ap_cellType_Choice_Group; /* EventTrigger_Cell_Info_Item_Choice_Group */
615 static int hf_e2ap_logicalOR; /* LogicalOR */
616 static int hf_e2ap_cellGlobalID; /* CGI */
617 static int hf_e2ap_ranParameterTesting; /* RANParameter_Testing */
618 static int hf_e2ap_ueInfo_List; /* SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item */
619 static int hf_e2ap_ueInfo_List_item; /* EventTrigger_UE_Info_Item */
620 static int hf_e2ap_eventTriggerUEID; /* RIC_EventTrigger_UE_ID */
621 static int hf_e2ap_ueType; /* T_ueType */
622 static int hf_e2ap_ueType_Choice_Individual; /* EventTrigger_UE_Info_Item_Choice_Individual */
623 static int hf_e2ap_ueType_Choice_Group; /* EventTrigger_UE_Info_Item_Choice_Group */
624 static int hf_e2ap_ueID; /* UEID */
625 static int hf_e2ap_ueEvent_List; /* SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item */
626 static int hf_e2ap_ueEvent_List_item; /* EventTrigger_UEevent_Info_Item */
627 static int hf_e2ap_ueEventID; /* RIC_EventTrigger_UEevent_ID */
628 static int hf_e2ap_ranParameter_Definition_Choice; /* RANParameter_Definition_Choice */
629 static int hf_e2ap_choiceLIST; /* RANParameter_Definition_Choice_LIST */
630 static int hf_e2ap_choiceSTRUCTURE; /* RANParameter_Definition_Choice_STRUCTURE */
631 static int hf_e2ap_ranParameter_List; /* SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item */
632 static int hf_e2ap_ranParameter_List_item; /* RANParameter_Definition_Choice_LIST_Item */
633 static int hf_e2ap_ranParameter_ID; /* RANParameter_ID */
634 static int hf_e2ap_ranParameter_name; /* RANParameter_Name */
635 static int hf_e2ap_ranParameter_Definition; /* RANParameter_Definition */
636 static int hf_e2ap_ranParameter_STRUCTURE; /* SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item */
637 static int hf_e2ap_ranParameter_STRUCTURE_item; /* RANParameter_Definition_Choice_STRUCTURE_Item */
638 static int hf_e2ap_valueBoolean; /* BOOLEAN */
639 static int hf_e2ap_valueInt; /* INTEGER */
640 static int hf_e2ap_valueReal; /* REAL */
641 static int hf_e2ap_valueBitS; /* BIT_STRING */
642 static int hf_e2ap_valueOctS; /* OCTET_STRING */
643 static int hf_e2ap_valuePrintableString; /* PrintableString */
644 static int hf_e2ap_ranP_Choice_ElementTrue; /* RANParameter_ValueType_Choice_ElementTrue */
645 static int hf_e2ap_ranP_Choice_ElementFalse; /* RANParameter_ValueType_Choice_ElementFalse */
646 static int hf_e2ap_ranP_Choice_Structure; /* RANParameter_ValueType_Choice_Structure */
647 static int hf_e2ap_ranP_Choice_List; /* RANParameter_ValueType_Choice_List */
648 static int hf_e2ap_ranParameter_value; /* RANParameter_Value */
649 static int hf_e2ap_ranParameter_Structure; /* RANParameter_STRUCTURE */
650 static int hf_e2ap_ranParameter_List_01; /* RANParameter_LIST */
651 static int hf_e2ap_sequence_of_ranParameters; /* SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item */
652 static int hf_e2ap_sequence_of_ranParameters_item; /* RANParameter_STRUCTURE_Item */
653 static int hf_e2ap_ranParameter_valueType; /* RANParameter_ValueType */
654 static int hf_e2ap_list_of_ranParameter; /* SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE */
655 static int hf_e2ap_list_of_ranParameter_item; /* RANParameter_STRUCTURE */
656 static int hf_e2ap_RANParameter_Testing_item; /* RANParameter_Testing_Item */
657 static int hf_e2ap_ranP_Choice_comparison; /* T_ranP_Choice_comparison */
658 static int hf_e2ap_ranP_Choice_presence; /* T_ranP_Choice_presence */
659 static int hf_e2ap_ranParameter_Type; /* T_ranParameter_Type */
660 static int hf_e2ap_ranP_Choice_List_01; /* RANParameter_Testing_Item_Choice_List */
661 static int hf_e2ap_ranP_Choice_Structure_01; /* RANParameter_Testing_Item_Choice_Structure */
662 static int hf_e2ap_ranP_Choice_ElementTrue_01; /* RANParameter_Testing_Item_Choice_ElementTrue */
663 static int hf_e2ap_ranP_Choice_ElementFalse_01; /* RANParameter_Testing_Item_Choice_ElementFalse */
664 static int hf_e2ap_ranParameter_List_02; /* RANParameter_Testing_LIST */
665 static int hf_e2ap_ranParameter_Structure_01; /* RANParameter_Testing_STRUCTURE */
666 static int hf_e2ap_ranParameter_TestCondition; /* RANParameter_TestingCondition */
667 static int hf_e2ap_ranParameter_Value; /* RANParameter_Value */
668 static int hf_e2ap_RANParameter_Testing_LIST_item; /* RANParameter_Testing_Item */
669 static int hf_e2ap_RANParameter_Testing_STRUCTURE_item; /* RANParameter_Testing_Item */
670 static int hf_e2ap_ric_PolicyAction_ID; /* RIC_ControlAction_ID */
671 static int hf_e2ap_ranParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item */
672 static int hf_e2ap_ranParameters_List_item; /* RIC_PolicyAction_RANParameter_Item */
673 static int hf_e2ap_ric_PolicyDecision; /* T_ric_PolicyDecision */
674 static int hf_e2ap_ric_eventTrigger_formats; /* T_ric_eventTrigger_formats */
675 static int hf_e2ap_eventTrigger_Format1; /* E2SM_RC_EventTrigger_Format1 */
676 static int hf_e2ap_eventTrigger_Format2; /* E2SM_RC_EventTrigger_Format2 */
677 static int hf_e2ap_eventTrigger_Format3; /* E2SM_RC_EventTrigger_Format3 */
678 static int hf_e2ap_eventTrigger_Format4; /* E2SM_RC_EventTrigger_Format4 */
679 static int hf_e2ap_eventTrigger_Format5; /* E2SM_RC_EventTrigger_Format5 */
680 static int hf_e2ap_message_List; /* SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item */
681 static int hf_e2ap_message_List_item; /* E2SM_RC_EventTrigger_Format1_Item */
682 static int hf_e2ap_globalAssociatedUEInfo; /* EventTrigger_UE_Info */
683 static int hf_e2ap_ric_eventTriggerCondition_ID; /* RIC_EventTriggerCondition_ID */
684 static int hf_e2ap_messageType_01; /* MessageType_Choice */
685 static int hf_e2ap_messageDirection; /* T_messageDirection */
686 static int hf_e2ap_associatedUEInfo; /* EventTrigger_UE_Info */
687 static int hf_e2ap_associatedUEEvent; /* EventTrigger_UEevent_Info */
688 static int hf_e2ap_messageType_Choice_NI; /* MessageType_Choice_NI */
689 static int hf_e2ap_messageType_Choice_RRC; /* MessageType_Choice_RRC */
690 static int hf_e2ap_nI_Type; /* InterfaceType */
691 static int hf_e2ap_nI_Identifier; /* InterfaceIdentifier */
692 static int hf_e2ap_nI_Message; /* Interface_MessageID */
693 static int hf_e2ap_rRC_Message; /* RRC_MessageID */
694 static int hf_e2ap_ric_callProcessType_ID; /* RIC_CallProcessType_ID */
695 static int hf_e2ap_ric_callProcessBreakpoint_ID; /* RIC_CallProcessBreakpoint_ID */
696 static int hf_e2ap_associatedE2NodeInfo; /* RANParameter_Testing */
697 static int hf_e2ap_e2NodeInfoChange_List; /* SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item */
698 static int hf_e2ap_e2NodeInfoChange_List_item; /* E2SM_RC_EventTrigger_Format3_Item */
699 static int hf_e2ap_e2NodeInfoChange_ID; /* INTEGER_1_512_ */
700 static int hf_e2ap_associatedCellInfo; /* EventTrigger_Cell_Info */
701 static int hf_e2ap_uEInfoChange_List; /* SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item */
702 static int hf_e2ap_uEInfoChange_List_item; /* E2SM_RC_EventTrigger_Format4_Item */
703 static int hf_e2ap_triggerType; /* TriggerType_Choice */
704 static int hf_e2ap_triggerType_Choice_RRCstate; /* TriggerType_Choice_RRCstate */
705 static int hf_e2ap_triggerType_Choice_UEID; /* TriggerType_Choice_UEID */
706 static int hf_e2ap_triggerType_Choice_L2state; /* TriggerType_Choice_L2state */
707 static int hf_e2ap_rrcState_List; /* SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item */
708 static int hf_e2ap_rrcState_List_item; /* TriggerType_Choice_RRCstate_Item */
709 static int hf_e2ap_stateChangedTo; /* RRC_State */
710 static int hf_e2ap_ueIDchange_ID; /* INTEGER_1_512_ */
711 static int hf_e2ap_associatedL2variables; /* RANParameter_Testing */
712 static int hf_e2ap_onDemand; /* T_onDemand */
713 static int hf_e2ap_ric_Style_Type; /* RIC_Style_Type */
714 static int hf_e2ap_ric_actionDefinition_formats; /* T_ric_actionDefinition_formats */
715 static int hf_e2ap_actionDefinition_Format1; /* E2SM_RC_ActionDefinition_Format1 */
716 static int hf_e2ap_actionDefinition_Format2; /* E2SM_RC_ActionDefinition_Format2 */
717 static int hf_e2ap_actionDefinition_Format3; /* E2SM_RC_ActionDefinition_Format3 */
718 static int hf_e2ap_actionDefinition_Format4; /* E2SM_RC_ActionDefinition_Format4 */
719 static int hf_e2ap_ranP_ToBeReported_List; /* SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item */
720 static int hf_e2ap_ranP_ToBeReported_List_item; /* E2SM_RC_ActionDefinition_Format1_Item */
721 static int hf_e2ap_ric_PolicyConditions_List; /* SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item */
722 static int hf_e2ap_ric_PolicyConditions_List_item; /* E2SM_RC_ActionDefinition_Format2_Item */
723 static int hf_e2ap_ric_PolicyAction; /* RIC_PolicyAction */
724 static int hf_e2ap_ric_PolicyConditionDefinition; /* RANParameter_Testing */
725 static int hf_e2ap_ric_InsertIndication_ID; /* RIC_InsertIndication_ID */
726 static int hf_e2ap_ranP_InsertIndication_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item */
727 static int hf_e2ap_ranP_InsertIndication_List_item; /* E2SM_RC_ActionDefinition_Format3_Item */
728 static int hf_e2ap_ric_InsertStyle_List; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item */
729 static int hf_e2ap_ric_InsertStyle_List_item; /* E2SM_RC_ActionDefinition_Format4_Style_Item */
730 static int hf_e2ap_requested_Insert_Style_Type; /* RIC_Style_Type */
731 static int hf_e2ap_ric_InsertIndication_List; /* SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item */
732 static int hf_e2ap_ric_InsertIndication_List_item; /* E2SM_RC_ActionDefinition_Format4_Indication_Item */
733 static int hf_e2ap_ranP_InsertIndication_List_01; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item */
734 static int hf_e2ap_ranP_InsertIndication_List_item_01; /* E2SM_RC_ActionDefinition_Format4_RANP_Item */
735 static int hf_e2ap_ric_indicationHeader_formats; /* T_ric_indicationHeader_formats */
736 static int hf_e2ap_indicationHeader_Format1; /* E2SM_RC_IndicationHeader_Format1 */
737 static int hf_e2ap_indicationHeader_Format2; /* E2SM_RC_IndicationHeader_Format2 */
738 static int hf_e2ap_indicationHeader_Format3; /* E2SM_RC_IndicationHeader_Format3 */
739 static int hf_e2ap_ric_InsertStyle_Type; /* RIC_Style_Type */
740 static int hf_e2ap_ric_indicationMessage_formats; /* T_ric_indicationMessage_formats */
741 static int hf_e2ap_indicationMessage_Format1; /* E2SM_RC_IndicationMessage_Format1 */
742 static int hf_e2ap_indicationMessage_Format2; /* E2SM_RC_IndicationMessage_Format2 */
743 static int hf_e2ap_indicationMessage_Format3; /* E2SM_RC_IndicationMessage_Format3 */
744 static int hf_e2ap_indicationMessage_Format4; /* E2SM_RC_IndicationMessage_Format4 */
745 static int hf_e2ap_indicationMessage_Format5; /* E2SM_RC_IndicationMessage_Format5 */
746 static int hf_e2ap_indicationMessage_Format6; /* E2SM_RC_IndicationMessage_Format6 */
747 static int hf_e2ap_ranP_Reported_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item */
748 static int hf_e2ap_ranP_Reported_List_item; /* E2SM_RC_IndicationMessage_Format1_Item */
749 static int hf_e2ap_ueParameter_List; /* SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item */
750 static int hf_e2ap_ueParameter_List_item; /* E2SM_RC_IndicationMessage_Format2_Item */
751 static int hf_e2ap_ranP_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item */
752 static int hf_e2ap_ranP_List_item; /* E2SM_RC_IndicationMessage_Format2_RANParameter_Item */
753 static int hf_e2ap_cellInfo_List_01; /* SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item */
754 static int hf_e2ap_cellInfo_List_item_01; /* E2SM_RC_IndicationMessage_Format3_Item */
755 static int hf_e2ap_cellGlobal_ID; /* CGI */
756 static int hf_e2ap_cellContextInfo; /* OCTET_STRING */
757 static int hf_e2ap_cellDeleted; /* BOOLEAN */
758 static int hf_e2ap_neighborRelation_Table; /* NeighborRelation_Info */
759 static int hf_e2ap_ueInfo_List_01; /* SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE */
760 static int hf_e2ap_ueInfo_List_item_01; /* E2SM_RC_IndicationMessage_Format4_ItemUE */
761 static int hf_e2ap_cellInfo_List_02; /* SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell */
762 static int hf_e2ap_cellInfo_List_item_02; /* E2SM_RC_IndicationMessage_Format4_ItemCell */
763 static int hf_e2ap_ueContextInfo; /* OCTET_STRING */
764 static int hf_e2ap_ranP_Requested_List; /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item */
765 static int hf_e2ap_ranP_Requested_List_item; /* E2SM_RC_IndicationMessage_Format5_Item */
766 static int hf_e2ap_ric_InsertStyle_List_01; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item */
767 static int hf_e2ap_ric_InsertStyle_List_item_01; /* E2SM_RC_IndicationMessage_Format6_Style_Item */
768 static int hf_e2ap_indicated_Insert_Style_Type; /* RIC_Style_Type */
769 static int hf_e2ap_ric_InsertIndication_List_01; /* SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item */
770 static int hf_e2ap_ric_InsertIndication_List_item_01; /* E2SM_RC_IndicationMessage_Format6_Indication_Item */
771 static int hf_e2ap_ranP_InsertIndication_List_02; /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item */
772 static int hf_e2ap_ranP_InsertIndication_List_item_02; /* E2SM_RC_IndicationMessage_Format6_RANP_Item */
773 static int hf_e2ap_ric_callProcessID_formats; /* T_ric_callProcessID_formats */
774 static int hf_e2ap_callProcessID_Format1; /* E2SM_RC_CallProcessID_Format1 */
775 static int hf_e2ap_ric_callProcess_ID; /* RAN_CallProcess_ID */
776 static int hf_e2ap_ric_controlHeader_formats; /* T_ric_controlHeader_formats */
777 static int hf_e2ap_controlHeader_Format1; /* E2SM_RC_ControlHeader_Format1 */
778 static int hf_e2ap_controlHeader_Format2; /* E2SM_RC_ControlHeader_Format2 */
779 static int hf_e2ap_ric_ControlAction_ID; /* RIC_ControlAction_ID */
780 static int hf_e2ap_ric_ControlDecision; /* T_ric_ControlDecision */
781 static int hf_e2ap_ric_ControlDecision_01; /* T_ric_ControlDecision_01 */
782 static int hf_e2ap_ric_controlMessage_formats; /* T_ric_controlMessage_formats */
783 static int hf_e2ap_controlMessage_Format1; /* E2SM_RC_ControlMessage_Format1 */
784 static int hf_e2ap_controlMessage_Format2; /* E2SM_RC_ControlMessage_Format2 */
785 static int hf_e2ap_ranP_List_01; /* SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item */
786 static int hf_e2ap_ranP_List_item_01; /* E2SM_RC_ControlMessage_Format1_Item */
787 static int hf_e2ap_ric_ControlStyle_List; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item */
788 static int hf_e2ap_ric_ControlStyle_List_item; /* E2SM_RC_ControlMessage_Format2_Style_Item */
789 static int hf_e2ap_indicated_Control_Style_Type; /* RIC_Style_Type */
790 static int hf_e2ap_ric_ControlAction_List; /* SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item */
791 static int hf_e2ap_ric_ControlAction_List_item; /* E2SM_RC_ControlMessage_Format2_ControlAction_Item */
792 static int hf_e2ap_ranP_List_02; /* E2SM_RC_ControlMessage_Format1 */
793 static int hf_e2ap_ric_controlOutcome_formats; /* T_ric_controlOutcome_formats */
794 static int hf_e2ap_controlOutcome_Format1; /* E2SM_RC_ControlOutcome_Format1 */
795 static int hf_e2ap_controlOutcome_Format2; /* E2SM_RC_ControlOutcome_Format2 */
796 static int hf_e2ap_controlOutcome_Format3; /* E2SM_RC_ControlOutcome_Format3 */
797 static int hf_e2ap_ranP_List_03; /* SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item */
798 static int hf_e2ap_ranP_List_item_02; /* E2SM_RC_ControlOutcome_Format1_Item */
799 static int hf_e2ap_ric_ControlStyle_List_01; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item */
800 static int hf_e2ap_ric_ControlStyle_List_item_01; /* E2SM_RC_ControlOutcome_Format2_Style_Item */
801 static int hf_e2ap_ric_ControlOutcome_List; /* SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item */
802 static int hf_e2ap_ric_ControlOutcome_List_item; /* E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item */
803 static int hf_e2ap_ranP_List_04; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item */
804 static int hf_e2ap_ranP_List_item_03; /* E2SM_RC_ControlOutcome_Format2_RANP_Item */
805 static int hf_e2ap_ranP_List_05; /* SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item */
806 static int hf_e2ap_ranP_List_item_04; /* E2SM_RC_ControlOutcome_Format3_Item */
807 static int hf_e2ap_ranFunction_Name; /* RANfunction_Name */
808 static int hf_e2ap_ranFunctionDefinition_EventTrigger; /* RANFunctionDefinition_EventTrigger */
809 static int hf_e2ap_ranFunctionDefinition_Report; /* RANFunctionDefinition_Report */
810 static int hf_e2ap_ranFunctionDefinition_Insert; /* RANFunctionDefinition_Insert */
811 static int hf_e2ap_ranFunctionDefinition_Control; /* RANFunctionDefinition_Control */
812 static int hf_e2ap_ranFunctionDefinition_Policy; /* RANFunctionDefinition_Policy */
813 static int hf_e2ap_ric_EventTriggerStyle_List; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item */
814 static int hf_e2ap_ric_EventTriggerStyle_List_item; /* RANFunctionDefinition_EventTrigger_Style_Item */
815 static int hf_e2ap_ran_L2Parameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item */
816 static int hf_e2ap_ran_L2Parameters_List_item; /* L2Parameters_RANParameter_Item */
817 static int hf_e2ap_ran_CallProcessTypes_List; /* SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item */
818 static int hf_e2ap_ran_CallProcessTypes_List_item; /* RANFunctionDefinition_EventTrigger_CallProcess_Item */
819 static int hf_e2ap_ran_UEIdentificationParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item */
820 static int hf_e2ap_ran_UEIdentificationParameters_List_item; /* UEIdentification_RANParameter_Item */
821 static int hf_e2ap_ran_CellIdentificationParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item */
822 static int hf_e2ap_ran_CellIdentificationParameters_List_item; /* CellIdentification_RANParameter_Item */
823 static int hf_e2ap_ric_EventTriggerStyle_Type; /* RIC_Style_Type */
824 static int hf_e2ap_ric_EventTriggerStyle_Name; /* RIC_Style_Name */
825 static int hf_e2ap_ric_EventTriggerFormat_Type; /* RIC_Format_Type */
826 static int hf_e2ap_callProcessType_ID; /* RIC_CallProcessType_ID */
827 static int hf_e2ap_callProcessType_Name; /* RIC_CallProcessType_Name */
828 static int hf_e2ap_callProcessBreakpoints_List; /* SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item */
829 static int hf_e2ap_callProcessBreakpoints_List_item; /* RANFunctionDefinition_EventTrigger_Breakpoint_Item */
830 static int hf_e2ap_callProcessBreakpoint_ID; /* RIC_CallProcessBreakpoint_ID */
831 static int hf_e2ap_callProcessBreakpoint_Name; /* RIC_CallProcessBreakpoint_Name */
832 static int hf_e2ap_ran_CallProcessBreakpointParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item */
833 static int hf_e2ap_ran_CallProcessBreakpointParameters_List_item; /* CallProcessBreakpoint_RANParameter_Item */
834 static int hf_e2ap_ric_ReportStyle_List; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item */
835 static int hf_e2ap_ric_ReportStyle_List_item; /* RANFunctionDefinition_Report_Item */
836 static int hf_e2ap_ric_ReportStyle_Type; /* RIC_Style_Type */
837 static int hf_e2ap_ric_ReportStyle_Name; /* RIC_Style_Name */
838 static int hf_e2ap_ric_SupportedEventTriggerStyle_Type; /* RIC_Style_Type */
839 static int hf_e2ap_ric_ReportActionFormat_Type; /* RIC_Format_Type */
840 static int hf_e2ap_ric_IndicationHeaderFormat_Type; /* RIC_Format_Type */
841 static int hf_e2ap_ric_IndicationMessageFormat_Type; /* RIC_Format_Type */
842 static int hf_e2ap_ran_ReportParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item */
843 static int hf_e2ap_ran_ReportParameters_List_item; /* Report_RANParameter_Item */
844 static int hf_e2ap_ric_InsertStyle_List_02; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item */
845 static int hf_e2ap_ric_InsertStyle_List_item_02; /* RANFunctionDefinition_Insert_Item */
846 static int hf_e2ap_ric_InsertStyle_Name; /* RIC_Style_Name */
847 static int hf_e2ap_ric_ActionDefinitionFormat_Type; /* RIC_Format_Type */
848 static int hf_e2ap_ric_InsertIndication_List_02; /* SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item */
849 static int hf_e2ap_ric_InsertIndication_List_item_02; /* RANFunctionDefinition_Insert_Indication_Item */
850 static int hf_e2ap_ric_CallProcessIDFormat_Type; /* RIC_Format_Type */
851 static int hf_e2ap_ric_InsertIndication_Name; /* RIC_InsertIndication_Name */
852 static int hf_e2ap_ran_InsertIndicationParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item */
853 static int hf_e2ap_ran_InsertIndicationParameters_List_item; /* InsertIndication_RANParameter_Item */
854 static int hf_e2ap_ric_ControlStyle_List_02; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item */
855 static int hf_e2ap_ric_ControlStyle_List_item_02; /* RANFunctionDefinition_Control_Item */
856 static int hf_e2ap_ric_ControlStyle_Type; /* RIC_Style_Type */
857 static int hf_e2ap_ric_ControlStyle_Name; /* RIC_Style_Name */
858 static int hf_e2ap_ric_ControlAction_List_01; /* SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item */
859 static int hf_e2ap_ric_ControlAction_List_item_01; /* RANFunctionDefinition_Control_Action_Item */
860 static int hf_e2ap_ric_ControlHeaderFormat_Type; /* RIC_Format_Type */
861 static int hf_e2ap_ric_ControlMessageFormat_Type; /* RIC_Format_Type */
862 static int hf_e2ap_ric_ControlOutcomeFormat_Type; /* RIC_Format_Type */
863 static int hf_e2ap_ran_ControlOutcomeParameters_List; /* SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item */
864 static int hf_e2ap_ran_ControlOutcomeParameters_List_item; /* ControlOutcome_RANParameter_Item */
865 static int hf_e2ap_ric_ControlAction_Name; /* RIC_ControlAction_Name */
866 static int hf_e2ap_ran_ControlActionParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item */
867 static int hf_e2ap_ran_ControlActionParameters_List_item; /* ControlAction_RANParameter_Item */
868 static int hf_e2ap_ric_PolicyStyle_List; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item */
869 static int hf_e2ap_ric_PolicyStyle_List_item; /* RANFunctionDefinition_Policy_Item */
870 static int hf_e2ap_ric_PolicyStyle_Type; /* RIC_Style_Type */
871 static int hf_e2ap_ric_PolicyStyle_Name; /* RIC_Style_Name */
872 static int hf_e2ap_ric_PolicyAction_List; /* SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item */
873 static int hf_e2ap_ric_PolicyAction_List_item; /* RANFunctionDefinition_Policy_Action_Item */
874 static int hf_e2ap_ric_PolicyAction_Name; /* RIC_ControlAction_Name */
875 static int hf_e2ap_ran_PolicyActionParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item */
876 static int hf_e2ap_ran_PolicyActionParameters_List_item; /* PolicyAction_RANParameter_Item */
877 static int hf_e2ap_ran_PolicyConditionParameters_List; /* SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item */
878 static int hf_e2ap_ran_PolicyConditionParameters_List_item; /* PolicyCondition_RANParameter_Item */
879 static int hf_e2ap_measName; /* MeasurementTypeName */
880 static int hf_e2ap_measID; /* MeasurementTypeID */
881 static int hf_e2ap_noLabel; /* T_noLabel */
882 static int hf_e2ap_plmnID; /* PLMNIdentity */
883 static int hf_e2ap_sliceID; /* S_NSSAI */
884 static int hf_e2ap_fiveQI; /* FiveQI */
885 static int hf_e2ap_qFI; /* QosFlowIdentifier */
886 static int hf_e2ap_qCI; /* QCI */
887 static int hf_e2ap_qCImax; /* QCI */
888 static int hf_e2ap_qCImin; /* QCI */
889 static int hf_e2ap_aRPmax; /* INTEGER_1_15_ */
890 static int hf_e2ap_aRPmin; /* INTEGER_1_15_ */
891 static int hf_e2ap_bitrateRange; /* INTEGER_1_65535_ */
892 static int hf_e2ap_layerMU_MIMO; /* INTEGER_1_65535_ */
893 static int hf_e2ap_sUM; /* T_sUM */
894 static int hf_e2ap_distBinX; /* INTEGER_1_65535_ */
895 static int hf_e2ap_distBinY; /* INTEGER_1_65535_ */
896 static int hf_e2ap_distBinZ; /* INTEGER_1_65535_ */
897 static int hf_e2ap_preLabelOverride; /* T_preLabelOverride */
898 static int hf_e2ap_startEndInd; /* T_startEndInd */
899 static int hf_e2ap_min; /* T_min */
900 static int hf_e2ap_max; /* T_max */
901 static int hf_e2ap_avg; /* T_avg */
902 static int hf_e2ap_ssbIndex; /* INTEGER_1_65535_ */
903 static int hf_e2ap_nonGoB_BFmode_Index; /* INTEGER_1_65535_ */
904 static int hf_e2ap_mIMO_mode_Index; /* INTEGER_1_2_ */
905 static int hf_e2ap_testType; /* TestCond_Type */
906 static int hf_e2ap_testExpr; /* TestCond_Expression */
907 static int hf_e2ap_testValue; /* TestCond_Value */
908 static int hf_e2ap_gBR; /* T_gBR */
909 static int hf_e2ap_aMBR; /* T_aMBR */
910 static int hf_e2ap_isStat; /* T_isStat */
911 static int hf_e2ap_isCatM; /* T_isCatM */
912 static int hf_e2ap_rSRP; /* T_rSRP */
913 static int hf_e2ap_rSRQ; /* T_rSRQ */
914 static int hf_e2ap_ul_rSRP; /* T_ul_rSRP */
915 static int hf_e2ap_cQI; /* T_cQI */
916 static int hf_e2ap_fiveQI_01; /* T_fiveQI */
917 static int hf_e2ap_qCI_01; /* T_qCI */
918 static int hf_e2ap_sNSSAI; /* T_sNSSAI */
919 static int hf_e2ap_valueEnum; /* INTEGER */
920 static int hf_e2ap_valueBool; /* BOOLEAN */
921 static int hf_e2ap_valuePrtS; /* PrintableString */
922 static int hf_e2ap_binRangeListX; /* BinRangeList */
923 static int hf_e2ap_binRangeListY; /* BinRangeList */
924 static int hf_e2ap_binRangeListZ; /* BinRangeList */
925 static int hf_e2ap_BinRangeList_item; /* BinRangeItem */
926 static int hf_e2ap_binIndex; /* BinIndex */
927 static int hf_e2ap_startValue; /* BinRangeValue */
928 static int hf_e2ap_endValue; /* BinRangeValue */
929 static int hf_e2ap_DistMeasurementBinRangeList_item; /* DistMeasurementBinRangeItem */
930 static int hf_e2ap_measType; /* MeasurementType */
931 static int hf_e2ap_binRangeDef; /* BinRangeDefinition */
932 static int hf_e2ap_MeasurementInfoList_item; /* MeasurementInfoItem */
933 static int hf_e2ap_labelInfoList; /* LabelInfoList */
934 static int hf_e2ap_LabelInfoList_item; /* LabelInfoItem */
935 static int hf_e2ap_measLabel; /* MeasurementLabel */
936 static int hf_e2ap_MeasurementData_item; /* MeasurementDataItem */
937 static int hf_e2ap_measRecord; /* MeasurementRecord */
938 static int hf_e2ap_incompleteFlag; /* T_incompleteFlag */
939 static int hf_e2ap_MeasurementRecord_item; /* MeasurementRecordItem */
940 static int hf_e2ap_integer; /* INTEGER_0_4294967295 */
941 static int hf_e2ap_real; /* REAL */
942 static int hf_e2ap_noValue; /* NULL */
943 static int hf_e2ap_MeasurementInfo_Action_List_item; /* MeasurementInfo_Action_Item */
944 static int hf_e2ap_MeasurementCondList_item; /* MeasurementCondItem */
945 static int hf_e2ap_matchingCond; /* MatchingCondList */
946 static int hf_e2ap_MeasurementCondUEidList_item; /* MeasurementCondUEidItem */
947 static int hf_e2ap_matchingUEidList; /* MatchingUEidList */
948 static int hf_e2ap_matchingUEidPerGP; /* MatchingUEidPerGP */
949 static int hf_e2ap_MatchingCondList_item; /* MatchingCondItem */
950 static int hf_e2ap_matchingCondChoice; /* MatchingCondItem_Choice */
951 static int hf_e2ap_testCondInfo; /* TestCondInfo */
952 static int hf_e2ap_MatchingUEidList_item; /* MatchingUEidItem */
953 static int hf_e2ap_MatchingUEidPerGP_item; /* MatchingUEidPerGP_Item */
954 static int hf_e2ap_matchedPerGP; /* T_matchedPerGP */
955 static int hf_e2ap_noUEmatched; /* T_noUEmatched */
956 static int hf_e2ap_oneOrMoreUEmatched; /* MatchingUEidList_PerGP */
957 static int hf_e2ap_MatchingUEidList_PerGP_item; /* MatchingUEidItem_PerGP */
958 static int hf_e2ap_MatchingUeCondPerSubList_item; /* MatchingUeCondPerSubItem */
959 static int hf_e2ap_MatchingUEidPerSubList_item; /* MatchingUEidPerSubItem */
960 static int hf_e2ap_UEMeasurementReportList_item; /* UEMeasurementReportItem */
961 static int hf_e2ap_measReport; /* E2SM_KPM_IndicationMessage_Format1 */
962 static int hf_e2ap_eventDefinition_formats; /* T_eventDefinition_formats */
963 static int hf_e2ap_eventDefinition_Format1; /* E2SM_KPM_EventTriggerDefinition_Format1 */
964 static int hf_e2ap_reportingPeriod; /* INTEGER_1_4294967295 */
965 static int hf_e2ap_actionDefinition_formats; /* T_actionDefinition_formats */
966 static int hf_e2ap_actionDefinition_Format1_01; /* E2SM_KPM_ActionDefinition_Format1 */
967 static int hf_e2ap_actionDefinition_Format2_01; /* E2SM_KPM_ActionDefinition_Format2 */
968 static int hf_e2ap_actionDefinition_Format3_01; /* E2SM_KPM_ActionDefinition_Format3 */
969 static int hf_e2ap_actionDefinition_Format4_01; /* E2SM_KPM_ActionDefinition_Format4 */
970 static int hf_e2ap_actionDefinition_Format5; /* E2SM_KPM_ActionDefinition_Format5 */
971 static int hf_e2ap_measInfoList; /* MeasurementInfoList */
972 static int hf_e2ap_granulPeriod; /* GranularityPeriod */
973 static int hf_e2ap_distMeasBinRangeInfo; /* DistMeasurementBinRangeList */
974 static int hf_e2ap_subscriptInfo; /* E2SM_KPM_ActionDefinition_Format1 */
975 static int hf_e2ap_measCondList; /* MeasurementCondList */
976 static int hf_e2ap_matchingUeCondList; /* MatchingUeCondPerSubList */
977 static int hf_e2ap_subscriptionInfo; /* E2SM_KPM_ActionDefinition_Format1 */
978 static int hf_e2ap_matchingUEidList_01; /* MatchingUEidPerSubList */
979 static int hf_e2ap_indicationHeader_formats; /* T_indicationHeader_formats */
980 static int hf_e2ap_indicationHeader_Format1_01; /* E2SM_KPM_IndicationHeader_Format1 */
981 static int hf_e2ap_colletStartTime; /* T_colletStartTime */
982 static int hf_e2ap_fileFormatversion; /* PrintableString_SIZE_0_15_ */
983 static int hf_e2ap_senderName; /* PrintableString_SIZE_0_400_ */
984 static int hf_e2ap_senderType; /* PrintableString_SIZE_0_8_ */
985 static int hf_e2ap_vendorName; /* PrintableString_SIZE_0_32_ */
986 static int hf_e2ap_indicationMessage_formats; /* T_indicationMessage_formats */
987 static int hf_e2ap_indicationMessage_Format1_01; /* E2SM_KPM_IndicationMessage_Format1 */
988 static int hf_e2ap_indicationMessage_Format2_01; /* E2SM_KPM_IndicationMessage_Format2 */
989 static int hf_e2ap_indicationMessage_Format3_01; /* E2SM_KPM_IndicationMessage_Format3 */
990 static int hf_e2ap_measData; /* MeasurementData */
991 static int hf_e2ap_measCondUEidList; /* MeasurementCondUEidList */
992 static int hf_e2ap_ueMeasReportList; /* UEMeasurementReportList */
993 static int hf_e2ap_ric_EventTriggerStyle_List_01; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item */
994 static int hf_e2ap_ric_EventTriggerStyle_List_item_01; /* RIC_EventTriggerStyle_Item */
995 static int hf_e2ap_ric_ReportStyle_List_01; /* SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item */
996 static int hf_e2ap_ric_ReportStyle_List_item_01; /* RIC_ReportStyle_Item */
997 static int hf_e2ap_ric_ActionFormat_Type; /* RIC_Format_Type */
998 static int hf_e2ap_measInfo_Action_List; /* MeasurementInfo_Action_List */
999 static int hf_e2ap_eventDefinition_Format1_01; /* E2SM_NI_EventTriggerDefinition_Format1 */
1000 static int hf_e2ap_interface_type; /* NI_Type */
1001 static int hf_e2ap_interface_ID; /* NI_Identifier */
1002 static int hf_e2ap_interfaceDirection; /* NI_Direction */
1003 static int hf_e2ap_interfaceMessageType; /* NI_MessageType */
1004 static int hf_e2ap_interfaceProtocolIE_List; /* SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item */
1005 static int hf_e2ap_interfaceProtocolIE_List_item; /* NI_ProtocolIE_Item */
1006 static int hf_e2ap_action_Definition_Format; /* E2SM_NI_ActionDefinitionFormat */
1007 static int hf_e2ap_actionDefinition_Format1_02; /* E2SM_NI_ActionDefinition_Format1 */
1008 static int hf_e2ap_actionDefinition_Format2_02; /* E2SM_NI_ActionDefinition_Format2 */
1009 static int hf_e2ap_actionParameter_List; /* SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item */
1010 static int hf_e2ap_actionParameter_List_item; /* RANparameter_Item */
1011 static int hf_e2ap_ranUEgroup_List; /* SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item */
1012 static int hf_e2ap_ranUEgroup_List_item; /* RANueGroup_Item */
1013 static int hf_e2ap_indicationHeader_Format1_02; /* E2SM_NI_IndicationHeader_Format1 */
1014 static int hf_e2ap_timestamp; /* NI_TimeStamp */
1015 static int hf_e2ap_indicationMessage_Format1_02; /* E2SM_NI_IndicationMessage_Format1 */
1016 static int hf_e2ap_interfaceMessage; /* NI_Message */
1017 static int hf_e2ap_callProcessID_Format1_01; /* E2SM_NI_CallProcessID_Format1 */
1018 static int hf_e2ap_callProcessID_Format2; /* E2SM_NI_CallProcessID_Format2 */
1019 static int hf_e2ap_callProcess_ID; /* RANcallProcess_ID_number */
1020 static int hf_e2ap_callProcess_ID_01; /* RANcallProcess_ID_string */
1021 static int hf_e2ap_controlHeader_Format1_01; /* E2SM_NI_ControlHeader_Format1 */
1022 static int hf_e2ap_interface_Direction; /* NI_Direction */
1023 static int hf_e2ap_ric_Control_Message_Priority; /* RIC_Control_Message_Priority */
1024 static int hf_e2ap_controlMessage_Format1_01; /* E2SM_NI_ControlMessage_Format1 */
1025 static int hf_e2ap_controlOutcome_Format1_01; /* E2SM_NI_ControlOutcome_Format1 */
1026 static int hf_e2ap_outcomeElement_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item */
1027 static int hf_e2ap_outcomeElement_List_item; /* RANparameter_Item */
1028 static int hf_e2ap_ni_Type_List; /* SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item */
1029 static int hf_e2ap_ni_Type_List_item; /* E2SM_NI_RANfunction_Item */
1030 static int hf_e2ap_ric_EventTriggerStyle_List_02; /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List */
1031 static int hf_e2ap_ric_EventTriggerStyle_List_item_02; /* RIC_EventTriggerStyle_List */
1032 static int hf_e2ap_ric_ReportStyle_List_02; /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List */
1033 static int hf_e2ap_ric_ReportStyle_List_item_02; /* RIC_ReportStyle_List */
1034 static int hf_e2ap_ric_InsertStyle_List_03; /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List */
1035 static int hf_e2ap_ric_InsertStyle_List_item_03; /* RIC_InsertStyle_List */
1036 static int hf_e2ap_ric_ControlStyle_List_03; /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List */
1037 static int hf_e2ap_ric_ControlStyle_List_item_03; /* RIC_ControlStyle_List */
1038 static int hf_e2ap_ric_PolicyStyle_List_01; /* SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List */
1039 static int hf_e2ap_ric_PolicyStyle_List_item_01; /* RIC_PolicyStyle_List */
1040 static int hf_e2ap_global_ng_RAN_ID; /* Global_ng_RAN_ID */
1041 static int hf_e2ap_global_eNB_ID_01; /* Global_eNB_ID */
1042 static int hf_e2ap_global_en_gNB_ID_01; /* Global_en_gNB_ID */
1043 static int hf_e2ap_global_gNB_DU_ID; /* Global_gNB_DU_ID */
1044 static int hf_e2ap_global_gNB_CU_UP_ID; /* Global_gNB_CU_UP_ID */
1045 static int hf_e2ap_s1MessageType; /* NI_MessageTypeS1 */
1046 static int hf_e2ap_x2MessageType; /* NI_MessageTypeX2 */
1047 static int hf_e2ap_ngMessageType; /* NI_MessageTypeNG */
1048 static int hf_e2ap_xnMessageType; /* NI_MessageTypeXn */
1049 static int hf_e2ap_f1MessageType; /* NI_MessageTypeF1 */
1050 static int hf_e2ap_e1MessageType; /* NI_MessageTypeE1 */
1051 static int hf_e2ap_typeOfMessage; /* TypeOfMessage */
1052 static int hf_e2ap_interfaceProtocolIE_ID; /* NI_ProtocolIE_ID */
1053 static int hf_e2ap_interfaceProtocolIE_Test; /* NI_ProtocolIE_Test */
1054 static int hf_e2ap_interfaceProtocolIE_Value; /* NI_ProtocolIE_Value */
1055 static int hf_e2ap_ranImperativePolicy_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item */
1056 static int hf_e2ap_ranImperativePolicy_List_item; /* RANparameter_Item */
1057 static int hf_e2ap_ranParameter_ID_01; /* RANparameter_ID */
1058 static int hf_e2ap_ranParameter_Value_01; /* RANparameter_Value */
1059 static int hf_e2ap_ranParameter_Name; /* RANparameter_Name */
1060 static int hf_e2ap_ranParameter_Type_01; /* RANparameter_Type */
1061 static int hf_e2ap_ranUEgroupID; /* RANueGroupID */
1062 static int hf_e2ap_ranUEgroupDefinition; /* RANueGroupDefinition */
1063 static int hf_e2ap_ranPolicy; /* RANimperativePolicy */
1064 static int hf_e2ap_ranUEgroupDef_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item */
1065 static int hf_e2ap_ranUEgroupDef_List_item; /* RANueGroupDef_Item */
1066 static int hf_e2ap_ranParameter_Test; /* RANparameter_Test_Condition */
1067 static int hf_e2ap_ric_ControlFormat_Type; /* RIC_Format_Type */
1068 static int hf_e2ap_ric_ControlOutcomeRanParaDef_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1069 static int hf_e2ap_ric_ControlOutcomeRanParaDef_List_item; /* RANparameterDef_Item */
1070 static int hf_e2ap_ric_InsertActionFormat_Type; /* RIC_Format_Type */
1071 static int hf_e2ap_ric_InsertRanParameterDef_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1072 static int hf_e2ap_ric_InsertRanParameterDef_List_item; /* RANparameterDef_Item */
1073 static int hf_e2ap_ric_PolicyActionFormat_Type; /* RIC_Format_Type */
1074 static int hf_e2ap_ric_PolicyRanParameterDef_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1075 static int hf_e2ap_ric_PolicyRanParameterDef_List_item; /* RANparameterDef_Item */
1076 static int hf_e2ap_ric_ReportRanParameterDef_List; /* SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item */
1077 static int hf_e2ap_ric_ReportRanParameterDef_List_item; /* RANparameterDef_Item */
1079 static int hf_e2ap_unmapped_ran_function_id;
1080 static int hf_e2ap_ran_function_name_not_recognised;
1081 static int hf_e2ap_ran_function_setup_frame;
1082 /* TODO: for each RAN Function, also link forward to where setup is referenced (if at all?). Maybe just first usage? */
1084 static int hf_e2ap_dissector_version;
1085 static int hf_e2ap_frame_version;
1087 static int hf_e2ap_timestamp_string;
1090 /* Initialize the subtree pointers */
1091 static int ett_e2ap;
1093 static expert_field ei_e2ap_ran_function_names_no_match;
1094 static expert_field ei_e2ap_ran_function_id_not_mapped;
1095 static expert_field ei_e2ap_ran_function_dissector_mismatch;
1096 static expert_field ei_e2ap_ran_function_max_dissectors_registered;
1098 static int ett_e2ap_ProtocolIE_Container;
1099 static int ett_e2ap_ProtocolIE_Field;
1100 static int ett_e2ap_Cause;
1101 static int ett_e2ap_CriticalityDiagnostics;
1102 static int ett_e2ap_CriticalityDiagnostics_IE_List;
1103 static int ett_e2ap_CriticalityDiagnostics_IE_Item;
1104 static int ett_e2ap_E2nodeComponentConfiguration;
1105 static int ett_e2ap_E2nodeComponentConfigurationAck;
1106 static int ett_e2ap_E2nodeComponentID;
1107 static int ett_e2ap_E2nodeComponentInterfaceE1;
1108 static int ett_e2ap_E2nodeComponentInterfaceF1;
1109 static int ett_e2ap_E2nodeComponentInterfaceNG;
1110 static int ett_e2ap_E2nodeComponentInterfaceS1;
1111 static int ett_e2ap_E2nodeComponentInterfaceX2;
1112 static int ett_e2ap_E2nodeComponentInterfaceXn;
1113 static int ett_e2ap_E2nodeComponentInterfaceW1;
1114 static int ett_e2ap_ENB_ID;
1115 static int ett_e2ap_ENB_ID_Choice;
1116 static int ett_e2ap_ENGNB_ID;
1117 static int ett_e2ap_GlobalE2node_ID;
1118 static int ett_e2ap_GlobalE2node_en_gNB_ID;
1119 static int ett_e2ap_GlobalE2node_eNB_ID;
1120 static int ett_e2ap_GlobalE2node_gNB_ID;
1121 static int ett_e2ap_GlobalE2node_ng_eNB_ID;
1122 static int ett_e2ap_GlobalENB_ID;
1123 static int ett_e2ap_GlobalenGNB_ID;
1124 static int ett_e2ap_GlobalgNB_ID;
1125 static int ett_e2ap_GlobalngeNB_ID;
1126 static int ett_e2ap_GlobalNG_RANNode_ID;
1127 static int ett_e2ap_GlobalRIC_ID;
1128 static int ett_e2ap_GNB_ID_Choice;
1129 static int ett_e2ap_RICrequestID;
1130 static int ett_e2ap_RICsubsequentAction;
1131 static int ett_e2ap_TNLinformation;
1132 static int ett_e2ap_RICsubscriptionRequest;
1133 static int ett_e2ap_RICsubscriptionDetails;
1134 static int ett_e2ap_RICactions_ToBeSetup_List;
1135 static int ett_e2ap_RICaction_ToBeSetup_Item;
1136 static int ett_e2ap_RICsubscriptionResponse;
1137 static int ett_e2ap_RICaction_Admitted_List;
1138 static int ett_e2ap_RICaction_Admitted_Item;
1139 static int ett_e2ap_RICaction_NotAdmitted_List;
1140 static int ett_e2ap_RICaction_NotAdmitted_Item;
1141 static int ett_e2ap_RICsubscriptionFailure;
1142 static int ett_e2ap_RICsubscriptionDeleteRequest;
1143 static int ett_e2ap_RICsubscriptionDeleteResponse;
1144 static int ett_e2ap_RICsubscriptionDeleteFailure;
1145 static int ett_e2ap_RICsubscriptionDeleteRequired;
1146 static int ett_e2ap_RICsubscription_List_withCause;
1147 static int ett_e2ap_RICsubscription_withCause_Item;
1148 static int ett_e2ap_RICsubscriptionModificationRequest;
1149 static int ett_e2ap_RICactions_ToBeRemovedForModification_List;
1150 static int ett_e2ap_RICaction_ToBeRemovedForModification_Item;
1151 static int ett_e2ap_RICactions_ToBeModifiedForModification_List;
1152 static int ett_e2ap_RICaction_ToBeModifiedForModification_Item;
1153 static int ett_e2ap_RICactions_ToBeAddedForModification_List;
1154 static int ett_e2ap_RICaction_ToBeAddedForModification_Item;
1155 static int ett_e2ap_RICsubscriptionModificationResponse;
1156 static int ett_e2ap_RICactions_RemovedForModification_List;
1157 static int ett_e2ap_RICaction_RemovedForModification_Item;
1158 static int ett_e2ap_RICactions_FailedToBeRemovedForModification_List;
1159 static int ett_e2ap_RICaction_FailedToBeRemovedForModification_Item;
1160 static int ett_e2ap_RICactions_ModifiedForModification_List;
1161 static int ett_e2ap_RICaction_ModifiedForModification_Item;
1162 static int ett_e2ap_RICactions_FailedToBeModifiedForModification_List;
1163 static int ett_e2ap_RICaction_FailedToBeModifiedForModification_Item;
1164 static int ett_e2ap_RICactions_AddedForModification_List;
1165 static int ett_e2ap_RICaction_AddedForModification_Item;
1166 static int ett_e2ap_RICactions_FailedToBeAddedForModification_List;
1167 static int ett_e2ap_RICaction_FailedToBeAddedForModification_Item;
1168 static int ett_e2ap_RICsubscriptionModificationFailure;
1169 static int ett_e2ap_RICsubscriptionModificationRequired;
1170 static int ett_e2ap_RICactions_RequiredToBeModified_List;
1171 static int ett_e2ap_RICaction_RequiredToBeModified_Item;
1172 static int ett_e2ap_RICactions_RequiredToBeRemoved_List;
1173 static int ett_e2ap_RICaction_RequiredToBeRemoved_Item;
1174 static int ett_e2ap_RICsubscriptionModificationConfirm;
1175 static int ett_e2ap_RICactions_ConfirmedForModification_List;
1176 static int ett_e2ap_RICaction_ConfirmedForModification_Item;
1177 static int ett_e2ap_RICactions_RefusedToBeModified_List;
1178 static int ett_e2ap_RICaction_RefusedToBeModified_Item;
1179 static int ett_e2ap_RICactions_ConfirmedForRemoval_List;
1180 static int ett_e2ap_RICaction_ConfirmedForRemoval_Item;
1181 static int ett_e2ap_RICactions_RefusedToBeRemoved_List;
1182 static int ett_e2ap_RICaction_RefusedToBeRemoved_Item;
1183 static int ett_e2ap_RICsubscriptionModificationRefuse;
1184 static int ett_e2ap_RICindication;
1185 static int ett_e2ap_RICcontrolRequest;
1186 static int ett_e2ap_RICcontrolAcknowledge;
1187 static int ett_e2ap_RICcontrolFailure;
1188 static int ett_e2ap_RICQueryRequest;
1189 static int ett_e2ap_RICQueryResponse;
1190 static int ett_e2ap_RICQueryFailure;
1191 static int ett_e2ap_ErrorIndication;
1192 static int ett_e2ap_E2setupRequest;
1193 static int ett_e2ap_E2setupResponse;
1194 static int ett_e2ap_E2setupFailure;
1195 static int ett_e2ap_E2connectionUpdate;
1196 static int ett_e2ap_E2connectionUpdate_List;
1197 static int ett_e2ap_E2connectionUpdate_Item;
1198 static int ett_e2ap_E2connectionUpdateRemove_List;
1199 static int ett_e2ap_E2connectionUpdateRemove_Item;
1200 static int ett_e2ap_E2connectionUpdateAcknowledge;
1201 static int ett_e2ap_E2connectionSetupFailed_List;
1202 static int ett_e2ap_E2connectionSetupFailed_Item;
1203 static int ett_e2ap_E2connectionUpdateFailure;
1204 static int ett_e2ap_E2nodeConfigurationUpdate;
1205 static int ett_e2ap_E2nodeComponentConfigAddition_List;
1206 static int ett_e2ap_E2nodeComponentConfigAddition_Item;
1207 static int ett_e2ap_E2nodeComponentConfigUpdate_List;
1208 static int ett_e2ap_E2nodeComponentConfigUpdate_Item;
1209 static int ett_e2ap_E2nodeComponentConfigRemoval_List;
1210 static int ett_e2ap_E2nodeComponentConfigRemoval_Item;
1211 static int ett_e2ap_E2nodeTNLassociationRemoval_List;
1212 static int ett_e2ap_E2nodeTNLassociationRemoval_Item;
1213 static int ett_e2ap_E2nodeConfigurationUpdateAcknowledge;
1214 static int ett_e2ap_E2nodeComponentConfigAdditionAck_List;
1215 static int ett_e2ap_E2nodeComponentConfigAdditionAck_Item;
1216 static int ett_e2ap_E2nodeComponentConfigUpdateAck_List;
1217 static int ett_e2ap_E2nodeComponentConfigUpdateAck_Item;
1218 static int ett_e2ap_E2nodeComponentConfigRemovalAck_List;
1219 static int ett_e2ap_E2nodeComponentConfigRemovalAck_Item;
1220 static int ett_e2ap_E2nodeConfigurationUpdateFailure;
1221 static int ett_e2ap_ResetRequest;
1222 static int ett_e2ap_ResetResponse;
1223 static int ett_e2ap_RICserviceUpdate;
1224 static int ett_e2ap_RANfunctions_List;
1225 static int ett_e2ap_RANfunction_Item;
1226 static int ett_e2ap_RANfunctionsID_List;
1227 static int ett_e2ap_RANfunctionID_Item;
1228 static int ett_e2ap_RICserviceUpdateAcknowledge;
1229 static int ett_e2ap_RANfunctionsIDcause_List;
1230 static int ett_e2ap_RANfunctionIDcause_Item;
1231 static int ett_e2ap_RICserviceUpdateFailure;
1232 static int ett_e2ap_RICserviceQuery;
1233 static int ett_e2ap_E2RemovalRequest;
1234 static int ett_e2ap_E2RemovalResponse;
1235 static int ett_e2ap_E2RemovalFailure;
1236 static int ett_e2ap_E2AP_PDU;
1237 static int ett_e2ap_InitiatingMessage;
1238 static int ett_e2ap_SuccessfulOutcome;
1239 static int ett_e2ap_UnsuccessfulOutcome;
1240 static int ett_e2ap_CGI;
1241 static int ett_e2ap_InterfaceIdentifier;
1242 static int ett_e2ap_InterfaceID_NG;
1243 static int ett_e2ap_InterfaceID_Xn;
1244 static int ett_e2ap_InterfaceID_F1;
1245 static int ett_e2ap_InterfaceID_E1;
1246 static int ett_e2ap_InterfaceID_S1;
1247 static int ett_e2ap_InterfaceID_X2;
1248 static int ett_e2ap_T_nodeType;
1249 static int ett_e2ap_InterfaceID_W1;
1250 static int ett_e2ap_Interface_MessageID;
1251 static int ett_e2ap_RANfunction_Name;
1252 static int ett_e2ap_RRC_MessageID;
1253 static int ett_e2ap_T_rrcType;
1254 static int ett_e2ap_ServingCell_ARFCN;
1255 static int ett_e2ap_ServingCell_PCI;
1256 static int ett_e2ap_UEID;
1257 static int ett_e2ap_UEID_GNB;
1258 static int ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List;
1259 static int ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item;
1260 static int ett_e2ap_UEID_GNB_CU_F1AP_ID_List;
1261 static int ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item;
1262 static int ett_e2ap_UEID_GNB_DU;
1263 static int ett_e2ap_UEID_GNB_CU_UP;
1264 static int ett_e2ap_UEID_NG_ENB;
1265 static int ett_e2ap_UEID_NG_ENB_DU;
1266 static int ett_e2ap_UEID_EN_GNB;
1267 static int ett_e2ap_UEID_ENB;
1268 static int ett_e2ap_GUMMEI;
1269 static int ett_e2ap_EUTRA_CGI;
1270 static int ett_e2ap_GlobalGNB_ID;
1271 static int ett_e2ap_GlobalNgENB_ID;
1272 static int ett_e2ap_GNB_ID;
1273 static int ett_e2ap_GUAMI;
1274 static int ett_e2ap_NgENB_ID;
1275 static int ett_e2ap_NR_CGI;
1276 static int ett_e2ap_S_NSSAI;
1277 static int ett_e2ap_GlobalNGRANNodeID;
1278 static int ett_e2ap_NR_ARFCN;
1279 static int ett_e2ap_NRFrequencyBand_List;
1280 static int ett_e2ap_NRFrequencyBandItem;
1281 static int ett_e2ap_NRFrequencyInfo;
1282 static int ett_e2ap_SupportedSULBandList;
1283 static int ett_e2ap_SupportedSULFreqBandItem;
1284 static int ett_e2ap_NeighborCell_List;
1285 static int ett_e2ap_NeighborCell_Item;
1286 static int ett_e2ap_NeighborCell_Item_Choice_NR;
1287 static int ett_e2ap_NeighborCell_Item_Choice_E_UTRA;
1288 static int ett_e2ap_NeighborRelation_Info;
1289 static int ett_e2ap_EventTrigger_Cell_Info;
1290 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item;
1291 static int ett_e2ap_EventTrigger_Cell_Info_Item;
1292 static int ett_e2ap_T_cellType;
1293 static int ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual;
1294 static int ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group;
1295 static int ett_e2ap_EventTrigger_UE_Info;
1296 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item;
1297 static int ett_e2ap_EventTrigger_UE_Info_Item;
1298 static int ett_e2ap_T_ueType;
1299 static int ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual;
1300 static int ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group;
1301 static int ett_e2ap_EventTrigger_UEevent_Info;
1302 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item;
1303 static int ett_e2ap_EventTrigger_UEevent_Info_Item;
1304 static int ett_e2ap_RANParameter_Definition;
1305 static int ett_e2ap_RANParameter_Definition_Choice;
1306 static int ett_e2ap_RANParameter_Definition_Choice_LIST;
1307 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item;
1308 static int ett_e2ap_RANParameter_Definition_Choice_LIST_Item;
1309 static int ett_e2ap_RANParameter_Definition_Choice_STRUCTURE;
1310 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item;
1311 static int ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item;
1312 static int ett_e2ap_RANParameter_Value;
1313 static int ett_e2ap_RANParameter_ValueType;
1314 static int ett_e2ap_RANParameter_ValueType_Choice_ElementTrue;
1315 static int ett_e2ap_RANParameter_ValueType_Choice_ElementFalse;
1316 static int ett_e2ap_RANParameter_ValueType_Choice_Structure;
1317 static int ett_e2ap_RANParameter_ValueType_Choice_List;
1318 static int ett_e2ap_RANParameter_STRUCTURE;
1319 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item;
1320 static int ett_e2ap_RANParameter_STRUCTURE_Item;
1321 static int ett_e2ap_RANParameter_LIST;
1322 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE;
1323 static int ett_e2ap_RANParameter_Testing;
1324 static int ett_e2ap_RANParameter_TestingCondition;
1325 static int ett_e2ap_RANParameter_Testing_Item;
1326 static int ett_e2ap_T_ranParameter_Type;
1327 static int ett_e2ap_RANParameter_Testing_Item_Choice_List;
1328 static int ett_e2ap_RANParameter_Testing_Item_Choice_Structure;
1329 static int ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue;
1330 static int ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse;
1331 static int ett_e2ap_RANParameter_Testing_LIST;
1332 static int ett_e2ap_RANParameter_Testing_STRUCTURE;
1333 static int ett_e2ap_RIC_PolicyAction;
1334 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item;
1335 static int ett_e2ap_RIC_PolicyAction_RANParameter_Item;
1336 static int ett_e2ap_E2SM_RC_EventTrigger;
1337 static int ett_e2ap_T_ric_eventTrigger_formats;
1338 static int ett_e2ap_E2SM_RC_EventTrigger_Format1;
1339 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item;
1340 static int ett_e2ap_E2SM_RC_EventTrigger_Format1_Item;
1341 static int ett_e2ap_MessageType_Choice;
1342 static int ett_e2ap_MessageType_Choice_NI;
1343 static int ett_e2ap_MessageType_Choice_RRC;
1344 static int ett_e2ap_E2SM_RC_EventTrigger_Format2;
1345 static int ett_e2ap_E2SM_RC_EventTrigger_Format3;
1346 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item;
1347 static int ett_e2ap_E2SM_RC_EventTrigger_Format3_Item;
1348 static int ett_e2ap_E2SM_RC_EventTrigger_Format4;
1349 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item;
1350 static int ett_e2ap_E2SM_RC_EventTrigger_Format4_Item;
1351 static int ett_e2ap_TriggerType_Choice;
1352 static int ett_e2ap_TriggerType_Choice_RRCstate;
1353 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item;
1354 static int ett_e2ap_TriggerType_Choice_RRCstate_Item;
1355 static int ett_e2ap_TriggerType_Choice_UEID;
1356 static int ett_e2ap_TriggerType_Choice_L2state;
1357 static int ett_e2ap_E2SM_RC_EventTrigger_Format5;
1358 static int ett_e2ap_E2SM_RC_ActionDefinition;
1359 static int ett_e2ap_T_ric_actionDefinition_formats;
1360 static int ett_e2ap_E2SM_RC_ActionDefinition_Format1;
1361 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item;
1362 static int ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item;
1363 static int ett_e2ap_E2SM_RC_ActionDefinition_Format2;
1364 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item;
1365 static int ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item;
1366 static int ett_e2ap_E2SM_RC_ActionDefinition_Format3;
1367 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item;
1368 static int ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item;
1369 static int ett_e2ap_E2SM_RC_ActionDefinition_Format4;
1370 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item;
1371 static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item;
1372 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item;
1373 static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item;
1374 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item;
1375 static int ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item;
1376 static int ett_e2ap_E2SM_RC_IndicationHeader;
1377 static int ett_e2ap_T_ric_indicationHeader_formats;
1378 static int ett_e2ap_E2SM_RC_IndicationHeader_Format1;
1379 static int ett_e2ap_E2SM_RC_IndicationHeader_Format2;
1380 static int ett_e2ap_E2SM_RC_IndicationHeader_Format3;
1381 static int ett_e2ap_E2SM_RC_IndicationMessage;
1382 static int ett_e2ap_T_ric_indicationMessage_formats;
1383 static int ett_e2ap_E2SM_RC_IndicationMessage_Format1;
1384 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item;
1385 static int ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item;
1386 static int ett_e2ap_E2SM_RC_IndicationMessage_Format2;
1387 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item;
1388 static int ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item;
1389 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
1390 static int ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
1391 static int ett_e2ap_E2SM_RC_IndicationMessage_Format3;
1392 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item;
1393 static int ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item;
1394 static int ett_e2ap_E2SM_RC_IndicationMessage_Format4;
1395 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE;
1396 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell;
1397 static int ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE;
1398 static int ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell;
1399 static int ett_e2ap_E2SM_RC_IndicationMessage_Format5;
1400 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item;
1401 static int ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item;
1402 static int ett_e2ap_E2SM_RC_IndicationMessage_Format6;
1403 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item;
1404 static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item;
1405 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item;
1406 static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item;
1407 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item;
1408 static int ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item;
1409 static int ett_e2ap_E2SM_RC_CallProcessID;
1410 static int ett_e2ap_T_ric_callProcessID_formats;
1411 static int ett_e2ap_E2SM_RC_CallProcessID_Format1;
1412 static int ett_e2ap_E2SM_RC_ControlHeader;
1413 static int ett_e2ap_T_ric_controlHeader_formats;
1414 static int ett_e2ap_E2SM_RC_ControlHeader_Format1;
1415 static int ett_e2ap_E2SM_RC_ControlHeader_Format2;
1416 static int ett_e2ap_E2SM_RC_ControlMessage;
1417 static int ett_e2ap_T_ric_controlMessage_formats;
1418 static int ett_e2ap_E2SM_RC_ControlMessage_Format1;
1419 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item;
1420 static int ett_e2ap_E2SM_RC_ControlMessage_Format1_Item;
1421 static int ett_e2ap_E2SM_RC_ControlMessage_Format2;
1422 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item;
1423 static int ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item;
1424 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item;
1425 static int ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item;
1426 static int ett_e2ap_E2SM_RC_ControlOutcome;
1427 static int ett_e2ap_T_ric_controlOutcome_formats;
1428 static int ett_e2ap_E2SM_RC_ControlOutcome_Format1;
1429 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item;
1430 static int ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item;
1431 static int ett_e2ap_E2SM_RC_ControlOutcome_Format2;
1432 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item;
1433 static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item;
1434 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item;
1435 static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item;
1436 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item;
1437 static int ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item;
1438 static int ett_e2ap_E2SM_RC_ControlOutcome_Format3;
1439 static int ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item;
1440 static int ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item;
1441 static int ett_e2ap_E2SM_RC_RANFunctionDefinition;
1442 static int ett_e2ap_RANFunctionDefinition_EventTrigger;
1443 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item;
1444 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item;
1445 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item;
1446 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item;
1447 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item;
1448 static int ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item;
1449 static int ett_e2ap_L2Parameters_RANParameter_Item;
1450 static int ett_e2ap_UEIdentification_RANParameter_Item;
1451 static int ett_e2ap_CellIdentification_RANParameter_Item;
1452 static int ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item;
1453 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item;
1454 static int ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item;
1455 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item;
1456 static int ett_e2ap_CallProcessBreakpoint_RANParameter_Item;
1457 static int ett_e2ap_RANFunctionDefinition_Report;
1458 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item;
1459 static int ett_e2ap_RANFunctionDefinition_Report_Item;
1460 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item;
1461 static int ett_e2ap_Report_RANParameter_Item;
1462 static int ett_e2ap_RANFunctionDefinition_Insert;
1463 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item;
1464 static int ett_e2ap_RANFunctionDefinition_Insert_Item;
1465 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item;
1466 static int ett_e2ap_RANFunctionDefinition_Insert_Indication_Item;
1467 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item;
1468 static int ett_e2ap_InsertIndication_RANParameter_Item;
1469 static int ett_e2ap_RANFunctionDefinition_Control;
1470 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item;
1471 static int ett_e2ap_RANFunctionDefinition_Control_Item;
1472 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item;
1473 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item;
1474 static int ett_e2ap_ControlOutcome_RANParameter_Item;
1475 static int ett_e2ap_RANFunctionDefinition_Control_Action_Item;
1476 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item;
1477 static int ett_e2ap_ControlAction_RANParameter_Item;
1478 static int ett_e2ap_RANFunctionDefinition_Policy;
1479 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item;
1480 static int ett_e2ap_RANFunctionDefinition_Policy_Item;
1481 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item;
1482 static int ett_e2ap_RANFunctionDefinition_Policy_Action_Item;
1483 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item;
1484 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item;
1485 static int ett_e2ap_PolicyAction_RANParameter_Item;
1486 static int ett_e2ap_PolicyCondition_RANParameter_Item;
1487 static int ett_e2ap_BinRangeValue;
1488 static int ett_e2ap_MeasurementType;
1489 static int ett_e2ap_MeasurementLabel;
1490 static int ett_e2ap_TestCondInfo;
1491 static int ett_e2ap_TestCond_Type;
1492 static int ett_e2ap_TestCond_Value;
1493 static int ett_e2ap_BinRangeDefinition;
1494 static int ett_e2ap_BinRangeList;
1495 static int ett_e2ap_BinRangeItem;
1496 static int ett_e2ap_DistMeasurementBinRangeList;
1497 static int ett_e2ap_DistMeasurementBinRangeItem;
1498 static int ett_e2ap_MeasurementInfoList;
1499 static int ett_e2ap_MeasurementInfoItem;
1500 static int ett_e2ap_LabelInfoList;
1501 static int ett_e2ap_LabelInfoItem;
1502 static int ett_e2ap_MeasurementData;
1503 static int ett_e2ap_MeasurementDataItem;
1504 static int ett_e2ap_MeasurementRecord;
1505 static int ett_e2ap_MeasurementRecordItem;
1506 static int ett_e2ap_MeasurementInfo_Action_List;
1507 static int ett_e2ap_MeasurementInfo_Action_Item;
1508 static int ett_e2ap_MeasurementCondList;
1509 static int ett_e2ap_MeasurementCondItem;
1510 static int ett_e2ap_MeasurementCondUEidList;
1511 static int ett_e2ap_MeasurementCondUEidItem;
1512 static int ett_e2ap_MatchingCondList;
1513 static int ett_e2ap_MatchingCondItem;
1514 static int ett_e2ap_MatchingCondItem_Choice;
1515 static int ett_e2ap_MatchingUEidList;
1516 static int ett_e2ap_MatchingUEidItem;
1517 static int ett_e2ap_MatchingUEidPerGP;
1518 static int ett_e2ap_MatchingUEidPerGP_Item;
1519 static int ett_e2ap_T_matchedPerGP;
1520 static int ett_e2ap_MatchingUEidList_PerGP;
1521 static int ett_e2ap_MatchingUEidItem_PerGP;
1522 static int ett_e2ap_MatchingUeCondPerSubList;
1523 static int ett_e2ap_MatchingUeCondPerSubItem;
1524 static int ett_e2ap_MatchingUEidPerSubList;
1525 static int ett_e2ap_MatchingUEidPerSubItem;
1526 static int ett_e2ap_UEMeasurementReportList;
1527 static int ett_e2ap_UEMeasurementReportItem;
1528 static int ett_e2ap_E2SM_KPM_EventTriggerDefinition;
1529 static int ett_e2ap_T_eventDefinition_formats;
1530 static int ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1;
1531 static int ett_e2ap_E2SM_KPM_ActionDefinition;
1532 static int ett_e2ap_T_actionDefinition_formats;
1533 static int ett_e2ap_E2SM_KPM_ActionDefinition_Format1;
1534 static int ett_e2ap_E2SM_KPM_ActionDefinition_Format2;
1535 static int ett_e2ap_E2SM_KPM_ActionDefinition_Format3;
1536 static int ett_e2ap_E2SM_KPM_ActionDefinition_Format4;
1537 static int ett_e2ap_E2SM_KPM_ActionDefinition_Format5;
1538 static int ett_e2ap_E2SM_KPM_IndicationHeader;
1539 static int ett_e2ap_T_indicationHeader_formats;
1540 static int ett_e2ap_E2SM_KPM_IndicationHeader_Format1;
1541 static int ett_e2ap_E2SM_KPM_IndicationMessage;
1542 static int ett_e2ap_T_indicationMessage_formats;
1543 static int ett_e2ap_E2SM_KPM_IndicationMessage_Format1;
1544 static int ett_e2ap_E2SM_KPM_IndicationMessage_Format2;
1545 static int ett_e2ap_E2SM_KPM_IndicationMessage_Format3;
1546 static int ett_e2ap_E2SM_KPM_RANfunction_Description;
1547 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item;
1548 static int ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item;
1549 static int ett_e2ap_RIC_EventTriggerStyle_Item;
1550 static int ett_e2ap_RIC_ReportStyle_Item;
1551 static int ett_e2ap_E2SM_NI_EventTriggerDefinition;
1552 static int ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1;
1553 static int ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item;
1554 static int ett_e2ap_E2SM_NI_ActionDefinition;
1555 static int ett_e2ap_E2SM_NI_ActionDefinitionFormat;
1556 static int ett_e2ap_E2SM_NI_ActionDefinition_Format1;
1557 static int ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item;
1558 static int ett_e2ap_E2SM_NI_ActionDefinition_Format2;
1559 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item;
1560 static int ett_e2ap_E2SM_NI_IndicationHeader;
1561 static int ett_e2ap_E2SM_NI_IndicationHeader_Format1;
1562 static int ett_e2ap_E2SM_NI_IndicationMessage;
1563 static int ett_e2ap_E2SM_NI_IndicationMessage_Format1;
1564 static int ett_e2ap_E2SM_NI_CallProcessID;
1565 static int ett_e2ap_E2SM_NI_CallProcessID_Format1;
1566 static int ett_e2ap_E2SM_NI_CallProcessID_Format2;
1567 static int ett_e2ap_E2SM_NI_ControlHeader;
1568 static int ett_e2ap_E2SM_NI_ControlHeader_Format1;
1569 static int ett_e2ap_E2SM_NI_ControlMessage;
1570 static int ett_e2ap_E2SM_NI_ControlMessage_Format1;
1571 static int ett_e2ap_E2SM_NI_ControlOutcome;
1572 static int ett_e2ap_E2SM_NI_ControlOutcome_Format1;
1573 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item;
1574 static int ett_e2ap_E2SM_NI_RANfunction_Description;
1575 static int ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item;
1576 static int ett_e2ap_E2SM_NI_RANfunction_Item;
1577 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List;
1578 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List;
1579 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List;
1580 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List;
1581 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List;
1582 static int ett_e2ap_Global_gNB_DU_ID;
1583 static int ett_e2ap_Global_gNB_CU_UP_ID;
1584 static int ett_e2ap_NI_Identifier;
1585 static int ett_e2ap_NI_MessageType;
1586 static int ett_e2ap_NI_MessageTypeApproach1;
1587 static int ett_e2ap_NI_ProtocolIE_Item;
1588 static int ett_e2ap_NI_ProtocolIE_Value;
1589 static int ett_e2ap_RANimperativePolicy;
1590 static int ett_e2ap_RANparameter_Item;
1591 static int ett_e2ap_RANparameterDef_Item;
1592 static int ett_e2ap_RANparameter_Value;
1593 static int ett_e2ap_RANueGroup_Item;
1594 static int ett_e2ap_RANueGroupDefinition;
1595 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item;
1596 static int ett_e2ap_RANueGroupDef_Item;
1597 static int ett_e2ap_RIC_ControlStyle_List;
1598 static int ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item;
1599 static int ett_e2ap_RIC_EventTriggerStyle_List;
1600 static int ett_e2ap_RIC_InsertStyle_List;
1601 static int ett_e2ap_RIC_PolicyStyle_List;
1602 static int ett_e2ap_RIC_ReportStyle_List;
1605 /* Forward declarations */
1606 static int dissect_e2ap_RANfunction_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1609 static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1610 static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1611 static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1612 static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1613 static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1615 static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1616 static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1617 static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1618 static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1619 static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1620 static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1621 static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1622 static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1623 static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1625 static int dissect_E2SM_NI_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1626 static int dissect_E2SM_NI_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1627 static int dissect_E2SM_NI_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1628 static int dissect_E2SM_NI_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1629 static int dissect_E2SM_NI_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1630 static int dissect_E2SM_NI_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1631 static int dissect_E2SM_NI_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1632 static int dissect_E2SM_NI_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1633 static int dissect_E2SM_NI_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
1635 enum {
1636 INITIATING_MESSAGE,
1637 SUCCESSFUL_OUTCOME,
1638 UNSUCCESSFUL_OUTCOME
1642 /* E2AP stats - Tap interface */
1644 static void set_stats_message_type(packet_info *pinfo, int type);
1646 static const uint8_t *st_str_packets = "Total Packets";
1647 static const uint8_t *st_str_packet_types = "E2AP Packet Types";
1649 static int st_node_packets = -1;
1650 static int st_node_packet_types = -1;
1651 static int e2ap_tap;
1653 struct e2ap_tap_t {
1654 int e2ap_mtype;
1657 #define MTYPE_E2_CONNECTION_UPDATE 1
1658 #define MTYPE_E2_CONNECTION_UPDATE_ACK 2
1659 #define MTYPE_E2_CONNECTION_UPDATE_FAIL 3
1660 #define MTYPE_E2_CONFIGURATION_UPDATE 4
1661 #define MTYPE_E2_CONFIGURATION_UPDATE_ACK 5
1662 #define MTYPE_E2_CONFIGURATION_UPDATE_FAIL 6
1663 #define MTYPE_E2_SETUP_FAIL 7
1664 #define MTYPE_E2_SETUP_REQUEST 8
1665 #define MTYPE_E2_SETUP_RESPONSE 9
1666 #define MTYPE_ERROR_INDICATION 10
1667 #define MTYPE_RESET_REQUEST 11
1668 #define MTYPE_RESET_RESPONSE 12
1669 #define MTYPE_RIC_CONTROL_ACK 13
1670 #define MTYPE_RIC_CONTROL_FAIL 14
1671 #define MTYPE_RIC_CONTROL_REQUEST 15
1672 #define MTYPE_RIC_IND 16
1673 #define MTYPE_RIC_SERVICE_QUERY 17
1674 #define MTYPE_RIC_SERVICE_UPDATE 18
1675 #define MTYPE_RIC_SERVICE_UPDATE_ACK 19
1676 #define MTYPE_RIC_SERVICE_UPDATE_FAIL 20
1677 #define MTYPE_RIC_SUBSCRIPTION_FAIL 21
1678 #define MTYPE_RIC_SUBSCRIPTION_REQUEST 22
1679 #define MTYPE_RIC_SUBSCRIPTION_RESPONSE 23
1680 #define MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL 24
1681 #define MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST 25
1682 #define MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE 26
1683 #define MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED 27
1684 #define MTYPE_RIC_QUERY_REQUEST 28
1685 #define MTYPE_RIC_QUERY_RESPONSE 29
1686 #define MTYPE_RIC_QUERY_FAILURE 30
1688 /* Value Strings. TODO: ext? */
1689 static const value_string mtype_names[] = {
1690 { MTYPE_E2_CONNECTION_UPDATE, "E2connectionUpdate"},
1691 { MTYPE_E2_CONNECTION_UPDATE_ACK, "E2connectionUpdateAcknowledge"},
1692 { MTYPE_E2_CONNECTION_UPDATE_FAIL, "E2connectionUpdateFailure"},
1693 { MTYPE_E2_CONFIGURATION_UPDATE, "E2nodeConfigurationUpdate"},
1694 { MTYPE_E2_CONFIGURATION_UPDATE_ACK, "E2nodeConfigurationUpdateAcknowledge"},
1695 { MTYPE_E2_CONFIGURATION_UPDATE_FAIL, "E2nodeConfigurationUpdateFailure"},
1696 { MTYPE_E2_SETUP_FAIL, "E2setupFailure"},
1697 { MTYPE_E2_SETUP_REQUEST, "E2setupRequest"},
1698 { MTYPE_E2_SETUP_RESPONSE, "E2setupResponse"},
1699 { MTYPE_ERROR_INDICATION, "ErrorIndication"},
1700 { MTYPE_RESET_REQUEST, "ResetRequest"},
1701 { MTYPE_RESET_RESPONSE, "ResetResponse"},
1702 { MTYPE_RIC_CONTROL_ACK, "RICcontrolAcknowledge"},
1703 { MTYPE_RIC_CONTROL_FAIL, "RICcontrolFailure"},
1704 { MTYPE_RIC_CONTROL_REQUEST, "RICcontrolRequest"},
1705 { MTYPE_RIC_IND, "RICindication"},
1706 { MTYPE_RIC_SERVICE_QUERY, "RICserviceQuery"},
1707 { MTYPE_RIC_SERVICE_UPDATE, "RICserviceUpdate"},
1708 { MTYPE_RIC_SERVICE_UPDATE_ACK, "RICserviceUpdateAcknowledge"},
1709 { MTYPE_RIC_SERVICE_UPDATE_FAIL, "RICserviceUpdateFailure"},
1710 { MTYPE_RIC_SUBSCRIPTION_FAIL, "RICsubscriptionFailure"},
1711 { MTYPE_RIC_SUBSCRIPTION_REQUEST, "RICsubscriptionRequest"},
1712 { MTYPE_RIC_SUBSCRIPTION_RESPONSE, "RICsubscriptionResponse"},
1713 { MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL, "RICsubscriptionDeleteFailure"},
1714 { MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST, "RICsubscriptionDeleteRequest"},
1715 { MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE, "RICsubscriptionDeleteResponse"},
1716 { MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED, "RICsubscriptionDeleteRequired"},
1717 { MTYPE_RIC_QUERY_REQUEST, "RICQueryRequest"},
1718 { MTYPE_RIC_QUERY_RESPONSE, "RICQueryResponse"},
1719 { MTYPE_RIC_QUERY_FAILURE, "RICQueryFailure"},
1720 { 0, NULL }
1723 static proto_tree *top_tree;
1725 static void set_message_label(asn1_ctx_t *actx, int type)
1727 const char *label = val_to_str_const(type, mtype_names, "Unknown");
1728 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
1729 proto_item_append_text(top_tree, " (%s)", label);
1735 /* Temporary private info to remember while dissecting frame */
1736 struct e2ap_private_data {
1737 uint32_t procedure_code;
1738 uint32_t protocol_ie_id;
1739 uint32_t message_type;
1741 uint32_t ran_function_id;
1742 uint32_t gnb_id_len;
1743 #define MAX_GNB_ID_BYTES 6
1744 uint8_t gnb_id_bytes[MAX_GNB_ID_BYTES];
1745 dissector_handle_t component_configuration_dissector;
1746 struct e2ap_tap_t *stats_tap;
1749 /* Lookup temporary private info */
1750 static struct e2ap_private_data*
1751 e2ap_get_private_data(packet_info *pinfo)
1753 struct e2ap_private_data *e2ap_data = (struct e2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_e2ap, 0);
1754 if (!e2ap_data) {
1755 e2ap_data = wmem_new0(pinfo->pool, struct e2ap_private_data);
1756 p_add_proto_data(pinfo->pool, pinfo, proto_e2ap, 0, e2ap_data);
1758 return e2ap_data;
1761 /****************************************************************************************************************/
1762 /* These are the strings that we look for at the beginning of RAN Function Description to identify RAN Function */
1763 /* Static table mapping from string -> ran_function */
1764 static const char* g_ran_function_name_table[MAX_RANFUNCTIONS] =
1766 "ORAN-E2SM-KPM",
1767 "ORAN-E2SM-RC",
1768 "ORAN-E2SM-NI",
1769 "{" /* For now, CCC is the only JSON-based RAN Function, so just match opening */
1774 /* Per-conversation mapping: ranFunctionId -> ran_function+dissector */
1775 typedef struct {
1776 uint32_t setup_frame;
1777 uint32_t ran_function_id;
1778 ran_function_t ran_function;
1779 char oid[MAX_OID_LEN]; // i.e., OID from setupRequest
1780 ran_function_dissector_t *dissector;
1781 } ran_function_id_mapping_t;
1783 typedef struct {
1784 #define MAX_RANFUNCTION_ENTRIES 8
1785 uint32_t num_entries;
1786 ran_function_id_mapping_t entries[MAX_RANFUNCTION_ENTRIES];
1787 } ran_functionid_table_t;
1789 static const char *ran_function_to_str(ran_function_t ran_function)
1791 switch (ran_function) {
1792 case KPM_RANFUNCTIONS:
1793 return "KPM";
1794 case RC_RANFUNCTIONS:
1795 return "RC";
1796 case NI_RANFUNCTIONS:
1797 return "NI";
1798 case CCC_RANFUNCTIONS:
1799 return "CCC";
1801 default:
1802 return "Unknown";
1806 /* Table of RAN Function tables, indexed by gnbId (bytes) */
1807 typedef struct {
1808 #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;
1817 static gnb_ran_functions_t s_gnb_ran_functions_table;
1820 /* Table of available dissectors for each RAN function */
1821 typedef struct {
1822 uint32_t num_available_dissectors;
1823 #define MAX_DISSECTORS_PER_RAN_FUNCTION 8
1824 ran_function_dissector_t* ran_function_dissectors[MAX_DISSECTORS_PER_RAN_FUNCTION];
1825 } ran_function_available_dissectors_t;
1827 /* Available dissectors should be set here */
1828 static ran_function_available_dissectors_t g_ran_functions_available_dissectors[MAX_RANFUNCTIONS];
1830 /* Will be called from outside this file by separate dissectors */
1831 void register_e2ap_ran_function_dissector(ran_function_t ran_function, ran_function_dissector_t *dissector)
1833 if ((ran_function >= MIN_RANFUNCTIONS) && (ran_function < MAX_RANFUNCTIONS)) {
1834 ran_function_available_dissectors_t *available_dissectors = &g_ran_functions_available_dissectors[ran_function];
1835 if (available_dissectors->num_available_dissectors < MAX_DISSECTORS_PER_RAN_FUNCTION) {
1836 available_dissectors->ran_function_dissectors[available_dissectors->num_available_dissectors++] = dissector;
1842 /* Get RANfunctionID table from conversation data - create new if necessary */
1843 static ran_functionid_table_t* get_ran_functionid_table(packet_info *pinfo)
1845 conversation_t *p_conv;
1846 ran_functionid_table_t *p_conv_data = NULL;
1848 /* Lookup conversation */
1849 p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
1850 conversation_pt_to_endpoint_type(pinfo->ptype),
1851 pinfo->destport, pinfo->srcport, 0);
1852 if (!p_conv) {
1853 /* None, so create new data and set */
1854 p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
1855 conversation_pt_to_endpoint_type(pinfo->ptype),
1856 pinfo->destport, pinfo->srcport, 0);
1857 p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
1858 conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
1860 else {
1861 /* Will return existing conversation data */
1862 p_conv_data = (ran_functionid_table_t*)conversation_get_proto_data(p_conv, proto_e2ap);
1865 return p_conv_data;
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)
1872 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
1873 ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
1875 /* Need these pointers not to be NULL */
1876 if (!name || !table) {
1877 return;
1880 /* Stop if already reached table limit */
1881 if (table->num_entries == MAX_RANFUNCTION_ENTRIES) {
1882 proto_tree_add_expert_format(tree, pinfo, &ei_e2ap_ran_function_max_dissectors_registered,
1883 tvb, 0, 0,
1884 "Dissector wants to register for %s, but max (%u) already reached",
1885 name, MAX_RANFUNCTION_ENTRIES);
1886 return;
1889 uint32_t ran_function_id = e2ap_data->ran_function_id;
1891 ran_function_t ran_function = MAX_RANFUNCTIONS; /* i.e. invalid */
1892 ran_function_dissector_t *ran_function_dissector = NULL;
1894 /* Check known RAN function names */
1895 for (int n=MIN_RANFUNCTIONS; n < MAX_RANFUNCTIONS; n++) {
1896 if (strcmp(name, g_ran_function_name_table[n]) == 0) {
1897 ran_function = n;
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 if (g_ran_functions_available_dissectors[table->entries[n].ran_function].num_available_dissectors) {
1902 ran_function_dissector = g_ran_functions_available_dissectors[table->entries[n].ran_function].ran_function_dissectors[0];
1904 break;
1908 /* Nothing to do if no matches */
1909 if (ran_function == MAX_RANFUNCTIONS) {
1910 return;
1913 /* If ID already mapped, can stop here */
1914 for (unsigned n=0; n < table->num_entries; n++) {
1915 if (table->entries[n].ran_function_id == ran_function_id) {
1916 return;
1920 /* OK, store this new entry */
1921 unsigned idx = table->num_entries++;
1922 table->entries[idx].setup_frame = pinfo->num;
1923 table->entries[idx].ran_function_id = ran_function_id;
1924 table->entries[idx].ran_function = ran_function;
1925 table->entries[idx].dissector = ran_function_dissector;
1927 /* When add first entry, also want to set up table from gnbId -> table */
1928 if (idx == 0) {
1929 unsigned id_len = e2ap_data->gnb_id_len;
1930 uint8_t *id_value = &e2ap_data->gnb_id_bytes[0];
1932 bool found = false;
1933 for (unsigned n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
1934 if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
1935 (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
1936 /* Already have an entry for this gnb. */
1937 found = true;
1938 break;
1942 if (!found) {
1943 /* Add entry (if room for 1 more) */
1944 uint32_t new_idx = s_gnb_ran_functions_table.num_gnbs;
1945 if (new_idx < MAX_GNBS-1) {
1946 s_gnb_ran_functions_table.gnb[new_idx].id_len = id_len;
1947 memcpy(s_gnb_ran_functions_table.gnb[new_idx].id_value, id_value, id_len);
1948 s_gnb_ran_functions_table.gnb[new_idx].ran_function_table = table;
1950 s_gnb_ran_functions_table.num_gnbs++;
1956 /* Look for Service Model function pointers, based on current RANFunctionID from frame */
1957 static ran_function_dissector_t* lookup_ranfunction_dissector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb)
1959 /* Get ranFunctionID from this frame */
1960 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
1961 unsigned ran_function_id = e2ap_data->ran_function_id;
1963 /* Get ranFunction table corresponding to this frame's conversation */
1964 ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
1965 if (!table) {
1966 /* There is no ran function table associated with this frame's conversation info */
1967 return NULL;
1970 /* Find the entry in this table corresponding to ran_function_id */
1971 for (unsigned n=0; n < table->num_entries; n++) {
1972 if (ran_function_id == table->entries[n].ran_function_id) {
1973 if (tree) {
1974 /* Point back at the setup frame where this ranfunction was mapped */
1975 proto_item *ti = proto_tree_add_uint(tree, hf_e2ap_ran_function_setup_frame,
1976 tvb, 0, 0, table->entries[n].setup_frame);
1977 /* Show that mapping */
1978 proto_item_append_text(ti, " (%u -> %s)", table->entries[n].ran_function_id, ran_function_to_str(table->entries[n].ran_function));
1979 proto_item_set_generated(ti);
1981 /* Also take the chance to compare signalled and available dissector */
1982 char *frame_version = oid_resolved_from_string(pinfo->pool, table->entries[n].oid);
1983 ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, frame_version);
1984 proto_item_set_generated(ti);
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 char dissector_version[16];
1988 snprintf(dissector_version, 16, "%s v%u",
1989 ran_function_to_str(table->entries[n].ran_function),
1990 table->entries[n].dissector->major_version);
1991 ti = proto_tree_add_string(tree, hf_e2ap_dissector_version, tvb, 0, 0, dissector_version);
1992 proto_item_set_generated(ti);
1994 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 expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_dissector_mismatch,
1997 "Dissector version mismatch - frame is %s but dissector is %s",
1998 frame_version, dissector_version);
2002 /* Return the dissector */
2003 return table->entries[n].dissector;
2007 if (tree) {
2008 /* No match found.. */
2009 proto_item *ti = proto_tree_add_item(tree, hf_e2ap_unmapped_ran_function_id, tvb, 0, 0, ENC_NA);
2010 expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_id_not_mapped,
2011 "Service Model not mapped for FunctionID %u", ran_function_id);
2014 return NULL;
2017 /* Return the oid associated with this frame's conversation */
2018 static char* lookup_ranfunction_oid(packet_info *pinfo)
2020 /* Get ranFunctionID from this frame */
2021 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2022 unsigned ran_function_id = e2ap_data->ran_function_id;
2024 /* Get ranFunction table corresponding to this frame's conversation */
2025 ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2026 if (!table) {
2027 /* There is no ran function table associated with this frame's conversation info */
2028 return NULL;
2031 /* Find the entry in this table corresponding to ran_function_id */
2032 for (unsigned n=0; n < table->num_entries; n++) {
2033 if (ran_function_id == table->entries[n].ran_function_id) {
2034 return (char*)(table->entries[n].oid);
2038 /* Not found */
2039 return NULL;
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)
2046 char *frame_oid = lookup_ranfunction_oid(pinfo);
2047 if (frame_oid == NULL) {
2048 /* TODO: error? */
2049 return;
2052 bool found = false;
2054 /* Look at available dissectors for this RAN function */
2055 ran_function_available_dissectors_t *available = &g_ran_functions_available_dissectors[ran_function];
2056 if (!available->num_available_dissectors) {
2057 /* Oops - none available at all! */
2058 return;
2061 /* Get mapping in use */
2062 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2063 unsigned ran_function_id = e2ap_data->ran_function_id;
2064 ran_function_id_mapping_t *mapping = NULL;
2065 ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2066 if (!table) {
2067 return;
2070 /* Find the entry in this table corresponding to ran_function_id */
2071 for (unsigned n=0; n < table->num_entries; n++) {
2072 if (ran_function_id == table->entries[n].ran_function_id) {
2073 mapping = &(table->entries[n]);
2077 if (!mapping) {
2078 return;
2081 /* Set dissector pointer in ran_function_id_mapping_t */
2082 if (ran_function != RC_RANFUNCTIONS) {
2083 for (uint32_t n=0; n < available->num_available_dissectors; n++) {
2084 /* If exact match, set it */
2085 if (strcmp(frame_oid, available->ran_function_dissectors[n]->oid) == 0) {
2086 mapping->dissector = available->ran_function_dissectors[n];
2087 found = true;
2088 break;
2092 else {
2093 /* Special case for RC, which doesn't differentiate versions by OID. Lookup preference instead */
2094 for (uint32_t n=0; n < available->num_available_dissectors; n++) {
2095 if (available->ran_function_dissectors[n]->major_version == e2ap_rc_version_pref_choice) {
2096 mapping->dissector = available->ran_function_dissectors[n];
2097 found = true;
2098 break;
2104 /* If not exact match, just set to first one available (TODO: closest above better?) */
2105 if (!found) {
2106 mapping->dissector = available->ran_function_dissectors[0];
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)
2114 /* Copy OID into table entry (so may be used to choose and be compared with chosen available dissector */
2115 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2116 ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
2117 /* Make sure we have private and table data to compare */
2118 if (!e2ap_data || !table) {
2119 return;
2121 ran_function_t ran_function = MAX_RANFUNCTIONS;
2122 for (unsigned n=0; n < table->num_entries; n++) {
2123 if (e2ap_data->ran_function_id == table->entries[n].ran_function_id) {
2124 ran_function = table->entries[n].ran_function;
2125 g_strlcpy(table->entries[n].oid, oid, MAX_OID_LEN);
2129 /* Look up version from oid and show as generated field */
2130 char *version = oid_resolved_from_string(pinfo->pool, oid);
2131 proto_item *ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, version);
2132 proto_item_set_generated(ti);
2134 /* Can now pick most appropriate dissector for this RAN Function name, based upon this OID and the available dissectors */
2135 if (ran_function < MAX_RANFUNCTIONS) {
2136 if (pinfo->fd->visited) {
2137 update_dissector_using_oid(pinfo, ran_function);
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)
2145 packet_info *pinfo = actx->pinfo;
2146 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
2148 /* Look for conversation data */
2149 conversation_t *p_conv;
2150 ran_functionid_table_t *p_conv_data = NULL;
2152 /* Lookup conversation */
2153 p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
2154 conversation_pt_to_endpoint_type(pinfo->ptype),
2155 pinfo->destport, pinfo->srcport, 0);
2157 if (!p_conv) {
2158 /* None, so create new data and set */
2159 p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
2160 conversation_pt_to_endpoint_type(pinfo->ptype),
2161 pinfo->destport, pinfo->srcport, 0);
2162 p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
2163 conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
2165 /* Look to see if we already know about the mappings in effect on this gNB */
2166 unsigned id_len = e2ap_data->gnb_id_len;
2167 uint8_t *id_value = &e2ap_data->gnb_id_bytes[0];
2169 for (unsigned n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
2170 if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
2171 (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
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 p_conv_data = s_gnb_ran_functions_table.gnb[n].ran_function_table;
2176 conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
2178 /* TODO: may want to try to add a generated field to pass back to E2setupRequest where RAN function mappings were first seen? */
2179 break;
2185 static dissector_handle_t json_handle;
2187 static int dissect_E2SM_NI_JSON_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
2189 /* Send to JSON dissector */
2190 return call_dissector_only(json_handle, tvb, pinfo, tree, NULL);
2194 /* Dissector tables */
2195 static dissector_table_t e2ap_ies_dissector_table;
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;
2203 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
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);
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 *);
2216 /*--- Cyclic dependencies ---*/
2218 /* RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-List -> RANParameter-Testing-LIST -> RANParameter-Testing-Item */
2219 /* RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-Structure -> RANParameter-Testing-STRUCTURE -> RANParameter-Testing-Item */
2220 static int dissect_e2ap_RANParameter_Testing_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2222 /* RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-LIST -> RANParameter-Definition-Choice-LIST/ranParameter-List -> RANParameter-Definition-Choice-LIST-Item -> RANParameter-Definition */
2223 /* RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-STRUCTURE -> RANParameter-Definition-Choice-STRUCTURE/ranParameter-STRUCTURE -> RANParameter-Definition-Choice-STRUCTURE-Item -> RANParameter-Definition */
2224 static int dissect_e2ap_RANParameter_Definition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2226 /* RANParameter-ValueType -> RANParameter-ValueType-Choice-Structure -> RANParameter-STRUCTURE -> RANParameter-STRUCTURE/sequence-of-ranParameters -> RANParameter-STRUCTURE-Item -> RANParameter-ValueType */
2227 static int dissect_e2ap_RANParameter_ValueType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2231 static const value_string e2ap_Criticality_vals[] = {
2232 { 0, "reject" },
2233 { 1, "ignore" },
2234 { 2, "notify" },
2235 { 0, NULL }
2239 static int
2240 dissect_e2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2241 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2242 3, NULL, false, 0, NULL);
2244 return offset;
2248 static const value_string e2ap_ProcedureCode_vals[] = {
2249 { id_E2setup, "id-E2setup" },
2250 { id_ErrorIndication, "id-ErrorIndication" },
2251 { id_Reset, "id-Reset" },
2252 { id_RICcontrol, "id-RICcontrol" },
2253 { id_RICindication, "id-RICindication" },
2254 { id_RICserviceQuery, "id-RICserviceQuery" },
2255 { id_RICserviceUpdate, "id-RICserviceUpdate" },
2256 { id_RICsubscription, "id-RICsubscription" },
2257 { id_RICsubscriptionDelete, "id-RICsubscriptionDelete" },
2258 { id_E2nodeConfigurationUpdate, "id-E2nodeConfigurationUpdate" },
2259 { id_E2connectionUpdate, "id-E2connectionUpdate" },
2260 { id_RICsubscriptionDeleteRequired, "id-RICsubscriptionDeleteRequired" },
2261 { id_E2removal, "id-E2removal" },
2262 { id_RICsubscriptionModification, "id-RICsubscriptionModification" },
2263 { id_RICsubscriptionModificationRequired, "id-RICsubscriptionModificationRequired" },
2264 { id_RICquery, "id-RICquery" },
2265 { 0, NULL }
2268 static value_string_ext e2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(e2ap_ProcedureCode_vals);
2271 static int
2272 dissect_e2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2273 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2274 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2275 0U, 255U, &e2ap_data->procedure_code, false);
2277 //col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s", val_to_str(e2ap_data->procedure_code, e2ap_ProcedureCode_vals, "Unknown"));
2279 return offset;
2283 static const value_string e2ap_ProtocolIE_ID_vals[] = {
2284 { id_Cause, "id-Cause" },
2285 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
2286 { id_GlobalE2node_ID, "id-GlobalE2node-ID" },
2287 { id_GlobalRIC_ID, "id-GlobalRIC-ID" },
2288 { id_RANfunctionID, "id-RANfunctionID" },
2289 { id_RANfunctionID_Item, "id-RANfunctionID-Item" },
2290 { id_RANfunctionIEcause_Item, "id-RANfunctionIEcause-Item" },
2291 { id_RANfunction_Item, "id-RANfunction-Item" },
2292 { id_RANfunctionsAccepted, "id-RANfunctionsAccepted" },
2293 { id_RANfunctionsAdded, "id-RANfunctionsAdded" },
2294 { id_RANfunctionsDeleted, "id-RANfunctionsDeleted" },
2295 { id_RANfunctionsModified, "id-RANfunctionsModified" },
2296 { id_RANfunctionsRejected, "id-RANfunctionsRejected" },
2297 { id_RICaction_Admitted_Item, "id-RICaction-Admitted-Item" },
2298 { id_RICactionID, "id-RICactionID" },
2299 { id_RICaction_NotAdmitted_Item, "id-RICaction-NotAdmitted-Item" },
2300 { id_RICactions_Admitted, "id-RICactions-Admitted" },
2301 { id_RICactions_NotAdmitted, "id-RICactions-NotAdmitted" },
2302 { id_RICaction_ToBeSetup_Item, "id-RICaction-ToBeSetup-Item" },
2303 { id_RICcallProcessID, "id-RICcallProcessID" },
2304 { id_RICcontrolAckRequest, "id-RICcontrolAckRequest" },
2305 { id_RICcontrolHeader, "id-RICcontrolHeader" },
2306 { id_RICcontrolMessage, "id-RICcontrolMessage" },
2307 { id_RICcontrolStatus, "id-RICcontrolStatus" },
2308 { id_RICindicationHeader, "id-RICindicationHeader" },
2309 { id_RICindicationMessage, "id-RICindicationMessage" },
2310 { id_RICindicationSN, "id-RICindicationSN" },
2311 { id_RICindicationType, "id-RICindicationType" },
2312 { id_RICrequestID, "id-RICrequestID" },
2313 { id_RICsubscriptionDetails, "id-RICsubscriptionDetails" },
2314 { id_TimeToWait, "id-TimeToWait" },
2315 { id_RICcontrolOutcome, "id-RICcontrolOutcome" },
2316 { id_E2nodeComponentConfigUpdate, "id-E2nodeComponentConfigUpdate" },
2317 { id_E2nodeComponentConfigUpdate_Item, "id-E2nodeComponentConfigUpdate-Item" },
2318 { id_E2nodeComponentConfigUpdateAck, "id-E2nodeComponentConfigUpdateAck" },
2319 { id_E2nodeComponentConfigUpdateAck_Item, "id-E2nodeComponentConfigUpdateAck-Item" },
2320 { id_E2connectionSetup, "id-E2connectionSetup" },
2321 { id_E2connectionSetupFailed, "id-E2connectionSetupFailed" },
2322 { id_E2connectionSetupFailed_Item, "id-E2connectionSetupFailed-Item" },
2323 { id_E2connectionFailed_Item, "id-E2connectionFailed-Item" },
2324 { id_E2connectionUpdate_Item, "id-E2connectionUpdate-Item" },
2325 { id_E2connectionUpdateAdd, "id-E2connectionUpdateAdd" },
2326 { id_E2connectionUpdateModify, "id-E2connectionUpdateModify" },
2327 { id_E2connectionUpdateRemove, "id-E2connectionUpdateRemove" },
2328 { id_E2connectionUpdateRemove_Item, "id-E2connectionUpdateRemove-Item" },
2329 { id_TNLinformation, "id-TNLinformation" },
2330 { id_TransactionID, "id-TransactionID" },
2331 { id_E2nodeComponentConfigAddition, "id-E2nodeComponentConfigAddition" },
2332 { id_E2nodeComponentConfigAddition_Item, "id-E2nodeComponentConfigAddition-Item" },
2333 { id_E2nodeComponentConfigAdditionAck, "id-E2nodeComponentConfigAdditionAck" },
2334 { id_E2nodeComponentConfigAdditionAck_Item, "id-E2nodeComponentConfigAdditionAck-Item" },
2335 { id_E2nodeComponentConfigRemoval, "id-E2nodeComponentConfigRemoval" },
2336 { id_E2nodeComponentConfigRemoval_Item, "id-E2nodeComponentConfigRemoval-Item" },
2337 { id_E2nodeComponentConfigRemovalAck, "id-E2nodeComponentConfigRemovalAck" },
2338 { id_E2nodeComponentConfigRemovalAck_Item, "id-E2nodeComponentConfigRemovalAck-Item" },
2339 { id_E2nodeTNLassociationRemoval, "id-E2nodeTNLassociationRemoval" },
2340 { id_E2nodeTNLassociationRemoval_Item, "id-E2nodeTNLassociationRemoval-Item" },
2341 { id_RICsubscriptionToBeRemoved, "id-RICsubscriptionToBeRemoved" },
2342 { id_RICsubscription_withCause_Item, "id-RICsubscription-withCause-Item" },
2343 { id_RICsubscriptionStartTime, "id-RICsubscriptionStartTime" },
2344 { id_RICsubscriptionEndTime, "id-RICsubscriptionEndTime" },
2345 { id_RICeventTriggerDefinitionToBeModified, "id-RICeventTriggerDefinitionToBeModified" },
2346 { id_RICactionsToBeRemovedForModification_List, "id-RICactionsToBeRemovedForModification-List" },
2347 { id_RICaction_ToBeRemovedForModification_Item, "id-RICaction-ToBeRemovedForModification-Item" },
2348 { id_RICactionsToBeModifiedForModification_List, "id-RICactionsToBeModifiedForModification-List" },
2349 { id_RICaction_ToBeModifiedForModification_Item, "id-RICaction-ToBeModifiedForModification-Item" },
2350 { id_RICactionsToBeAddedForModification_List, "id-RICactionsToBeAddedForModification-List" },
2351 { id_RICaction_ToBeAddedForModification_Item, "id-RICaction-ToBeAddedForModification-Item" },
2352 { id_RICactionsRemovedForModification_List, "id-RICactionsRemovedForModification-List" },
2353 { id_RICaction_RemovedForModification_Item, "id-RICaction-RemovedForModification-Item" },
2354 { id_RICactionsFailedToBeRemovedForModification_List, "id-RICactionsFailedToBeRemovedForModification-List" },
2355 { id_RICaction_FailedToBeRemovedForModification_Item, "id-RICaction-FailedToBeRemovedForModification-Item" },
2356 { id_RICactionsModifiedForModification_List, "id-RICactionsModifiedForModification-List" },
2357 { id_RICaction_ModifiedForModification_Item, "id-RICaction-ModifiedForModification-Item" },
2358 { id_RICactionsFailedToBeModifiedForModification_List, "id-RICactionsFailedToBeModifiedForModification-List" },
2359 { id_RICaction_FailedToBeModifiedForModification_Item, "id-RICaction-FailedToBeModifiedForModification-Item" },
2360 { id_RICactionsAddedForModification_List, "id-RICactionsAddedForModification-List" },
2361 { id_RICaction_AddedForModification_Item, "id-RICaction-AddedForModification-Item" },
2362 { id_RICactionsFailedToBeAddedForModification_List, "id-RICactionsFailedToBeAddedForModification-List" },
2363 { id_RICaction_FailedToBeAddedForModification_Item, "id-RICaction-FailedToBeAddedForModification-Item" },
2364 { id_RICactionsRequiredToBeModified_List, "id-RICactionsRequiredToBeModified-List" },
2365 { id_RICaction_RequiredToBeModified_Item, "id-RICaction-RequiredToBeModified-Item" },
2366 { id_RICactionsRequiredToBeRemoved_List, "id-RICactionsRequiredToBeRemoved-List" },
2367 { id_RICaction_RequiredToBeRemoved_Item, "id-RICaction-RequiredToBeRemoved-Item" },
2368 { id_RICactionsConfirmedForModification_List, "id-RICactionsConfirmedForModification-List" },
2369 { id_RICaction_ConfirmedForModification_Item, "id-RICaction-ConfirmedForModification-Item" },
2370 { id_RICactionsRefusedToBeModified_List, "id-RICactionsRefusedToBeModified-List" },
2371 { id_RICaction_RefusedToBeModified_Item, "id-RICaction-RefusedToBeModified-Item" },
2372 { id_RICactionsConfirmedForRemoval_List, "id-RICactionsConfirmedForRemoval-List" },
2373 { id_RICaction_ConfirmedForRemoval_Item, "id-RICaction-ConfirmedForRemoval-Item" },
2374 { id_RICactionsRefusedToBeRemoved_List, "id-RICactionsRefusedToBeRemoved-List" },
2375 { id_RICaction_RefusedToBeRemoved_Item, "id-RICaction-RefusedToBeRemoved-Item" },
2376 { id_RICqueryHeader, "id-RICqueryHeader" },
2377 { id_RICqueryDefinition, "id-RICqueryDefinition" },
2378 { id_RICqueryOutcome, "id-RICqueryOutcome" },
2379 { 0, NULL }
2382 static value_string_ext e2ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(e2ap_ProtocolIE_ID_vals);
2385 static int
2386 dissect_e2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2387 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2388 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2389 0U, 65535U, &e2ap_data->protocol_ie_id, false);
2393 if (tree) {
2394 proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
2395 val_to_str_ext(e2ap_data->protocol_ie_id, &e2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
2397 return offset;
2401 static const value_string e2ap_TriggeringMessage_vals[] = {
2402 { 0, "initiating-message" },
2403 { 1, "successful-outcome" },
2404 { 2, "unsuccessfull-outcome" },
2405 { 0, NULL }
2409 static int
2410 dissect_e2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2411 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2412 3, NULL, false, 0, NULL);
2414 return offset;
2419 static int
2420 dissect_e2ap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2421 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
2423 return offset;
2427 static const per_sequence_t ProtocolIE_Field_sequence[] = {
2428 { &hf_e2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_ID },
2429 { &hf_e2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
2430 { &hf_e2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_T_value },
2431 { NULL, 0, 0, NULL }
2434 static int
2435 dissect_e2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2436 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2437 ett_e2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
2439 return offset;
2443 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
2444 { &hf_e2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Field },
2447 static int
2448 dissect_e2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2449 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2450 ett_e2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
2451 0, maxProtocolIEs, false);
2453 return offset;
2458 static int
2459 dissect_e2ap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2460 offset = dissect_e2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
2462 return offset;
2467 static int
2468 dissect_e2ap_AMFName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2469 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
2470 1, 150, true,
2471 NULL);
2473 return offset;
2477 static const value_string e2ap_CauseRICrequest_vals[] = {
2478 { 0, "ran-function-id-invalid" },
2479 { 1, "action-not-supported" },
2480 { 2, "excessive-actions" },
2481 { 3, "duplicate-action" },
2482 { 4, "duplicate-event-trigger" },
2483 { 5, "function-resource-limit" },
2484 { 6, "request-id-unknown" },
2485 { 7, "inconsistent-action-subsequent-action-sequence" },
2486 { 8, "control-message-invalid" },
2487 { 9, "ric-call-process-id-invalid" },
2488 { 10, "control-timer-expired" },
2489 { 11, "control-failed-to-execute" },
2490 { 12, "system-not-ready" },
2491 { 13, "unspecified" },
2492 { 14, "ric-subscription-end-time-expired" },
2493 { 15, "ric-subscription-end-time-invalid" },
2494 { 16, "duplicate-ric-request-id" },
2495 { 17, "eventTriggerNotSupported" },
2496 { 18, "requested-information-unavailable" },
2497 { 19, "invalid-information-request" },
2498 { 0, NULL }
2502 static int
2503 dissect_e2ap_CauseRICrequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2504 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2505 14, NULL, true, 6, NULL);
2507 return offset;
2511 static const value_string e2ap_CauseRICservice_vals[] = {
2512 { 0, "ran-function-not-supported" },
2513 { 1, "excessive-functions" },
2514 { 2, "ric-resource-limit" },
2515 { 0, NULL }
2519 static int
2520 dissect_e2ap_CauseRICservice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2521 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2522 3, NULL, true, 0, NULL);
2524 return offset;
2528 static const value_string e2ap_CauseE2node_vals[] = {
2529 { 0, "e2node-component-unknown" },
2530 { 0, NULL }
2534 static int
2535 dissect_e2ap_CauseE2node(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2536 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2537 1, NULL, true, 0, NULL);
2539 return offset;
2543 static const value_string e2ap_CauseTransport_vals[] = {
2544 { 0, "unspecified" },
2545 { 1, "transport-resource-unavailable" },
2546 { 0, NULL }
2550 static int
2551 dissect_e2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2552 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2553 2, NULL, true, 0, NULL);
2555 return offset;
2559 static const value_string e2ap_CauseProtocol_vals[] = {
2560 { 0, "transfer-syntax-error" },
2561 { 1, "abstract-syntax-error-reject" },
2562 { 2, "abstract-syntax-error-ignore-and-notify" },
2563 { 3, "message-not-compatible-with-receiver-state" },
2564 { 4, "semantic-error" },
2565 { 5, "abstract-syntax-error-falsely-constructed-message" },
2566 { 6, "unspecified" },
2567 { 0, NULL }
2571 static int
2572 dissect_e2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2573 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2574 7, NULL, true, 0, NULL);
2576 return offset;
2580 static const value_string e2ap_CauseMisc_vals[] = {
2581 { 0, "control-processing-overload" },
2582 { 1, "hardware-failure" },
2583 { 2, "om-intervention" },
2584 { 3, "unspecified" },
2585 { 0, NULL }
2589 static int
2590 dissect_e2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2591 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2592 4, NULL, true, 0, NULL);
2594 return offset;
2598 static const value_string e2ap_Cause_vals[] = {
2599 { 0, "ricRequest" },
2600 { 1, "ricService" },
2601 { 2, "e2Node" },
2602 { 3, "transport" },
2603 { 4, "protocol" },
2604 { 5, "misc" },
2605 { 0, NULL }
2608 static const per_choice_t Cause_choice[] = {
2609 { 0, &hf_e2ap_ricRequest , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseRICrequest },
2610 { 1, &hf_e2ap_ricService , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseRICservice },
2611 { 2, &hf_e2ap_e2Node , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseE2node },
2612 { 3, &hf_e2ap_transport , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseTransport },
2613 { 4, &hf_e2ap_protocol , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseProtocol },
2614 { 5, &hf_e2ap_misc , ASN1_EXTENSION_ROOT , dissect_e2ap_CauseMisc },
2615 { 0, NULL, 0, NULL }
2618 static int
2619 dissect_e2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2620 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2621 ett_e2ap_Cause, Cause_choice,
2622 NULL);
2624 return offset;
2629 static int
2630 dissect_e2ap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2631 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2632 0U, 65535U, NULL, false);
2634 return offset;
2638 static const per_sequence_t RICrequestID_sequence[] = {
2639 { &hf_e2ap_ricRequestorID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_65535 },
2640 { &hf_e2ap_ricInstanceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_65535 },
2641 { NULL, 0, 0, NULL }
2644 static int
2645 dissect_e2ap_RICrequestID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2646 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2647 ett_e2ap_RICrequestID, RICrequestID_sequence);
2649 return offset;
2653 static const value_string e2ap_TypeOfError_vals[] = {
2654 { 0, "not-understood" },
2655 { 1, "missing" },
2656 { 0, NULL }
2660 static int
2661 dissect_e2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2662 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2663 2, NULL, true, 0, NULL);
2665 return offset;
2669 static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
2670 { &hf_e2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
2671 { &hf_e2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_ID },
2672 { &hf_e2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TypeOfError },
2673 { NULL, 0, 0, NULL }
2676 static int
2677 dissect_e2ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2679 ett_e2ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);
2681 return offset;
2685 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
2686 { &hf_e2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_CriticalityDiagnostics_IE_Item },
2689 static int
2690 dissect_e2ap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2691 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2692 ett_e2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
2693 1, maxnoofErrors, false);
2695 return offset;
2699 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
2700 { &hf_e2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_ProcedureCode },
2701 { &hf_e2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_TriggeringMessage },
2702 { &hf_e2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_Criticality },
2703 { &hf_e2ap_ricRequestorID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICrequestID },
2704 { &hf_e2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_CriticalityDiagnostics_IE_List },
2705 { NULL, 0, 0, NULL }
2708 static int
2709 dissect_e2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2710 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2711 ett_e2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
2713 return offset;
2718 static int
2719 dissect_e2ap_T_e2nodeComponentRequestPart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2720 tvbuff_t *value_tvb;
2721 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2722 NO_BOUND, NO_BOUND, false, &value_tvb);
2724 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2725 if (e2ap_data->component_configuration_dissector) {
2726 col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "|");
2727 col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
2728 col_set_writable(actx->pinfo->cinfo, COL_INFO, false);
2729 call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
2730 col_set_writable(actx->pinfo->cinfo, COL_INFO, true);
2734 return offset;
2739 static int
2740 dissect_e2ap_T_e2nodeComponentResponsePart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2741 tvbuff_t *value_tvb;
2742 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2743 NO_BOUND, NO_BOUND, false, &value_tvb);
2745 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2746 if (e2ap_data->component_configuration_dissector) {
2747 col_set_writable(actx->pinfo->cinfo, COL_INFO, false);
2748 call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
2749 col_set_writable(actx->pinfo->cinfo, COL_INFO, true);
2754 return offset;
2758 static const per_sequence_t E2nodeComponentConfiguration_sequence[] = {
2759 { &hf_e2ap_e2nodeComponentRequestPart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_e2nodeComponentRequestPart },
2760 { &hf_e2ap_e2nodeComponentResponsePart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_e2nodeComponentResponsePart },
2761 { NULL, 0, 0, NULL }
2764 static int
2765 dissect_e2ap_E2nodeComponentConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2766 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2767 ett_e2ap_E2nodeComponentConfiguration, E2nodeComponentConfiguration_sequence);
2769 return offset;
2773 static const value_string e2ap_T_updateOutcome_vals[] = {
2774 { 0, "success" },
2775 { 1, "failure" },
2776 { 0, NULL }
2780 static int
2781 dissect_e2ap_T_updateOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2782 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2783 2, NULL, true, 0, NULL);
2785 return offset;
2789 static const per_sequence_t E2nodeComponentConfigurationAck_sequence[] = {
2790 { &hf_e2ap_updateOutcome , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_updateOutcome },
2791 { &hf_e2ap_failureCause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_Cause },
2792 { NULL, 0, 0, NULL }
2795 static int
2796 dissect_e2ap_E2nodeComponentConfigurationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2797 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2798 ett_e2ap_E2nodeComponentConfigurationAck, E2nodeComponentConfigurationAck_sequence);
2800 return offset;
2804 static const value_string e2ap_E2nodeComponentInterfaceType_vals[] = {
2805 { 0, "ng" },
2806 { 1, "xn" },
2807 { 2, "e1" },
2808 { 3, "f1" },
2809 { 4, "w1" },
2810 { 5, "s1" },
2811 { 6, "x2" },
2812 { 0, NULL }
2816 static int
2817 dissect_e2ap_E2nodeComponentInterfaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2818 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2819 7, NULL, true, 0, NULL);
2821 return offset;
2825 static const per_sequence_t E2nodeComponentInterfaceNG_sequence[] = {
2826 { &hf_e2ap_amf_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFName },
2827 { NULL, 0, 0, NULL }
2830 static int
2831 dissect_e2ap_E2nodeComponentInterfaceNG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2832 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2833 ett_e2ap_E2nodeComponentInterfaceNG, E2nodeComponentInterfaceNG_sequence);
2835 return offset;
2840 static int
2841 dissect_e2ap_T_e2nodeComponentInterfaceTypeNG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2842 offset = dissect_e2ap_E2nodeComponentInterfaceNG(tvb, offset, actx, tree, hf_index);
2844 /* Store value in packet-private data */
2845 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2846 e2ap_data->component_configuration_dissector = find_dissector("ngap");
2849 return offset;
2854 static int
2855 dissect_e2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2856 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2857 3, 3, false, NULL);
2859 return offset;
2864 static int
2865 dissect_e2ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2866 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2867 22, 32, false, NULL, 0, NULL, NULL);
2869 return offset;
2873 static const value_string e2ap_GNB_ID_Choice_vals[] = {
2874 { 0, "gnb-ID" },
2875 { 0, NULL }
2878 static const per_choice_t GNB_ID_Choice_choice[] = {
2879 { 0, &hf_e2ap_gnb_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_22_32 },
2880 { 0, NULL, 0, NULL }
2883 static int
2884 dissect_e2ap_GNB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2885 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2886 ett_e2ap_GNB_ID_Choice, GNB_ID_Choice_choice,
2887 NULL);
2889 return offset;
2894 static int
2895 dissect_e2ap_T_gnb_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2896 int start_offset = offset;
2897 offset = dissect_e2ap_GNB_ID_Choice(tvb, offset, actx, tree, hf_index);
2899 /* Store value in packet-private data */
2900 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
2901 /* Limit length, but really can't be > 5 bytes.. */
2902 e2ap_data->gnb_id_len = MIN((offset-start_offset)/8, MAX_GNB_ID_BYTES);
2903 tvb_memcpy(tvb, &e2ap_data->gnb_id_bytes, start_offset/8, e2ap_data->gnb_id_len);
2904 update_conversation_from_gnb_id(actx);
2909 return offset;
2913 static const per_sequence_t GlobalgNB_ID_sequence[] = {
2914 { &hf_e2ap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
2915 { &hf_e2ap_gnb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_gnb_id },
2916 { NULL, 0, 0, NULL }
2919 static int
2920 dissect_e2ap_GlobalgNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2921 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2922 ett_e2ap_GlobalgNB_ID, GlobalgNB_ID_sequence);
2924 return offset;
2929 static int
2930 dissect_e2ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2931 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2932 20, 20, false, NULL, 0, NULL, NULL);
2934 return offset;
2939 static int
2940 dissect_e2ap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2941 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2942 18, 18, false, NULL, 0, NULL, NULL);
2944 return offset;
2949 static int
2950 dissect_e2ap_BIT_STRING_SIZE_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2951 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2952 21, 21, false, NULL, 0, NULL, NULL);
2954 return offset;
2958 static const value_string e2ap_ENB_ID_Choice_vals[] = {
2959 { 0, "enb-ID-macro" },
2960 { 1, "enb-ID-shortmacro" },
2961 { 2, "enb-ID-longmacro" },
2962 { 0, NULL }
2965 static const per_choice_t ENB_ID_Choice_choice[] = {
2966 { 0, &hf_e2ap_enb_ID_macro , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_20 },
2967 { 1, &hf_e2ap_enb_ID_shortmacro, ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_18 },
2968 { 2, &hf_e2ap_enb_ID_longmacro, ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_21 },
2969 { 0, NULL, 0, NULL }
2972 static int
2973 dissect_e2ap_ENB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2974 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2975 ett_e2ap_ENB_ID_Choice, ENB_ID_Choice_choice,
2976 NULL);
2978 return offset;
2982 static const per_sequence_t GlobalngeNB_ID_sequence[] = {
2983 { &hf_e2ap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
2984 { &hf_e2ap_enb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_ID_Choice },
2985 { NULL, 0, 0, NULL }
2988 static int
2989 dissect_e2ap_GlobalngeNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2990 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2991 ett_e2ap_GlobalngeNB_ID, GlobalngeNB_ID_sequence);
2993 return offset;
2997 static const value_string e2ap_GlobalNG_RANNode_ID_vals[] = {
2998 { 0, "gNB" },
2999 { 1, "ng-eNB" },
3000 { 0, NULL }
3003 static const per_choice_t GlobalNG_RANNode_ID_choice[] = {
3004 { 0, &hf_e2ap_gNB_01 , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalgNB_ID },
3005 { 1, &hf_e2ap_ng_eNB_01 , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalngeNB_ID },
3006 { 0, NULL, 0, NULL }
3009 static int
3010 dissect_e2ap_GlobalNG_RANNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3011 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3012 ett_e2ap_GlobalNG_RANNode_ID, GlobalNG_RANNode_ID_choice,
3013 NULL);
3015 return offset;
3019 static const per_sequence_t E2nodeComponentInterfaceXn_sequence[] = {
3020 { &hf_e2ap_global_NG_RAN_Node_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNG_RANNode_ID },
3021 { NULL, 0, 0, NULL }
3024 static int
3025 dissect_e2ap_E2nodeComponentInterfaceXn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3026 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3027 ett_e2ap_E2nodeComponentInterfaceXn, E2nodeComponentInterfaceXn_sequence);
3029 return offset;
3034 static int
3035 dissect_e2ap_T_e2nodeComponentInterfaceTypeXn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3036 offset = dissect_e2ap_E2nodeComponentInterfaceXn(tvb, offset, actx, tree, hf_index);
3038 /* Store value in packet-private data */
3039 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3040 e2ap_data->component_configuration_dissector = find_dissector("xnap");
3043 return offset;
3048 static int
3049 dissect_e2ap_GNB_CU_UP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3050 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3051 0U, UINT64_C(68719476735), NULL, false);
3053 return offset;
3057 static const per_sequence_t E2nodeComponentInterfaceE1_sequence[] = {
3058 { &hf_e2ap_gNB_CU_UP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
3059 { NULL, 0, 0, NULL }
3062 static int
3063 dissect_e2ap_E2nodeComponentInterfaceE1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3064 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3065 ett_e2ap_E2nodeComponentInterfaceE1, E2nodeComponentInterfaceE1_sequence);
3067 return offset;
3072 static int
3073 dissect_e2ap_T_e2nodeComponentInterfaceTypeE1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3074 offset = dissect_e2ap_E2nodeComponentInterfaceE1(tvb, offset, actx, tree, hf_index);
3076 /* Store value in packet-private data */
3077 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3078 e2ap_data->component_configuration_dissector = find_dissector("e1ap");
3081 return offset;
3086 static int
3087 dissect_e2ap_GNB_DU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3088 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3089 0U, UINT64_C(68719476735), NULL, false);
3091 return offset;
3095 static const per_sequence_t E2nodeComponentInterfaceF1_sequence[] = {
3096 { &hf_e2ap_gNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
3097 { NULL, 0, 0, NULL }
3100 static int
3101 dissect_e2ap_E2nodeComponentInterfaceF1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3102 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3103 ett_e2ap_E2nodeComponentInterfaceF1, E2nodeComponentInterfaceF1_sequence);
3105 return offset;
3110 static int
3111 dissect_e2ap_T_e2nodeComponentInterfaceTypeF1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3112 offset = dissect_e2ap_E2nodeComponentInterfaceF1(tvb, offset, actx, tree, hf_index);
3114 /* Store value in packet-private data */
3115 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3116 e2ap_data->component_configuration_dissector = find_dissector("f1ap");
3120 return offset;
3125 static int
3126 dissect_e2ap_NGENB_DU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3127 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3128 0U, UINT64_C(68719476735), NULL, false);
3130 return offset;
3134 static const per_sequence_t E2nodeComponentInterfaceW1_sequence[] = {
3135 { &hf_e2ap_ng_eNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_DU_ID },
3136 { NULL, 0, 0, NULL }
3139 static int
3140 dissect_e2ap_E2nodeComponentInterfaceW1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3141 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3142 ett_e2ap_E2nodeComponentInterfaceW1, E2nodeComponentInterfaceW1_sequence);
3144 return offset;
3149 static int
3150 dissect_e2ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3151 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
3152 1, 150, true,
3153 NULL);
3155 return offset;
3159 static const per_sequence_t E2nodeComponentInterfaceS1_sequence[] = {
3160 { &hf_e2ap_mme_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MMEname },
3161 { NULL, 0, 0, NULL }
3164 static int
3165 dissect_e2ap_E2nodeComponentInterfaceS1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3166 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3167 ett_e2ap_E2nodeComponentInterfaceS1, E2nodeComponentInterfaceS1_sequence);
3169 return offset;
3174 static int
3175 dissect_e2ap_T_e2nodeComponentInterfaceTypeS1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3176 offset = dissect_e2ap_E2nodeComponentInterfaceS1(tvb, offset, actx, tree, hf_index);
3178 /* Store value in packet-private data */
3179 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3180 e2ap_data->component_configuration_dissector = find_dissector("s1ap");
3183 return offset;
3188 static int
3189 dissect_e2ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3190 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3191 28, 28, false, NULL, 0, NULL, NULL);
3193 return offset;
3197 static const value_string e2ap_ENB_ID_vals[] = {
3198 { 0, "macro-eNB-ID" },
3199 { 1, "home-eNB-ID" },
3200 { 2, "short-Macro-eNB-ID" },
3201 { 3, "long-Macro-eNB-ID" },
3202 { 0, NULL }
3205 static const per_choice_t ENB_ID_choice[] = {
3206 { 0, &hf_e2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_20 },
3207 { 1, &hf_e2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_28 },
3208 { 2, &hf_e2ap_short_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_BIT_STRING_SIZE_18 },
3209 { 3, &hf_e2ap_long_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_BIT_STRING_SIZE_21 },
3210 { 0, NULL, 0, NULL }
3213 static int
3214 dissect_e2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3215 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3216 ett_e2ap_ENB_ID, ENB_ID_choice,
3217 NULL);
3219 return offset;
3223 static const per_sequence_t GlobalENB_ID_sequence[] = {
3224 { &hf_e2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3225 { &hf_e2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_ID },
3226 { NULL, 0, 0, NULL }
3229 static int
3230 dissect_e2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3231 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3232 ett_e2ap_GlobalENB_ID, GlobalENB_ID_sequence);
3234 return offset;
3238 static const value_string e2ap_ENGNB_ID_vals[] = {
3239 { 0, "gNB-ID" },
3240 { 0, NULL }
3243 static const per_choice_t ENGNB_ID_choice[] = {
3244 { 0, &hf_e2ap_gNB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_22_32 },
3245 { 0, NULL, 0, NULL }
3248 static int
3249 dissect_e2ap_ENGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3250 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3251 ett_e2ap_ENGNB_ID, ENGNB_ID_choice,
3252 NULL);
3254 return offset;
3258 static const per_sequence_t GlobalenGNB_ID_sequence[] = {
3259 { &hf_e2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3260 { &hf_e2ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ENGNB_ID },
3261 { NULL, 0, 0, NULL }
3264 static int
3265 dissect_e2ap_GlobalenGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3267 ett_e2ap_GlobalenGNB_ID, GlobalenGNB_ID_sequence);
3269 return offset;
3273 static const per_sequence_t E2nodeComponentInterfaceX2_sequence[] = {
3274 { &hf_e2ap_global_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalENB_ID },
3275 { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalenGNB_ID },
3276 { NULL, 0, 0, NULL }
3279 static int
3280 dissect_e2ap_E2nodeComponentInterfaceX2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3281 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3282 ett_e2ap_E2nodeComponentInterfaceX2, E2nodeComponentInterfaceX2_sequence);
3284 return offset;
3289 static int
3290 dissect_e2ap_T_e2nodeComponentInterfaceTypeX2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3291 offset = dissect_e2ap_E2nodeComponentInterfaceX2(tvb, offset, actx, tree, hf_index);
3293 /* Store value in packet-private data */
3294 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3295 e2ap_data->component_configuration_dissector = find_dissector("x2ap");
3301 return offset;
3305 static const value_string e2ap_E2nodeComponentID_vals[] = {
3306 { 0, "e2nodeComponentInterfaceTypeNG" },
3307 { 1, "e2nodeComponentInterfaceTypeXn" },
3308 { 2, "e2nodeComponentInterfaceTypeE1" },
3309 { 3, "e2nodeComponentInterfaceTypeF1" },
3310 { 4, "e2nodeComponentInterfaceTypeW1" },
3311 { 5, "e2nodeComponentInterfaceTypeS1" },
3312 { 6, "e2nodeComponentInterfaceTypeX2" },
3313 { 0, NULL }
3316 static const per_choice_t E2nodeComponentID_choice[] = {
3317 { 0, &hf_e2ap_e2nodeComponentInterfaceTypeNG, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeNG },
3318 { 1, &hf_e2ap_e2nodeComponentInterfaceTypeXn, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeXn },
3319 { 2, &hf_e2ap_e2nodeComponentInterfaceTypeE1, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeE1 },
3320 { 3, &hf_e2ap_e2nodeComponentInterfaceTypeF1, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeF1 },
3321 { 4, &hf_e2ap_e2nodeComponentInterfaceTypeW1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2nodeComponentInterfaceW1 },
3322 { 5, &hf_e2ap_e2nodeComponentInterfaceTypeS1, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeS1 },
3323 { 6, &hf_e2ap_e2nodeComponentInterfaceTypeX2, ASN1_EXTENSION_ROOT , dissect_e2ap_T_e2nodeComponentInterfaceTypeX2 },
3324 { 0, NULL, 0, NULL }
3327 static int
3328 dissect_e2ap_E2nodeComponentID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3329 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3330 ett_e2ap_E2nodeComponentID, E2nodeComponentID_choice,
3331 NULL);
3333 return offset;
3337 static const per_sequence_t GlobalE2node_gNB_ID_sequence[] = {
3338 { &hf_e2ap_global_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalgNB_ID },
3339 { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalenGNB_ID },
3340 { &hf_e2ap_gNB_CU_UP_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GNB_CU_UP_ID },
3341 { &hf_e2ap_gNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GNB_DU_ID },
3342 { NULL, 0, 0, NULL }
3345 static int
3346 dissect_e2ap_GlobalE2node_gNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3347 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3348 ett_e2ap_GlobalE2node_gNB_ID, GlobalE2node_gNB_ID_sequence);
3350 return offset;
3354 static const per_sequence_t GlobalE2node_en_gNB_ID_sequence[] = {
3355 { &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalenGNB_ID },
3356 { &hf_e2ap_en_gNB_CU_UP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GNB_CU_UP_ID },
3357 { &hf_e2ap_en_gNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GNB_DU_ID },
3358 { NULL, 0, 0, NULL }
3361 static int
3362 dissect_e2ap_GlobalE2node_en_gNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3363 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3364 ett_e2ap_GlobalE2node_en_gNB_ID, GlobalE2node_en_gNB_ID_sequence);
3366 return offset;
3370 static const per_sequence_t GlobalE2node_ng_eNB_ID_sequence[] = {
3371 { &hf_e2ap_global_ng_eNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalngeNB_ID },
3372 { &hf_e2ap_global_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalENB_ID },
3373 { &hf_e2ap_ngENB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NGENB_DU_ID },
3374 { NULL, 0, 0, NULL }
3377 static int
3378 dissect_e2ap_GlobalE2node_ng_eNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3379 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3380 ett_e2ap_GlobalE2node_ng_eNB_ID, GlobalE2node_ng_eNB_ID_sequence);
3382 return offset;
3386 static const per_sequence_t GlobalE2node_eNB_ID_sequence[] = {
3387 { &hf_e2ap_global_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalENB_ID },
3388 { NULL, 0, 0, NULL }
3391 static int
3392 dissect_e2ap_GlobalE2node_eNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3393 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3394 ett_e2ap_GlobalE2node_eNB_ID, GlobalE2node_eNB_ID_sequence);
3396 return offset;
3400 static const value_string e2ap_GlobalE2node_ID_vals[] = {
3401 { 0, "gNB" },
3402 { 1, "en-gNB" },
3403 { 2, "ng-eNB" },
3404 { 3, "eNB" },
3405 { 0, NULL }
3408 static const per_choice_t GlobalE2node_ID_choice[] = {
3409 { 0, &hf_e2ap_gNB , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalE2node_gNB_ID },
3410 { 1, &hf_e2ap_en_gNB , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalE2node_en_gNB_ID },
3411 { 2, &hf_e2ap_ng_eNB , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalE2node_ng_eNB_ID },
3412 { 3, &hf_e2ap_eNB , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalE2node_eNB_ID },
3413 { 0, NULL, 0, NULL }
3416 static int
3417 dissect_e2ap_GlobalE2node_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3418 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3419 ett_e2ap_GlobalE2node_ID, GlobalE2node_ID_choice,
3420 NULL);
3422 return offset;
3426 static const per_sequence_t GlobalRIC_ID_sequence[] = {
3427 { &hf_e2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMN_Identity },
3428 { &hf_e2ap_ric_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BIT_STRING_SIZE_20 },
3429 { NULL, 0, 0, NULL }
3432 static int
3433 dissect_e2ap_GlobalRIC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3434 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3435 ett_e2ap_GlobalRIC_ID, GlobalRIC_ID_sequence);
3437 return offset;
3442 static int
3443 dissect_e2ap_RANfunctionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3444 tvbuff_t *parameter_tvb;
3446 /* We know that the next thing is a RANFunction-Name, but it's wrapped up in a sequence,
3447 so can't silently/hiddenly call ranFunctionName here... */
3449 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3450 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3453 /* Looking for shortName string near beginning of tvb */
3454 bool found = false;
3455 /* For each RAN function name.. */
3456 int n, found_index;
3457 for (n=KPM_RANFUNCTIONS; n<MAX_RANFUNCTIONS && !found; n++) {
3458 uint32_t tvb_len = tvb_captured_length(parameter_tvb);
3459 unsigned name_len = (int)strlen(g_ran_function_name_table[n]);
3460 /* For each of several byte positions.. */
3461 for (int m=0; (m<30) && ((m+name_len+1))<tvb_len; m++) {
3462 /* Have we found a match on the name? */
3463 if (tvb_strneql(parameter_tvb, m, g_ran_function_name_table[n], name_len) == 0) {
3464 /* We don't yet know the OID (should be OK),
3465 so for now, call with the last/only available dissector for this RAN Function name */
3467 if (g_ran_functions_available_dissectors[n].num_available_dissectors) {
3468 /* Choose the one with the highest major version number */
3469 unsigned best_index=0, highest_version=0;
3470 for (unsigned d=0; d < g_ran_functions_available_dissectors[n].num_available_dissectors; d++) {
3471 if (g_ran_functions_available_dissectors[n].ran_function_dissectors[d]->major_version > highest_version) {
3472 best_index = d;
3475 /* Use it */
3476 g_ran_functions_available_dissectors[n].ran_function_dissectors[best_index]->functions.ran_function_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3477 found = true;
3478 found_index = n;
3479 break;
3485 if (found && (found_index==CCC_RANFUNCTIONS)) {
3486 // ranFunctionName, for this ranFunction, is inside the JSON. Rather than try to retrive it,
3487 // just use this proxy that ought to appear at the start... OID should get set in the normal way.
3488 if (!actx->pinfo->fd->visited) {
3489 e2ap_store_ran_function_mapping(actx->pinfo, tree, parameter_tvb, "{" /*"ORAN-E2SM-CCC"*/);
3493 if (!found) {
3494 proto_item *ti = proto_tree_add_item(tree, hf_e2ap_ran_function_name_not_recognised, tvb, 0, 0, ENC_NA);
3495 expert_add_info_format(actx->pinfo, ti, &ei_e2ap_ran_function_names_no_match,
3496 "ShortName does not match any known Service Model");
3500 return offset;
3505 static int
3506 dissect_e2ap_RANfunctionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3507 uint32_t value;
3508 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3509 0U, 4095U, &value, false);
3511 /* Store value in packet-private data */
3512 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
3513 e2ap_data->ran_function_id = value;
3517 return offset;
3522 static int
3523 dissect_e2ap_RANfunctionOID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3524 tvbuff_t *parameter_tvb;
3525 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
3526 1, 1000, true,
3527 &parameter_tvb);
3529 /* Now complete mapping with OID string */
3530 e2ap_update_ran_function_mapping(actx->pinfo, tree, parameter_tvb,
3531 tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0,
3532 tvb_captured_length(parameter_tvb), ENC_ASCII));
3538 return offset;
3543 static int
3544 dissect_e2ap_RANfunctionRevision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3545 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3546 0U, 4095U, NULL, false);
3548 return offset;
3553 static int
3554 dissect_e2ap_RICactionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3555 tvbuff_t *parameter_tvb;
3556 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3557 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3559 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3560 if (dissector) {
3561 if (dissector->functions.ran_action_definition_dissector) {
3562 dissector->functions.ran_action_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3567 return offset;
3572 static int
3573 dissect_e2ap_RICactionExecutionOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3574 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3575 0U, 255U, NULL, true);
3577 return offset;
3582 static int
3583 dissect_e2ap_RICactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3584 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3585 0U, 255U, NULL, false);
3587 return offset;
3591 static const value_string e2ap_RICactionType_vals[] = {
3592 { 0, "report" },
3593 { 1, "insert" },
3594 { 2, "policy" },
3595 { 0, NULL }
3599 static int
3600 dissect_e2ap_RICactionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3601 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3602 3, NULL, true, 0, NULL);
3604 return offset;
3609 static int
3610 dissect_e2ap_RICcallProcessID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3611 tvbuff_t *parameter_tvb;
3612 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3613 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3615 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3616 if (dissector) {
3617 if (dissector->functions.ran_callprocessid_dissector) {
3618 dissector->functions.ran_callprocessid_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3625 return offset;
3629 static const value_string e2ap_RICcontrolAckRequest_vals[] = {
3630 { 0, "noAck" },
3631 { 1, "ack" },
3632 { 0, NULL }
3636 static int
3637 dissect_e2ap_RICcontrolAckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3638 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3639 2, NULL, true, 0, NULL);
3641 return offset;
3646 static int
3647 dissect_e2ap_RICcontrolHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3648 tvbuff_t *parameter_tvb;
3649 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3650 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3652 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3653 if (dissector) {
3654 if (dissector->functions.ric_control_header_dissector) {
3655 dissector->functions.ric_control_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3660 return offset;
3665 static int
3666 dissect_e2ap_RICcontrolMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667 tvbuff_t *parameter_tvb;
3668 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3669 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3671 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3672 if (dissector) {
3673 if (dissector->functions.ric_control_message_dissector) {
3674 dissector->functions.ric_control_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3679 return offset;
3684 static int
3685 dissect_e2ap_RICcontrolOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3686 tvbuff_t *parameter_tvb;
3687 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3688 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3690 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3691 if (dissector) {
3692 if (dissector->functions.ric_control_outcome_dissector) {
3693 dissector->functions.ric_control_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3698 return offset;
3703 static int
3704 dissect_e2ap_RICeventTriggerDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3705 tvbuff_t *parameter_tvb;
3706 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3707 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3709 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3710 if (dissector) {
3711 if (dissector->functions.ran_event_trigger_dissector) {
3712 dissector->functions.ran_event_trigger_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3717 return offset;
3722 static int
3723 dissect_e2ap_RICindicationHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3724 tvbuff_t *parameter_tvb;
3725 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3726 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3728 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3729 if (dissector) {
3730 if (dissector->functions.ran_indication_header_dissector) {
3731 dissector->functions.ran_indication_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3736 return offset;
3741 static int
3742 dissect_e2ap_RICindicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3743 tvbuff_t *parameter_tvb;
3744 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3745 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3747 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3748 if (dissector) {
3749 if (dissector->functions.ran_indication_message_dissector) {
3750 dissector->functions.ran_indication_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3755 return offset;
3760 static int
3761 dissect_e2ap_RICindicationSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3762 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3763 0U, 65535U, NULL, false);
3765 return offset;
3769 static const value_string e2ap_RICindicationType_vals[] = {
3770 { 0, "report" },
3771 { 1, "insert" },
3772 { 0, NULL }
3776 static int
3777 dissect_e2ap_RICindicationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3778 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3779 2, NULL, true, 0, NULL);
3781 return offset;
3786 static int
3787 dissect_e2ap_RICsubscriptionTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3788 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3789 8, 8, false, NULL);
3791 return offset;
3795 static const value_string e2ap_RICsubsequentActionType_vals[] = {
3796 { 0, "continue" },
3797 { 1, "wait" },
3798 { 0, NULL }
3802 static int
3803 dissect_e2ap_RICsubsequentActionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3804 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3805 2, NULL, true, 0, NULL);
3807 return offset;
3811 static const value_string e2ap_RICtimeToWait_vals[] = {
3812 { 0, "w1ms" },
3813 { 1, "w2ms" },
3814 { 2, "w5ms" },
3815 { 3, "w10ms" },
3816 { 4, "w20ms" },
3817 { 5, "w30ms" },
3818 { 6, "w40ms" },
3819 { 7, "w50ms" },
3820 { 8, "w100ms" },
3821 { 9, "w200ms" },
3822 { 10, "w500ms" },
3823 { 11, "w1s" },
3824 { 12, "w2s" },
3825 { 13, "w5s" },
3826 { 14, "w10s" },
3827 { 15, "w20s" },
3828 { 16, "w60s" },
3829 { 0, NULL }
3833 static int
3834 dissect_e2ap_RICtimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3835 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3836 17, NULL, true, 0, NULL);
3838 return offset;
3842 static const per_sequence_t RICsubsequentAction_sequence[] = {
3843 { &hf_e2ap_ricSubsequentActionType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICsubsequentActionType },
3844 { &hf_e2ap_ricTimeToWait , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICtimeToWait },
3845 { NULL, 0, 0, NULL }
3848 static int
3849 dissect_e2ap_RICsubsequentAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3850 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3851 ett_e2ap_RICsubsequentAction, RICsubsequentAction_sequence);
3853 return offset;
3858 static int
3859 dissect_e2ap_RICqueryHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3860 tvbuff_t *parameter_tvb;
3861 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3862 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3864 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3865 if (dissector) {
3866 if (dissector->functions.ric_query_header_dissector) {
3867 dissector->functions.ric_query_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3874 return offset;
3879 static int
3880 dissect_e2ap_RICqueryDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3881 tvbuff_t *parameter_tvb;
3882 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3883 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3885 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3886 if (dissector) {
3887 if (dissector->functions.ric_query_definition_dissector) {
3888 dissector->functions.ric_query_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3893 return offset;
3898 static int
3899 dissect_e2ap_RICqueryOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3900 tvbuff_t *parameter_tvb;
3901 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3902 NO_BOUND, NO_BOUND, false, &parameter_tvb);
3904 ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
3905 if (dissector) {
3906 if (dissector->functions.ric_query_outcome_dissector) {
3907 dissector->functions.ric_query_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
3912 return offset;
3916 static const value_string e2ap_TimeToWait_vals[] = {
3917 { 0, "v1s" },
3918 { 1, "v2s" },
3919 { 2, "v5s" },
3920 { 3, "v10s" },
3921 { 4, "v20s" },
3922 { 5, "v60s" },
3923 { 0, NULL }
3927 static int
3928 dissect_e2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3929 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3930 6, NULL, true, 0, NULL);
3932 return offset;
3937 static int
3938 dissect_e2ap_T_tnlAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3939 tvbuff_t *value_tvb;
3940 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3941 1, 160, true, NULL, 0, &value_tvb, NULL);
3943 if (tvb_captured_length(value_tvb)==4) {
3944 proto_item_append_text(tree, " (%s", tvb_ip_to_str(actx->pinfo->pool, value_tvb, 0));
3946 else {
3947 proto_item_append_text(tree, " (%s", tvb_ip6_to_str(actx->pinfo->pool, value_tvb, 0));
3951 return offset;
3956 static int
3957 dissect_e2ap_T_tnlPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3958 proto_item_append_text(tree, ":%u)", tvb_get_ntohs(tvb, offset/8));
3959 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3960 16, 16, false, NULL, 0, NULL, NULL);
3965 return offset;
3969 static const per_sequence_t TNLinformation_sequence[] = {
3970 { &hf_e2ap_tnlAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_tnlAddress },
3971 { &hf_e2ap_tnlPort , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_tnlPort },
3972 { NULL, 0, 0, NULL }
3975 static int
3976 dissect_e2ap_TNLinformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3977 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3978 ett_e2ap_TNLinformation, TNLinformation_sequence);
3980 return offset;
3984 static const value_string e2ap_TNLusage_vals[] = {
3985 { 0, "ric-service" },
3986 { 1, "support-function" },
3987 { 2, "both" },
3988 { 0, NULL }
3992 static int
3993 dissect_e2ap_TNLusage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3994 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3995 3, NULL, true, 0, NULL);
3997 return offset;
4002 static int
4003 dissect_e2ap_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4004 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4005 0U, 255U, NULL, true);
4007 return offset;
4011 static const per_sequence_t RICsubscriptionRequest_sequence[] = {
4012 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4013 { NULL, 0, 0, NULL }
4016 static int
4017 dissect_e2ap_RICsubscriptionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4018 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_REQUEST);
4019 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_REQUEST);
4021 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4022 ett_e2ap_RICsubscriptionRequest, RICsubscriptionRequest_sequence);
4024 return offset;
4028 static const per_sequence_t RICactions_ToBeSetup_List_sequence_of[1] = {
4029 { &hf_e2ap_RICactions_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4032 static int
4033 dissect_e2ap_RICactions_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4034 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4035 ett_e2ap_RICactions_ToBeSetup_List, RICactions_ToBeSetup_List_sequence_of,
4036 1, maxofRICactionID, false);
4038 return offset;
4042 static const per_sequence_t RICsubscriptionDetails_sequence[] = {
4043 { &hf_e2ap_ricEventTriggerDefinition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICeventTriggerDefinition },
4044 { &hf_e2ap_ricAction_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactions_ToBeSetup_List },
4045 { NULL, 0, 0, NULL }
4048 static int
4049 dissect_e2ap_RICsubscriptionDetails(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4050 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4051 ett_e2ap_RICsubscriptionDetails, RICsubscriptionDetails_sequence);
4053 return offset;
4057 static const per_sequence_t RICaction_ToBeSetup_Item_sequence[] = {
4058 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4059 { &hf_e2ap_ricActionType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionType },
4060 { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICactionDefinition },
4061 { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICsubsequentAction },
4062 { &hf_e2ap_ricActionExecutionOrder, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RICactionExecutionOrder },
4063 { NULL, 0, 0, NULL }
4066 static int
4067 dissect_e2ap_RICaction_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4068 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4069 ett_e2ap_RICaction_ToBeSetup_Item, RICaction_ToBeSetup_Item_sequence);
4071 return offset;
4075 static const per_sequence_t RICsubscriptionResponse_sequence[] = {
4076 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4077 { NULL, 0, 0, NULL }
4080 static int
4081 dissect_e2ap_RICsubscriptionResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4082 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_RESPONSE);
4083 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_RESPONSE);
4085 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4086 ett_e2ap_RICsubscriptionResponse, RICsubscriptionResponse_sequence);
4088 return offset;
4092 static const per_sequence_t RICaction_Admitted_List_sequence_of[1] = {
4093 { &hf_e2ap_RICaction_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4096 static int
4097 dissect_e2ap_RICaction_Admitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4098 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4099 ett_e2ap_RICaction_Admitted_List, RICaction_Admitted_List_sequence_of,
4100 1, maxofRICactionID, false);
4102 return offset;
4106 static const per_sequence_t RICaction_Admitted_Item_sequence[] = {
4107 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4108 { NULL, 0, 0, NULL }
4111 static int
4112 dissect_e2ap_RICaction_Admitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4113 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4114 ett_e2ap_RICaction_Admitted_Item, RICaction_Admitted_Item_sequence);
4116 return offset;
4120 static const per_sequence_t RICaction_NotAdmitted_List_sequence_of[1] = {
4121 { &hf_e2ap_RICaction_NotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4124 static int
4125 dissect_e2ap_RICaction_NotAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4126 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4127 ett_e2ap_RICaction_NotAdmitted_List, RICaction_NotAdmitted_List_sequence_of,
4128 0, maxofRICactionID, false);
4130 return offset;
4134 static const per_sequence_t RICaction_NotAdmitted_Item_sequence[] = {
4135 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4136 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4137 { NULL, 0, 0, NULL }
4140 static int
4141 dissect_e2ap_RICaction_NotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4142 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4143 ett_e2ap_RICaction_NotAdmitted_Item, RICaction_NotAdmitted_Item_sequence);
4145 return offset;
4149 static const per_sequence_t RICsubscriptionFailure_sequence[] = {
4150 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4151 { NULL, 0, 0, NULL }
4154 static int
4155 dissect_e2ap_RICsubscriptionFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4156 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_FAIL);
4157 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_FAIL);
4159 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4160 ett_e2ap_RICsubscriptionFailure, RICsubscriptionFailure_sequence);
4162 return offset;
4166 static const per_sequence_t RICsubscriptionDeleteRequest_sequence[] = {
4167 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4168 { NULL, 0, 0, NULL }
4171 static int
4172 dissect_e2ap_RICsubscriptionDeleteRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4173 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST);
4174 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUEST);
4176 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4177 ett_e2ap_RICsubscriptionDeleteRequest, RICsubscriptionDeleteRequest_sequence);
4179 return offset;
4183 static const per_sequence_t RICsubscriptionDeleteResponse_sequence[] = {
4184 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4185 { NULL, 0, 0, NULL }
4188 static int
4189 dissect_e2ap_RICsubscriptionDeleteResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4190 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE);
4191 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_RESPONSE);
4193 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4194 ett_e2ap_RICsubscriptionDeleteResponse, RICsubscriptionDeleteResponse_sequence);
4196 return offset;
4200 static const per_sequence_t RICsubscriptionDeleteFailure_sequence[] = {
4201 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4202 { NULL, 0, 0, NULL }
4205 static int
4206 dissect_e2ap_RICsubscriptionDeleteFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4207 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL);
4208 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_FAIL);
4210 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4211 ett_e2ap_RICsubscriptionDeleteFailure, RICsubscriptionDeleteFailure_sequence);
4213 return offset;
4217 static const per_sequence_t RICsubscriptionDeleteRequired_sequence[] = {
4218 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4219 { NULL, 0, 0, NULL }
4222 static int
4223 dissect_e2ap_RICsubscriptionDeleteRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4224 set_message_label(actx, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED);
4225 set_stats_message_type(actx->pinfo, MTYPE_RIC_SUBSCRIPTION_DELETE_REQUIRED);
4228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4229 ett_e2ap_RICsubscriptionDeleteRequired, RICsubscriptionDeleteRequired_sequence);
4231 return offset;
4235 static const per_sequence_t RICsubscription_List_withCause_sequence_of[1] = {
4236 { &hf_e2ap_RICsubscription_List_withCause_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4239 static int
4240 dissect_e2ap_RICsubscription_List_withCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4241 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4242 ett_e2ap_RICsubscription_List_withCause, RICsubscription_List_withCause_sequence_of,
4243 1, maxofRICrequestID, false);
4245 return offset;
4249 static const per_sequence_t RICsubscription_withCause_Item_sequence[] = {
4250 { &hf_e2ap_ricRequestID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICrequestID },
4251 { &hf_e2ap_ranFunctionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
4252 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4253 { NULL, 0, 0, NULL }
4256 static int
4257 dissect_e2ap_RICsubscription_withCause_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4258 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4259 ett_e2ap_RICsubscription_withCause_Item, RICsubscription_withCause_Item_sequence);
4261 return offset;
4265 static const per_sequence_t RICsubscriptionModificationRequest_sequence[] = {
4266 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4267 { NULL, 0, 0, NULL }
4270 static int
4271 dissect_e2ap_RICsubscriptionModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4272 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4273 ett_e2ap_RICsubscriptionModificationRequest, RICsubscriptionModificationRequest_sequence);
4275 return offset;
4279 static const per_sequence_t RICactions_ToBeRemovedForModification_List_sequence_of[1] = {
4280 { &hf_e2ap_RICactions_ToBeRemovedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4283 static int
4284 dissect_e2ap_RICactions_ToBeRemovedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4285 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4286 ett_e2ap_RICactions_ToBeRemovedForModification_List, RICactions_ToBeRemovedForModification_List_sequence_of,
4287 0, maxofRICactionID, false);
4289 return offset;
4293 static const per_sequence_t RICaction_ToBeRemovedForModification_Item_sequence[] = {
4294 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4295 { NULL, 0, 0, NULL }
4298 static int
4299 dissect_e2ap_RICaction_ToBeRemovedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4300 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4301 ett_e2ap_RICaction_ToBeRemovedForModification_Item, RICaction_ToBeRemovedForModification_Item_sequence);
4303 return offset;
4307 static const per_sequence_t RICactions_ToBeModifiedForModification_List_sequence_of[1] = {
4308 { &hf_e2ap_RICactions_ToBeModifiedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4311 static int
4312 dissect_e2ap_RICactions_ToBeModifiedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4313 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4314 ett_e2ap_RICactions_ToBeModifiedForModification_List, RICactions_ToBeModifiedForModification_List_sequence_of,
4315 0, maxofRICactionID, false);
4317 return offset;
4321 static const per_sequence_t RICaction_ToBeModifiedForModification_Item_sequence[] = {
4322 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4323 { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICactionDefinition },
4324 { &hf_e2ap_ricActionExecutionOrder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICactionExecutionOrder },
4325 { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICsubsequentAction },
4326 { NULL, 0, 0, NULL }
4329 static int
4330 dissect_e2ap_RICaction_ToBeModifiedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4331 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4332 ett_e2ap_RICaction_ToBeModifiedForModification_Item, RICaction_ToBeModifiedForModification_Item_sequence);
4334 return offset;
4338 static const per_sequence_t RICactions_ToBeAddedForModification_List_sequence_of[1] = {
4339 { &hf_e2ap_RICactions_ToBeAddedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4342 static int
4343 dissect_e2ap_RICactions_ToBeAddedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4344 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4345 ett_e2ap_RICactions_ToBeAddedForModification_List, RICactions_ToBeAddedForModification_List_sequence_of,
4346 0, maxofRICactionID, false);
4348 return offset;
4352 static const per_sequence_t RICaction_ToBeAddedForModification_Item_sequence[] = {
4353 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4354 { &hf_e2ap_ricActionType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionType },
4355 { &hf_e2ap_ricActionDefinition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionDefinition },
4356 { &hf_e2ap_ricActionExecutionOrder, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionExecutionOrder },
4357 { &hf_e2ap_ricSubsequentAction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RICsubsequentAction },
4358 { NULL, 0, 0, NULL }
4361 static int
4362 dissect_e2ap_RICaction_ToBeAddedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4363 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4364 ett_e2ap_RICaction_ToBeAddedForModification_Item, RICaction_ToBeAddedForModification_Item_sequence);
4366 return offset;
4370 static const per_sequence_t RICsubscriptionModificationResponse_sequence[] = {
4371 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4372 { NULL, 0, 0, NULL }
4375 static int
4376 dissect_e2ap_RICsubscriptionModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4377 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4378 ett_e2ap_RICsubscriptionModificationResponse, RICsubscriptionModificationResponse_sequence);
4380 return offset;
4384 static const per_sequence_t RICactions_RemovedForModification_List_sequence_of[1] = {
4385 { &hf_e2ap_RICactions_RemovedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4388 static int
4389 dissect_e2ap_RICactions_RemovedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4390 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4391 ett_e2ap_RICactions_RemovedForModification_List, RICactions_RemovedForModification_List_sequence_of,
4392 0, maxofRICactionID, false);
4394 return offset;
4398 static const per_sequence_t RICaction_RemovedForModification_Item_sequence[] = {
4399 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4400 { NULL, 0, 0, NULL }
4403 static int
4404 dissect_e2ap_RICaction_RemovedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4405 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4406 ett_e2ap_RICaction_RemovedForModification_Item, RICaction_RemovedForModification_Item_sequence);
4408 return offset;
4412 static const per_sequence_t RICactions_FailedToBeRemovedForModification_List_sequence_of[1] = {
4413 { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4416 static int
4417 dissect_e2ap_RICactions_FailedToBeRemovedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4418 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4419 ett_e2ap_RICactions_FailedToBeRemovedForModification_List, RICactions_FailedToBeRemovedForModification_List_sequence_of,
4420 0, maxofRICactionID, false);
4422 return offset;
4426 static const per_sequence_t RICaction_FailedToBeRemovedForModification_Item_sequence[] = {
4427 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4428 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4429 { NULL, 0, 0, NULL }
4432 static int
4433 dissect_e2ap_RICaction_FailedToBeRemovedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4434 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4435 ett_e2ap_RICaction_FailedToBeRemovedForModification_Item, RICaction_FailedToBeRemovedForModification_Item_sequence);
4437 return offset;
4441 static const per_sequence_t RICactions_ModifiedForModification_List_sequence_of[1] = {
4442 { &hf_e2ap_RICactions_ModifiedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4445 static int
4446 dissect_e2ap_RICactions_ModifiedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4447 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4448 ett_e2ap_RICactions_ModifiedForModification_List, RICactions_ModifiedForModification_List_sequence_of,
4449 0, maxofRICactionID, false);
4451 return offset;
4455 static const per_sequence_t RICaction_ModifiedForModification_Item_sequence[] = {
4456 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4457 { NULL, 0, 0, NULL }
4460 static int
4461 dissect_e2ap_RICaction_ModifiedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4462 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4463 ett_e2ap_RICaction_ModifiedForModification_Item, RICaction_ModifiedForModification_Item_sequence);
4465 return offset;
4469 static const per_sequence_t RICactions_FailedToBeModifiedForModification_List_sequence_of[1] = {
4470 { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4473 static int
4474 dissect_e2ap_RICactions_FailedToBeModifiedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4475 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4476 ett_e2ap_RICactions_FailedToBeModifiedForModification_List, RICactions_FailedToBeModifiedForModification_List_sequence_of,
4477 0, maxofRICactionID, false);
4479 return offset;
4483 static const per_sequence_t RICaction_FailedToBeModifiedForModification_Item_sequence[] = {
4484 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4485 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4486 { NULL, 0, 0, NULL }
4489 static int
4490 dissect_e2ap_RICaction_FailedToBeModifiedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4491 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4492 ett_e2ap_RICaction_FailedToBeModifiedForModification_Item, RICaction_FailedToBeModifiedForModification_Item_sequence);
4494 return offset;
4498 static const per_sequence_t RICactions_AddedForModification_List_sequence_of[1] = {
4499 { &hf_e2ap_RICactions_AddedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4502 static int
4503 dissect_e2ap_RICactions_AddedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4504 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4505 ett_e2ap_RICactions_AddedForModification_List, RICactions_AddedForModification_List_sequence_of,
4506 0, maxofRICactionID, false);
4508 return offset;
4512 static const per_sequence_t RICaction_AddedForModification_Item_sequence[] = {
4513 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4514 { NULL, 0, 0, NULL }
4517 static int
4518 dissect_e2ap_RICaction_AddedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4519 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4520 ett_e2ap_RICaction_AddedForModification_Item, RICaction_AddedForModification_Item_sequence);
4522 return offset;
4526 static const per_sequence_t RICactions_FailedToBeAddedForModification_List_sequence_of[1] = {
4527 { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4530 static int
4531 dissect_e2ap_RICactions_FailedToBeAddedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4532 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4533 ett_e2ap_RICactions_FailedToBeAddedForModification_List, RICactions_FailedToBeAddedForModification_List_sequence_of,
4534 0, maxofRICactionID, false);
4536 return offset;
4540 static const per_sequence_t RICaction_FailedToBeAddedForModification_Item_sequence[] = {
4541 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4542 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4543 { NULL, 0, 0, NULL }
4546 static int
4547 dissect_e2ap_RICaction_FailedToBeAddedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4548 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4549 ett_e2ap_RICaction_FailedToBeAddedForModification_Item, RICaction_FailedToBeAddedForModification_Item_sequence);
4551 return offset;
4555 static const per_sequence_t RICsubscriptionModificationFailure_sequence[] = {
4556 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4557 { NULL, 0, 0, NULL }
4560 static int
4561 dissect_e2ap_RICsubscriptionModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4562 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4563 ett_e2ap_RICsubscriptionModificationFailure, RICsubscriptionModificationFailure_sequence);
4565 return offset;
4569 static const per_sequence_t RICsubscriptionModificationRequired_sequence[] = {
4570 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4571 { NULL, 0, 0, NULL }
4574 static int
4575 dissect_e2ap_RICsubscriptionModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4576 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4577 ett_e2ap_RICsubscriptionModificationRequired, RICsubscriptionModificationRequired_sequence);
4579 return offset;
4583 static const per_sequence_t RICactions_RequiredToBeModified_List_sequence_of[1] = {
4584 { &hf_e2ap_RICactions_RequiredToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4587 static int
4588 dissect_e2ap_RICactions_RequiredToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4589 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4590 ett_e2ap_RICactions_RequiredToBeModified_List, RICactions_RequiredToBeModified_List_sequence_of,
4591 0, maxofRICactionID, false);
4593 return offset;
4597 static const per_sequence_t RICaction_RequiredToBeModified_Item_sequence[] = {
4598 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4599 { &hf_e2ap_ricTimeToWait , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICtimeToWait },
4600 { NULL, 0, 0, NULL }
4603 static int
4604 dissect_e2ap_RICaction_RequiredToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4605 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4606 ett_e2ap_RICaction_RequiredToBeModified_Item, RICaction_RequiredToBeModified_Item_sequence);
4608 return offset;
4612 static const per_sequence_t RICactions_RequiredToBeRemoved_List_sequence_of[1] = {
4613 { &hf_e2ap_RICactions_RequiredToBeRemoved_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4616 static int
4617 dissect_e2ap_RICactions_RequiredToBeRemoved_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4618 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4619 ett_e2ap_RICactions_RequiredToBeRemoved_List, RICactions_RequiredToBeRemoved_List_sequence_of,
4620 0, maxofRICactionID, false);
4622 return offset;
4626 static const per_sequence_t RICaction_RequiredToBeRemoved_Item_sequence[] = {
4627 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4628 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4629 { NULL, 0, 0, NULL }
4632 static int
4633 dissect_e2ap_RICaction_RequiredToBeRemoved_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4634 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4635 ett_e2ap_RICaction_RequiredToBeRemoved_Item, RICaction_RequiredToBeRemoved_Item_sequence);
4637 return offset;
4641 static const per_sequence_t RICsubscriptionModificationConfirm_sequence[] = {
4642 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4643 { NULL, 0, 0, NULL }
4646 static int
4647 dissect_e2ap_RICsubscriptionModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4648 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4649 ett_e2ap_RICsubscriptionModificationConfirm, RICsubscriptionModificationConfirm_sequence);
4651 return offset;
4655 static const per_sequence_t RICactions_ConfirmedForModification_List_sequence_of[1] = {
4656 { &hf_e2ap_RICactions_ConfirmedForModification_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4659 static int
4660 dissect_e2ap_RICactions_ConfirmedForModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4661 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4662 ett_e2ap_RICactions_ConfirmedForModification_List, RICactions_ConfirmedForModification_List_sequence_of,
4663 0, maxofRICactionID, false);
4665 return offset;
4669 static const per_sequence_t RICaction_ConfirmedForModification_Item_sequence[] = {
4670 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4671 { NULL, 0, 0, NULL }
4674 static int
4675 dissect_e2ap_RICaction_ConfirmedForModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4676 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4677 ett_e2ap_RICaction_ConfirmedForModification_Item, RICaction_ConfirmedForModification_Item_sequence);
4679 return offset;
4683 static const per_sequence_t RICactions_RefusedToBeModified_List_sequence_of[1] = {
4684 { &hf_e2ap_RICactions_RefusedToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4687 static int
4688 dissect_e2ap_RICactions_RefusedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4689 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4690 ett_e2ap_RICactions_RefusedToBeModified_List, RICactions_RefusedToBeModified_List_sequence_of,
4691 0, maxofRICactionID, false);
4693 return offset;
4697 static const per_sequence_t RICaction_RefusedToBeModified_Item_sequence[] = {
4698 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4699 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4700 { NULL, 0, 0, NULL }
4703 static int
4704 dissect_e2ap_RICaction_RefusedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4705 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4706 ett_e2ap_RICaction_RefusedToBeModified_Item, RICaction_RefusedToBeModified_Item_sequence);
4708 return offset;
4712 static const per_sequence_t RICactions_ConfirmedForRemoval_List_sequence_of[1] = {
4713 { &hf_e2ap_RICactions_ConfirmedForRemoval_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4716 static int
4717 dissect_e2ap_RICactions_ConfirmedForRemoval_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4718 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4719 ett_e2ap_RICactions_ConfirmedForRemoval_List, RICactions_ConfirmedForRemoval_List_sequence_of,
4720 0, maxofRICactionID, false);
4722 return offset;
4726 static const per_sequence_t RICaction_ConfirmedForRemoval_Item_sequence[] = {
4727 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4728 { NULL, 0, 0, NULL }
4731 static int
4732 dissect_e2ap_RICaction_ConfirmedForRemoval_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4734 ett_e2ap_RICaction_ConfirmedForRemoval_Item, RICaction_ConfirmedForRemoval_Item_sequence);
4736 return offset;
4740 static const per_sequence_t RICactions_RefusedToBeRemoved_List_sequence_of[1] = {
4741 { &hf_e2ap_RICactions_RefusedToBeRemoved_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4744 static int
4745 dissect_e2ap_RICactions_RefusedToBeRemoved_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4746 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4747 ett_e2ap_RICactions_RefusedToBeRemoved_List, RICactions_RefusedToBeRemoved_List_sequence_of,
4748 0, maxofRICactionID, false);
4750 return offset;
4754 static const per_sequence_t RICaction_RefusedToBeRemoved_Item_sequence[] = {
4755 { &hf_e2ap_ricActionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RICactionID },
4756 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
4757 { NULL, 0, 0, NULL }
4760 static int
4761 dissect_e2ap_RICaction_RefusedToBeRemoved_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4763 ett_e2ap_RICaction_RefusedToBeRemoved_Item, RICaction_RefusedToBeRemoved_Item_sequence);
4765 return offset;
4769 static const per_sequence_t RICsubscriptionModificationRefuse_sequence[] = {
4770 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4771 { NULL, 0, 0, NULL }
4774 static int
4775 dissect_e2ap_RICsubscriptionModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4776 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4777 ett_e2ap_RICsubscriptionModificationRefuse, RICsubscriptionModificationRefuse_sequence);
4779 return offset;
4783 static const per_sequence_t RICindication_sequence[] = {
4784 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4785 { NULL, 0, 0, NULL }
4788 static int
4789 dissect_e2ap_RICindication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4790 set_message_label(actx, MTYPE_RIC_IND);
4791 set_stats_message_type(actx->pinfo, MTYPE_RIC_IND);
4793 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4794 ett_e2ap_RICindication, RICindication_sequence);
4796 return offset;
4800 static const per_sequence_t RICcontrolRequest_sequence[] = {
4801 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4802 { NULL, 0, 0, NULL }
4805 static int
4806 dissect_e2ap_RICcontrolRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4807 set_message_label(actx, MTYPE_RIC_CONTROL_REQUEST);
4808 set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_REQUEST);
4810 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4811 ett_e2ap_RICcontrolRequest, RICcontrolRequest_sequence);
4813 return offset;
4817 static const per_sequence_t RICcontrolAcknowledge_sequence[] = {
4818 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4819 { NULL, 0, 0, NULL }
4822 static int
4823 dissect_e2ap_RICcontrolAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4824 set_message_label(actx, MTYPE_RIC_CONTROL_ACK);
4825 set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_ACK);
4827 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4828 ett_e2ap_RICcontrolAcknowledge, RICcontrolAcknowledge_sequence);
4830 return offset;
4834 static const per_sequence_t RICcontrolFailure_sequence[] = {
4835 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4836 { NULL, 0, 0, NULL }
4839 static int
4840 dissect_e2ap_RICcontrolFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4841 set_message_label(actx, MTYPE_RIC_CONTROL_FAIL);
4842 set_stats_message_type(actx->pinfo, MTYPE_RIC_CONTROL_FAIL);
4844 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4845 ett_e2ap_RICcontrolFailure, RICcontrolFailure_sequence);
4847 return offset;
4851 static const per_sequence_t RICQueryRequest_sequence[] = {
4852 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4853 { NULL, 0, 0, NULL }
4856 static int
4857 dissect_e2ap_RICQueryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4858 set_message_label(actx, MTYPE_RIC_QUERY_REQUEST);
4859 set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_REQUEST);
4861 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4862 ett_e2ap_RICQueryRequest, RICQueryRequest_sequence);
4864 return offset;
4868 static const per_sequence_t RICQueryResponse_sequence[] = {
4869 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4870 { NULL, 0, 0, NULL }
4873 static int
4874 dissect_e2ap_RICQueryResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4875 set_message_label(actx, MTYPE_RIC_QUERY_RESPONSE);
4876 set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_RESPONSE);
4878 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4879 ett_e2ap_RICQueryResponse, RICQueryResponse_sequence);
4881 return offset;
4885 static const per_sequence_t RICQueryFailure_sequence[] = {
4886 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4887 { NULL, 0, 0, NULL }
4890 static int
4891 dissect_e2ap_RICQueryFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4892 set_message_label(actx, MTYPE_RIC_QUERY_FAILURE);
4893 set_stats_message_type(actx->pinfo, MTYPE_RIC_QUERY_FAILURE);
4895 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4896 ett_e2ap_RICQueryFailure, RICQueryFailure_sequence);
4898 return offset;
4902 static const per_sequence_t ErrorIndication_sequence[] = {
4903 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4904 { NULL, 0, 0, NULL }
4907 static int
4908 dissect_e2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4909 set_message_label(actx, MTYPE_ERROR_INDICATION);
4910 set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
4912 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4913 ett_e2ap_ErrorIndication, ErrorIndication_sequence);
4915 return offset;
4919 static const per_sequence_t E2setupRequest_sequence[] = {
4920 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4921 { NULL, 0, 0, NULL }
4924 static int
4925 dissect_e2ap_E2setupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4926 set_message_label(actx, MTYPE_E2_SETUP_REQUEST);
4927 set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_REQUEST);
4929 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4930 ett_e2ap_E2setupRequest, E2setupRequest_sequence);
4932 return offset;
4936 static const per_sequence_t E2setupResponse_sequence[] = {
4937 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4938 { NULL, 0, 0, NULL }
4941 static int
4942 dissect_e2ap_E2setupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4943 set_message_label(actx, MTYPE_E2_SETUP_RESPONSE);
4944 set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_RESPONSE);
4946 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4947 ett_e2ap_E2setupResponse, E2setupResponse_sequence);
4949 return offset;
4953 static const per_sequence_t E2setupFailure_sequence[] = {
4954 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4955 { NULL, 0, 0, NULL }
4958 static int
4959 dissect_e2ap_E2setupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4960 set_message_label(actx, MTYPE_E2_SETUP_FAIL);
4961 set_stats_message_type(actx->pinfo, MTYPE_E2_SETUP_FAIL);
4963 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4964 ett_e2ap_E2setupFailure, E2setupFailure_sequence);
4966 return offset;
4970 static const per_sequence_t E2connectionUpdate_sequence[] = {
4971 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
4972 { NULL, 0, 0, NULL }
4975 static int
4976 dissect_e2ap_E2connectionUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4977 set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE);
4978 set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE);
4981 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4982 ett_e2ap_E2connectionUpdate, E2connectionUpdate_sequence);
4984 return offset;
4988 static const per_sequence_t E2connectionUpdate_List_sequence_of[1] = {
4989 { &hf_e2ap_E2connectionUpdate_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
4992 static int
4993 dissect_e2ap_E2connectionUpdate_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4994 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4995 ett_e2ap_E2connectionUpdate_List, E2connectionUpdate_List_sequence_of,
4996 1, maxofTNLA, false);
4998 return offset;
5002 static const per_sequence_t E2connectionUpdate_Item_sequence[] = {
5003 { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5004 { &hf_e2ap_tnlUsage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLusage },
5005 { NULL, 0, 0, NULL }
5008 static int
5009 dissect_e2ap_E2connectionUpdate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5010 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5011 ett_e2ap_E2connectionUpdate_Item, E2connectionUpdate_Item_sequence);
5013 return offset;
5017 static const per_sequence_t E2connectionUpdateRemove_List_sequence_of[1] = {
5018 { &hf_e2ap_E2connectionUpdateRemove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5021 static int
5022 dissect_e2ap_E2connectionUpdateRemove_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5023 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5024 ett_e2ap_E2connectionUpdateRemove_List, E2connectionUpdateRemove_List_sequence_of,
5025 1, maxofTNLA, false);
5027 return offset;
5031 static const per_sequence_t E2connectionUpdateRemove_Item_sequence[] = {
5032 { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5033 { NULL, 0, 0, NULL }
5036 static int
5037 dissect_e2ap_E2connectionUpdateRemove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5038 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5039 ett_e2ap_E2connectionUpdateRemove_Item, E2connectionUpdateRemove_Item_sequence);
5041 return offset;
5045 static const per_sequence_t E2connectionUpdateAcknowledge_sequence[] = {
5046 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5047 { NULL, 0, 0, NULL }
5050 static int
5051 dissect_e2ap_E2connectionUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5052 set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE_ACK);
5053 set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE_ACK);
5055 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5056 ett_e2ap_E2connectionUpdateAcknowledge, E2connectionUpdateAcknowledge_sequence);
5058 return offset;
5062 static const per_sequence_t E2connectionSetupFailed_List_sequence_of[1] = {
5063 { &hf_e2ap_E2connectionSetupFailed_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5066 static int
5067 dissect_e2ap_E2connectionSetupFailed_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5068 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5069 ett_e2ap_E2connectionSetupFailed_List, E2connectionSetupFailed_List_sequence_of,
5070 1, maxofTNLA, false);
5072 return offset;
5076 static const per_sequence_t E2connectionSetupFailed_Item_sequence[] = {
5077 { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5078 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
5079 { NULL, 0, 0, NULL }
5082 static int
5083 dissect_e2ap_E2connectionSetupFailed_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5084 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5085 ett_e2ap_E2connectionSetupFailed_Item, E2connectionSetupFailed_Item_sequence);
5087 return offset;
5091 static const per_sequence_t E2connectionUpdateFailure_sequence[] = {
5092 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5093 { NULL, 0, 0, NULL }
5096 static int
5097 dissect_e2ap_E2connectionUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5098 set_message_label(actx, MTYPE_E2_CONNECTION_UPDATE_FAIL);
5099 set_stats_message_type(actx->pinfo, MTYPE_E2_CONNECTION_UPDATE_FAIL);
5102 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5103 ett_e2ap_E2connectionUpdateFailure, E2connectionUpdateFailure_sequence);
5105 return offset;
5109 static const per_sequence_t E2nodeConfigurationUpdate_sequence[] = {
5110 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5111 { NULL, 0, 0, NULL }
5114 static int
5115 dissect_e2ap_E2nodeConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5116 set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5117 set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5120 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5121 ett_e2ap_E2nodeConfigurationUpdate, E2nodeConfigurationUpdate_sequence);
5123 return offset;
5127 static const per_sequence_t E2nodeComponentConfigAddition_List_sequence_of[1] = {
5128 { &hf_e2ap_E2nodeComponentConfigAddition_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5131 static int
5132 dissect_e2ap_E2nodeComponentConfigAddition_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5133 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5134 ett_e2ap_E2nodeComponentConfigAddition_List, E2nodeComponentConfigAddition_List_sequence_of,
5135 1, maxofE2nodeComponents, false);
5137 return offset;
5141 static const per_sequence_t E2nodeComponentConfigAddition_Item_sequence[] = {
5142 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5143 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5144 { &hf_e2ap_e2nodeComponentConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfiguration },
5145 { NULL, 0, 0, NULL }
5148 static int
5149 dissect_e2ap_E2nodeComponentConfigAddition_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5150 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5151 ett_e2ap_E2nodeComponentConfigAddition_Item, E2nodeComponentConfigAddition_Item_sequence);
5153 return offset;
5157 static const per_sequence_t E2nodeComponentConfigUpdate_List_sequence_of[1] = {
5158 { &hf_e2ap_E2nodeComponentConfigUpdate_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5161 static int
5162 dissect_e2ap_E2nodeComponentConfigUpdate_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5163 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5164 ett_e2ap_E2nodeComponentConfigUpdate_List, E2nodeComponentConfigUpdate_List_sequence_of,
5165 1, maxofE2nodeComponents, false);
5167 return offset;
5171 static const per_sequence_t E2nodeComponentConfigUpdate_Item_sequence[] = {
5172 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5173 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5174 { &hf_e2ap_e2nodeComponentConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfiguration },
5175 { NULL, 0, 0, NULL }
5178 static int
5179 dissect_e2ap_E2nodeComponentConfigUpdate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5180 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5181 ett_e2ap_E2nodeComponentConfigUpdate_Item, E2nodeComponentConfigUpdate_Item_sequence);
5183 return offset;
5187 static const per_sequence_t E2nodeComponentConfigRemoval_List_sequence_of[1] = {
5188 { &hf_e2ap_E2nodeComponentConfigRemoval_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5191 static int
5192 dissect_e2ap_E2nodeComponentConfigRemoval_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5193 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5194 ett_e2ap_E2nodeComponentConfigRemoval_List, E2nodeComponentConfigRemoval_List_sequence_of,
5195 1, maxofE2nodeComponents, false);
5197 return offset;
5201 static const per_sequence_t E2nodeComponentConfigRemoval_Item_sequence[] = {
5202 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5203 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5204 { NULL, 0, 0, NULL }
5207 static int
5208 dissect_e2ap_E2nodeComponentConfigRemoval_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5209 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5210 ett_e2ap_E2nodeComponentConfigRemoval_Item, E2nodeComponentConfigRemoval_Item_sequence);
5212 return offset;
5216 static const per_sequence_t E2nodeTNLassociationRemoval_List_sequence_of[1] = {
5217 { &hf_e2ap_E2nodeTNLassociationRemoval_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5220 static int
5221 dissect_e2ap_E2nodeTNLassociationRemoval_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5222 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5223 ett_e2ap_E2nodeTNLassociationRemoval_List, E2nodeTNLassociationRemoval_List_sequence_of,
5224 1, maxofTNLA, false);
5226 return offset;
5230 static const per_sequence_t E2nodeTNLassociationRemoval_Item_sequence[] = {
5231 { &hf_e2ap_tnlInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5232 { &hf_e2ap_tnlInformationRIC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TNLinformation },
5233 { NULL, 0, 0, NULL }
5236 static int
5237 dissect_e2ap_E2nodeTNLassociationRemoval_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5238 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5239 ett_e2ap_E2nodeTNLassociationRemoval_Item, E2nodeTNLassociationRemoval_Item_sequence);
5241 return offset;
5245 static const per_sequence_t E2nodeConfigurationUpdateAcknowledge_sequence[] = {
5246 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5247 { NULL, 0, 0, NULL }
5250 static int
5251 dissect_e2ap_E2nodeConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5252 set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE_ACK);
5253 set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE_ACK);
5255 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5256 ett_e2ap_E2nodeConfigurationUpdateAcknowledge, E2nodeConfigurationUpdateAcknowledge_sequence);
5258 return offset;
5262 static const per_sequence_t E2nodeComponentConfigAdditionAck_List_sequence_of[1] = {
5263 { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5266 static int
5267 dissect_e2ap_E2nodeComponentConfigAdditionAck_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5268 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5269 ett_e2ap_E2nodeComponentConfigAdditionAck_List, E2nodeComponentConfigAdditionAck_List_sequence_of,
5270 1, maxofE2nodeComponents, false);
5272 return offset;
5276 static const per_sequence_t E2nodeComponentConfigAdditionAck_Item_sequence[] = {
5277 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5278 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5279 { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5280 { NULL, 0, 0, NULL }
5283 static int
5284 dissect_e2ap_E2nodeComponentConfigAdditionAck_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5285 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5286 ett_e2ap_E2nodeComponentConfigAdditionAck_Item, E2nodeComponentConfigAdditionAck_Item_sequence);
5288 return offset;
5292 static const per_sequence_t E2nodeComponentConfigUpdateAck_List_sequence_of[1] = {
5293 { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5296 static int
5297 dissect_e2ap_E2nodeComponentConfigUpdateAck_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5298 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5299 ett_e2ap_E2nodeComponentConfigUpdateAck_List, E2nodeComponentConfigUpdateAck_List_sequence_of,
5300 1, maxofE2nodeComponents, false);
5302 return offset;
5306 static const per_sequence_t E2nodeComponentConfigUpdateAck_Item_sequence[] = {
5307 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5308 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5309 { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5310 { NULL, 0, 0, NULL }
5313 static int
5314 dissect_e2ap_E2nodeComponentConfigUpdateAck_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5315 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5316 ett_e2ap_E2nodeComponentConfigUpdateAck_Item, E2nodeComponentConfigUpdateAck_Item_sequence);
5318 return offset;
5322 static const per_sequence_t E2nodeComponentConfigRemovalAck_List_sequence_of[1] = {
5323 { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5326 static int
5327 dissect_e2ap_E2nodeComponentConfigRemovalAck_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5328 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5329 ett_e2ap_E2nodeComponentConfigRemovalAck_List, E2nodeComponentConfigRemovalAck_List_sequence_of,
5330 1, maxofE2nodeComponents, false);
5332 return offset;
5336 static const per_sequence_t E2nodeComponentConfigRemovalAck_Item_sequence[] = {
5337 { &hf_e2ap_e2nodeComponentInterfaceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentInterfaceType },
5338 { &hf_e2ap_e2nodeComponentID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentID },
5339 { &hf_e2ap_e2nodeComponentConfigurationAck, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2nodeComponentConfigurationAck },
5340 { NULL, 0, 0, NULL }
5343 static int
5344 dissect_e2ap_E2nodeComponentConfigRemovalAck_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5345 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5346 ett_e2ap_E2nodeComponentConfigRemovalAck_Item, E2nodeComponentConfigRemovalAck_Item_sequence);
5348 return offset;
5352 static const per_sequence_t E2nodeConfigurationUpdateFailure_sequence[] = {
5353 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5354 { NULL, 0, 0, NULL }
5357 static int
5358 dissect_e2ap_E2nodeConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5359 set_message_label(actx, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5360 set_stats_message_type(actx->pinfo, MTYPE_E2_CONFIGURATION_UPDATE_FAIL);
5363 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5364 ett_e2ap_E2nodeConfigurationUpdateFailure, E2nodeConfigurationUpdateFailure_sequence);
5366 return offset;
5370 static const per_sequence_t ResetRequest_sequence[] = {
5371 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5372 { NULL, 0, 0, NULL }
5375 static int
5376 dissect_e2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5377 set_message_label(actx, MTYPE_RESET_REQUEST);
5378 set_stats_message_type(actx->pinfo, MTYPE_RESET_REQUEST);
5380 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5381 ett_e2ap_ResetRequest, ResetRequest_sequence);
5383 return offset;
5387 static const per_sequence_t ResetResponse_sequence[] = {
5388 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5389 { NULL, 0, 0, NULL }
5392 static int
5393 dissect_e2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5394 set_message_label(actx, MTYPE_RESET_RESPONSE);
5395 set_stats_message_type(actx->pinfo, MTYPE_RESET_RESPONSE);
5397 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5398 ett_e2ap_ResetResponse, ResetResponse_sequence);
5400 return offset;
5404 static const per_sequence_t RICserviceUpdate_sequence[] = {
5405 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5406 { NULL, 0, 0, NULL }
5409 static int
5410 dissect_e2ap_RICserviceUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5411 set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE);
5412 set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE);
5414 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5415 ett_e2ap_RICserviceUpdate, RICserviceUpdate_sequence);
5417 return offset;
5421 static const per_sequence_t RANfunctions_List_sequence_of[1] = {
5422 { &hf_e2ap_RANfunctions_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5425 static int
5426 dissect_e2ap_RANfunctions_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5427 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5428 ett_e2ap_RANfunctions_List, RANfunctions_List_sequence_of,
5429 1, maxofRANfunctionID, false);
5431 return offset;
5435 static const per_sequence_t RANfunction_Item_sequence[] = {
5436 { &hf_e2ap_ranFunctionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5437 { &hf_e2ap_ranFunctionDefinition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionDefinition },
5438 { &hf_e2ap_ranFunctionRevision, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionRevision },
5439 { &hf_e2ap_ranFunctionOID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionOID },
5440 { NULL, 0, 0, NULL }
5443 static int
5444 dissect_e2ap_RANfunction_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5445 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5446 ett_e2ap_RANfunction_Item, RANfunction_Item_sequence);
5448 return offset;
5452 static const per_sequence_t RANfunctionsID_List_sequence_of[1] = {
5453 { &hf_e2ap_RANfunctionsID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5456 static int
5457 dissect_e2ap_RANfunctionsID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5458 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5459 ett_e2ap_RANfunctionsID_List, RANfunctionsID_List_sequence_of,
5460 1, maxofRANfunctionID, false);
5462 return offset;
5466 static const per_sequence_t RANfunctionID_Item_sequence[] = {
5467 { &hf_e2ap_ranFunctionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5468 { &hf_e2ap_ranFunctionRevision, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionRevision },
5469 { NULL, 0, 0, NULL }
5472 static int
5473 dissect_e2ap_RANfunctionID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5474 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5475 ett_e2ap_RANfunctionID_Item, RANfunctionID_Item_sequence);
5477 return offset;
5481 static const per_sequence_t RICserviceUpdateAcknowledge_sequence[] = {
5482 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5483 { NULL, 0, 0, NULL }
5486 static int
5487 dissect_e2ap_RICserviceUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5488 set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE_ACK);
5489 set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE_ACK);
5491 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5492 ett_e2ap_RICserviceUpdateAcknowledge, RICserviceUpdateAcknowledge_sequence);
5494 return offset;
5498 static const per_sequence_t RANfunctionsIDcause_List_sequence_of[1] = {
5499 { &hf_e2ap_RANfunctionsIDcause_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_SingleContainer },
5502 static int
5503 dissect_e2ap_RANfunctionsIDcause_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5504 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5505 ett_e2ap_RANfunctionsIDcause_List, RANfunctionsIDcause_List_sequence_of,
5506 1, maxofRANfunctionID, false);
5508 return offset;
5512 static const per_sequence_t RANfunctionIDcause_Item_sequence[] = {
5513 { &hf_e2ap_ranFunctionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunctionID },
5514 { &hf_e2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_Cause },
5515 { NULL, 0, 0, NULL }
5518 static int
5519 dissect_e2ap_RANfunctionIDcause_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5520 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5521 ett_e2ap_RANfunctionIDcause_Item, RANfunctionIDcause_Item_sequence);
5523 return offset;
5527 static const per_sequence_t RICserviceUpdateFailure_sequence[] = {
5528 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5529 { NULL, 0, 0, NULL }
5532 static int
5533 dissect_e2ap_RICserviceUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5534 set_message_label(actx, MTYPE_RIC_SERVICE_UPDATE_FAIL);
5535 set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_UPDATE_FAIL);
5537 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5538 ett_e2ap_RICserviceUpdateFailure, RICserviceUpdateFailure_sequence);
5540 return offset;
5544 static const per_sequence_t RICserviceQuery_sequence[] = {
5545 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5546 { NULL, 0, 0, NULL }
5549 static int
5550 dissect_e2ap_RICserviceQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5551 set_message_label(actx, MTYPE_RIC_SERVICE_QUERY);
5552 set_stats_message_type(actx->pinfo, MTYPE_RIC_SERVICE_QUERY);
5554 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5555 ett_e2ap_RICserviceQuery, RICserviceQuery_sequence);
5557 return offset;
5561 static const per_sequence_t E2RemovalRequest_sequence[] = {
5562 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5563 { NULL, 0, 0, NULL }
5566 static int
5567 dissect_e2ap_E2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5568 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5569 ett_e2ap_E2RemovalRequest, E2RemovalRequest_sequence);
5571 return offset;
5575 static const per_sequence_t E2RemovalResponse_sequence[] = {
5576 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5577 { NULL, 0, 0, NULL }
5580 static int
5581 dissect_e2ap_E2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5582 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5583 ett_e2ap_E2RemovalResponse, E2RemovalResponse_sequence);
5585 return offset;
5589 static const per_sequence_t E2RemovalFailure_sequence[] = {
5590 { &hf_e2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProtocolIE_Container },
5591 { NULL, 0, 0, NULL }
5594 static int
5595 dissect_e2ap_E2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5596 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5597 ett_e2ap_E2RemovalFailure, E2RemovalFailure_sequence);
5599 return offset;
5604 static int
5605 dissect_e2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5606 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5607 e2ap_data->message_type = INITIATING_MESSAGE;
5608 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
5610 return offset;
5614 static const per_sequence_t InitiatingMessage_sequence[] = {
5615 { &hf_e2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5616 { &hf_e2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5617 { &hf_e2ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_InitiatingMessage_value },
5618 { NULL, 0, 0, NULL }
5621 static int
5622 dissect_e2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5623 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5624 ett_e2ap_InitiatingMessage, InitiatingMessage_sequence);
5626 return offset;
5631 static int
5632 dissect_e2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5633 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5634 e2ap_data->message_type = SUCCESSFUL_OUTCOME;
5635 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
5637 return offset;
5641 static const per_sequence_t SuccessfulOutcome_sequence[] = {
5642 { &hf_e2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5643 { &hf_e2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5644 { &hf_e2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_SuccessfulOutcome_value },
5645 { NULL, 0, 0, NULL }
5648 static int
5649 dissect_e2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5650 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5651 ett_e2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
5653 return offset;
5658 static int
5659 dissect_e2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5660 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
5661 e2ap_data->message_type = UNSUCCESSFUL_OUTCOME;
5679 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
5681 return offset;
5685 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
5686 { &hf_e2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
5687 { &hf_e2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Criticality },
5688 { &hf_e2ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_UnsuccessfulOutcome_value },
5689 { NULL, 0, 0, NULL }
5692 static int
5693 dissect_e2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5694 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5695 ett_e2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
5697 return offset;
5701 static const value_string e2ap_E2AP_PDU_vals[] = {
5702 { 0, "initiatingMessage" },
5703 { 1, "successfulOutcome" },
5704 { 2, "unsuccessfulOutcome" },
5705 { 0, NULL }
5708 static const per_choice_t E2AP_PDU_choice[] = {
5709 { 0, &hf_e2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_e2ap_InitiatingMessage },
5710 { 1, &hf_e2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_e2ap_SuccessfulOutcome },
5711 { 2, &hf_e2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_e2ap_UnsuccessfulOutcome },
5712 { 0, NULL, 0, NULL }
5715 static int
5716 dissect_e2ap_E2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5717 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5718 ett_e2ap_E2AP_PDU, E2AP_PDU_choice,
5719 NULL);
5721 return offset;
5726 static int
5727 dissect_e2ap_PLMNIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5728 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5729 3, 3, false, NULL);
5731 return offset;
5736 static int
5737 dissect_e2ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5738 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5739 36, 36, false, NULL, 0, NULL, NULL);
5741 return offset;
5745 static const per_sequence_t NR_CGI_sequence[] = {
5746 { &hf_e2ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5747 { &hf_e2ap_nRCellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NRCellIdentity },
5748 { NULL, 0, 0, NULL }
5751 static int
5752 dissect_e2ap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5754 ett_e2ap_NR_CGI, NR_CGI_sequence);
5756 return offset;
5761 static int
5762 dissect_e2ap_EUTRACellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5763 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5764 28, 28, false, NULL, 0, NULL, NULL);
5766 return offset;
5770 static const per_sequence_t EUTRA_CGI_sequence[] = {
5771 { &hf_e2ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5772 { &hf_e2ap_eUTRACellIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_EUTRACellIdentity },
5773 { NULL, 0, 0, NULL }
5776 static int
5777 dissect_e2ap_EUTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5778 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5779 ett_e2ap_EUTRA_CGI, EUTRA_CGI_sequence);
5781 return offset;
5785 static const value_string e2ap_CGI_vals[] = {
5786 { 0, "nR-CGI" },
5787 { 1, "eUTRA-CGI" },
5788 { 0, NULL }
5791 static const per_choice_t CGI_choice[] = {
5792 { 0, &hf_e2ap_nR_CGI , ASN1_EXTENSION_ROOT , dissect_e2ap_NR_CGI },
5793 { 1, &hf_e2ap_eUTRA_CGI , ASN1_EXTENSION_ROOT , dissect_e2ap_EUTRA_CGI },
5794 { 0, NULL, 0, NULL }
5797 static int
5798 dissect_e2ap_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5799 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5800 ett_e2ap_CGI, CGI_choice,
5801 NULL);
5803 return offset;
5808 static int
5809 dissect_e2ap_AMFRegionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5810 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5811 8, 8, false, NULL, 0, NULL, NULL);
5813 return offset;
5818 static int
5819 dissect_e2ap_AMFSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5820 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5821 10, 10, false, NULL, 0, NULL, NULL);
5823 return offset;
5828 static int
5829 dissect_e2ap_AMFPointer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5830 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5831 6, 6, false, NULL, 0, NULL, NULL);
5833 return offset;
5837 static const per_sequence_t GUAMI_sequence[] = {
5838 { &hf_e2ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5839 { &hf_e2ap_aMFRegionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFRegionID },
5840 { &hf_e2ap_aMFSetID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFSetID },
5841 { &hf_e2ap_aMFPointer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMFPointer },
5842 { NULL, 0, 0, NULL }
5845 static int
5846 dissect_e2ap_GUAMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5847 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5848 ett_e2ap_GUAMI, GUAMI_sequence);
5850 return offset;
5854 static const per_sequence_t InterfaceID_NG_sequence[] = {
5855 { &hf_e2ap_guami , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
5856 { NULL, 0, 0, NULL }
5859 static int
5860 dissect_e2ap_InterfaceID_NG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5861 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5862 ett_e2ap_InterfaceID_NG, InterfaceID_NG_sequence);
5864 return offset;
5868 static const value_string e2ap_GNB_ID_vals[] = {
5869 { 0, "gNB-ID" },
5870 { 0, NULL }
5873 static const per_choice_t GNB_ID_choice[] = {
5874 { 0, &hf_e2ap_gNB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_22_32 },
5875 { 0, NULL, 0, NULL }
5878 static int
5879 dissect_e2ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5880 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5881 ett_e2ap_GNB_ID, GNB_ID_choice,
5882 NULL);
5884 return offset;
5888 static const per_sequence_t GlobalGNB_ID_sequence[] = {
5889 { &hf_e2ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5890 { &hf_e2ap_gNB_ID_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_ID },
5891 { NULL, 0, 0, NULL }
5894 static int
5895 dissect_e2ap_GlobalGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5896 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5897 ett_e2ap_GlobalGNB_ID, GlobalGNB_ID_sequence);
5899 return offset;
5903 static const value_string e2ap_NgENB_ID_vals[] = {
5904 { 0, "macroNgENB-ID" },
5905 { 1, "shortMacroNgENB-ID" },
5906 { 2, "longMacroNgENB-ID" },
5907 { 0, NULL }
5910 static const per_choice_t NgENB_ID_choice[] = {
5911 { 0, &hf_e2ap_macroNgENB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_20 },
5912 { 1, &hf_e2ap_shortMacroNgENB_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_18 },
5913 { 2, &hf_e2ap_longMacroNgENB_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING_SIZE_21 },
5914 { 0, NULL, 0, NULL }
5917 static int
5918 dissect_e2ap_NgENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5919 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5920 ett_e2ap_NgENB_ID, NgENB_ID_choice,
5921 NULL);
5923 return offset;
5927 static const per_sequence_t GlobalNgENB_ID_sequence[] = {
5928 { &hf_e2ap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
5929 { &hf_e2ap_ngENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NgENB_ID },
5930 { NULL, 0, 0, NULL }
5933 static int
5934 dissect_e2ap_GlobalNgENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5935 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5936 ett_e2ap_GlobalNgENB_ID, GlobalNgENB_ID_sequence);
5938 return offset;
5942 static const value_string e2ap_GlobalNGRANNodeID_vals[] = {
5943 { 0, "gNB" },
5944 { 1, "ng-eNB" },
5945 { 0, NULL }
5948 static const per_choice_t GlobalNGRANNodeID_choice[] = {
5949 { 0, &hf_e2ap_gNB_02 , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalGNB_ID },
5950 { 1, &hf_e2ap_ng_eNB_02 , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalNgENB_ID },
5951 { 0, NULL, 0, NULL }
5954 static int
5955 dissect_e2ap_GlobalNGRANNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5956 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5957 ett_e2ap_GlobalNGRANNodeID, GlobalNGRANNodeID_choice,
5958 NULL);
5960 return offset;
5964 static const per_sequence_t InterfaceID_Xn_sequence[] = {
5965 { &hf_e2ap_global_NG_RAN_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNGRANNodeID },
5966 { NULL, 0, 0, NULL }
5969 static int
5970 dissect_e2ap_InterfaceID_Xn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5971 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5972 ett_e2ap_InterfaceID_Xn, InterfaceID_Xn_sequence);
5974 return offset;
5978 static const per_sequence_t InterfaceID_F1_sequence[] = {
5979 { &hf_e2ap_globalGNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalGNB_ID },
5980 { &hf_e2ap_gNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
5981 { NULL, 0, 0, NULL }
5984 static int
5985 dissect_e2ap_InterfaceID_F1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5986 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5987 ett_e2ap_InterfaceID_F1, InterfaceID_F1_sequence);
5989 return offset;
5993 static const per_sequence_t InterfaceID_E1_sequence[] = {
5994 { &hf_e2ap_globalGNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalGNB_ID },
5995 { &hf_e2ap_gNB_CU_UP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
5996 { NULL, 0, 0, NULL }
5999 static int
6000 dissect_e2ap_InterfaceID_E1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6001 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6002 ett_e2ap_InterfaceID_E1, InterfaceID_E1_sequence);
6004 return offset;
6009 static int
6010 dissect_e2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6011 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6012 2, 2, false, NULL);
6014 return offset;
6019 static int
6020 dissect_e2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6021 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6022 1, 1, false, NULL);
6024 return offset;
6028 static const per_sequence_t GUMMEI_sequence[] = {
6029 { &hf_e2ap_pLMN_Identity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PLMNIdentity },
6030 { &hf_e2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_Group_ID },
6031 { &hf_e2ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_Code },
6032 { NULL, 0, 0, NULL }
6035 static int
6036 dissect_e2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6037 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6038 ett_e2ap_GUMMEI, GUMMEI_sequence);
6040 return offset;
6044 static const per_sequence_t InterfaceID_S1_sequence[] = {
6045 { &hf_e2ap_gUMMEI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GUMMEI },
6046 { NULL, 0, 0, NULL }
6049 static int
6050 dissect_e2ap_InterfaceID_S1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6051 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6052 ett_e2ap_InterfaceID_S1, InterfaceID_S1_sequence);
6054 return offset;
6058 static const value_string e2ap_T_nodeType_vals[] = {
6059 { 0, "global-eNB-ID" },
6060 { 1, "global-en-gNB-ID" },
6061 { 0, NULL }
6064 static const per_choice_t T_nodeType_choice[] = {
6065 { 0, &hf_e2ap_global_eNB_ID , ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalENB_ID },
6066 { 1, &hf_e2ap_global_en_gNB_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_GlobalenGNB_ID },
6067 { 0, NULL, 0, NULL }
6070 static int
6071 dissect_e2ap_T_nodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6072 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6073 ett_e2ap_T_nodeType, T_nodeType_choice,
6074 NULL);
6076 return offset;
6080 static const per_sequence_t InterfaceID_X2_sequence[] = {
6081 { &hf_e2ap_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_nodeType },
6082 { NULL, 0, 0, NULL }
6085 static int
6086 dissect_e2ap_InterfaceID_X2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6087 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6088 ett_e2ap_InterfaceID_X2, InterfaceID_X2_sequence);
6090 return offset;
6094 static const per_sequence_t InterfaceID_W1_sequence[] = {
6095 { &hf_e2ap_global_ng_eNB_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalNgENB_ID },
6096 { &hf_e2ap_ng_eNB_DU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_DU_ID },
6097 { NULL, 0, 0, NULL }
6100 static int
6101 dissect_e2ap_InterfaceID_W1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6102 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6103 ett_e2ap_InterfaceID_W1, InterfaceID_W1_sequence);
6105 return offset;
6109 static const value_string e2ap_InterfaceIdentifier_vals[] = {
6110 { 0, "nG" },
6111 { 1, "xN" },
6112 { 2, "f1" },
6113 { 3, "e1" },
6114 { 4, "s1" },
6115 { 5, "x2" },
6116 { 6, "w1" },
6117 { 0, NULL }
6120 static const per_choice_t InterfaceIdentifier_choice[] = {
6121 { 0, &hf_e2ap_nG , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_NG },
6122 { 1, &hf_e2ap_xN , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_Xn },
6123 { 2, &hf_e2ap_f1 , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_F1 },
6124 { 3, &hf_e2ap_e1 , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_E1 },
6125 { 4, &hf_e2ap_s1 , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_S1 },
6126 { 5, &hf_e2ap_x2 , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_X2 },
6127 { 6, &hf_e2ap_w1 , ASN1_EXTENSION_ROOT , dissect_e2ap_InterfaceID_W1 },
6128 { 0, NULL, 0, NULL }
6131 static int
6132 dissect_e2ap_InterfaceIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6133 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6134 ett_e2ap_InterfaceIdentifier, InterfaceIdentifier_choice,
6135 NULL);
6137 return offset;
6142 static int
6143 dissect_e2ap_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6144 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6146 return offset;
6150 static const value_string e2ap_T_messageType_vals[] = {
6151 { 0, "initiatingMessage" },
6152 { 1, "successfulOutcome" },
6153 { 2, "unsuccessfulOutcome" },
6154 { 0, NULL }
6158 static int
6159 dissect_e2ap_T_messageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6160 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6161 3, NULL, true, 0, NULL);
6163 return offset;
6167 static const per_sequence_t Interface_MessageID_sequence[] = {
6168 { &hf_e2ap_interfaceProcedureID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER },
6169 { &hf_e2ap_messageType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_messageType },
6170 { NULL, 0, 0, NULL }
6173 static int
6174 dissect_e2ap_Interface_MessageID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6175 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6176 ett_e2ap_Interface_MessageID, Interface_MessageID_sequence);
6178 return offset;
6182 static const value_string e2ap_InterfaceType_vals[] = {
6183 { 0, "nG" },
6184 { 1, "xn" },
6185 { 2, "f1" },
6186 { 3, "e1" },
6187 { 4, "s1" },
6188 { 5, "x2" },
6189 { 6, "w1" },
6190 { 0, NULL }
6194 static int
6195 dissect_e2ap_InterfaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6196 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6197 7, NULL, true, 0, NULL);
6199 return offset;
6204 static int
6205 dissect_e2ap_T_ranFunction_ShortName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6206 tvbuff_t *value_tvb;
6207 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6208 1, 150, true,
6209 &value_tvb);
6211 if (!actx->pinfo->fd->visited) {
6212 /* N.B. too early to work out exact dissector, as don't have OID yet */
6213 e2ap_store_ran_function_mapping(actx->pinfo, tree, value_tvb,
6214 tvb_get_string_enc(actx->pinfo->pool, value_tvb, 0, tvb_captured_length(value_tvb), ENC_ASCII));
6218 return offset;
6223 static int
6224 dissect_e2ap_PrintableString_SIZE_1_1000_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6225 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6226 1, 1000, true,
6227 NULL);
6229 return offset;
6234 static int
6235 dissect_e2ap_PrintableString_SIZE_1_150_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6236 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6237 1, 150, true,
6238 NULL);
6240 return offset;
6244 static const per_sequence_t RANfunction_Name_sequence[] = {
6245 { &hf_e2ap_ranFunction_ShortName, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ranFunction_ShortName },
6246 { &hf_e2ap_ranFunction_E2SM_OID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PrintableString_SIZE_1_1000_ },
6247 { &hf_e2ap_ranFunction_Description, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_PrintableString_SIZE_1_150_ },
6248 { &hf_e2ap_ranFunction_Instance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER },
6249 { NULL, 0, 0, NULL }
6252 static int
6253 dissect_e2ap_RANfunction_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6254 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6255 ett_e2ap_RANfunction_Name, RANfunction_Name_sequence);
6257 return offset;
6262 static int
6263 dissect_e2ap_RIC_Format_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6264 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6266 return offset;
6271 static int
6272 dissect_e2ap_RIC_Style_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6273 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
6275 return offset;
6280 static int
6281 dissect_e2ap_RIC_Style_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6282 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
6283 1, 150, true,
6284 NULL);
6286 return offset;
6290 static const value_string e2ap_RRCclass_LTE_vals[] = {
6291 { 0, "bCCH-BCH" },
6292 { 1, "bCCH-BCH-MBMS" },
6293 { 2, "bCCH-DL-SCH" },
6294 { 3, "bCCH-DL-SCH-BR" },
6295 { 4, "bCCH-DL-SCH-MBMS" },
6296 { 5, "mCCH" },
6297 { 6, "pCCH" },
6298 { 7, "dL-CCCH" },
6299 { 8, "dL-DCCH" },
6300 { 9, "uL-CCCH" },
6301 { 10, "uL-DCCH" },
6302 { 11, "sC-MCCH" },
6303 { 0, NULL }
6307 static int
6308 dissect_e2ap_RRCclass_LTE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6309 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6310 12, NULL, true, 0, NULL);
6312 return offset;
6316 static const value_string e2ap_RRCclass_NR_vals[] = {
6317 { 0, "bCCH-BCH" },
6318 { 1, "bCCH-DL-SCH" },
6319 { 2, "dL-CCCH" },
6320 { 3, "dL-DCCH" },
6321 { 4, "pCCH" },
6322 { 5, "uL-CCCH" },
6323 { 6, "uL-CCCH1" },
6324 { 7, "uL-DCCH" },
6325 { 0, NULL }
6329 static int
6330 dissect_e2ap_RRCclass_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6331 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6332 8, NULL, true, 0, NULL);
6334 return offset;
6338 static const value_string e2ap_T_rrcType_vals[] = {
6339 { 0, "lTE" },
6340 { 1, "nR" },
6341 { 0, NULL }
6344 static const per_choice_t T_rrcType_choice[] = {
6345 { 0, &hf_e2ap_lTE , ASN1_EXTENSION_ROOT , dissect_e2ap_RRCclass_LTE },
6346 { 1, &hf_e2ap_nR , ASN1_EXTENSION_ROOT , dissect_e2ap_RRCclass_NR },
6347 { 0, NULL, 0, NULL }
6350 static int
6351 dissect_e2ap_T_rrcType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6352 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6353 ett_e2ap_T_rrcType, T_rrcType_choice,
6354 NULL);
6356 return offset;
6360 static const per_sequence_t RRC_MessageID_sequence[] = {
6361 { &hf_e2ap_rrcType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_rrcType },
6362 { &hf_e2ap_messageID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER },
6363 { NULL, 0, 0, NULL }
6366 static int
6367 dissect_e2ap_RRC_MessageID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6368 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6369 ett_e2ap_RRC_MessageID, RRC_MessageID_sequence);
6371 return offset;
6376 static int
6377 dissect_e2ap_INTEGER_0_maxNRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6378 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6379 0U, maxNRARFCN, NULL, false);
6381 return offset;
6385 static const per_sequence_t NR_ARFCN_sequence[] = {
6386 { &hf_e2ap_nRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_0_maxNRARFCN },
6387 { NULL, 0, 0, NULL }
6390 static int
6391 dissect_e2ap_NR_ARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6393 ett_e2ap_NR_ARFCN, NR_ARFCN_sequence);
6395 return offset;
6400 static int
6401 dissect_e2ap_E_UTRA_ARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6402 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6403 0U, maxEARFCN, NULL, false);
6405 return offset;
6409 static const value_string e2ap_ServingCell_ARFCN_vals[] = {
6410 { 0, "nR" },
6411 { 1, "eUTRA" },
6412 { 0, NULL }
6415 static const per_choice_t ServingCell_ARFCN_choice[] = {
6416 { 0, &hf_e2ap_nR_01 , ASN1_EXTENSION_ROOT , dissect_e2ap_NR_ARFCN },
6417 { 1, &hf_e2ap_eUTRA , ASN1_EXTENSION_ROOT , dissect_e2ap_E_UTRA_ARFCN },
6418 { 0, NULL, 0, NULL }
6421 static int
6422 dissect_e2ap_ServingCell_ARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6423 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6424 ett_e2ap_ServingCell_ARFCN, ServingCell_ARFCN_choice,
6425 NULL);
6427 return offset;
6432 static int
6433 dissect_e2ap_NR_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6434 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6435 0U, 1007U, NULL, false);
6437 return offset;
6442 static int
6443 dissect_e2ap_E_UTRA_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6444 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6445 0U, 503U, NULL, true);
6447 return offset;
6451 static const value_string e2ap_ServingCell_PCI_vals[] = {
6452 { 0, "nR" },
6453 { 1, "eUTRA" },
6454 { 0, NULL }
6457 static const per_choice_t ServingCell_PCI_choice[] = {
6458 { 0, &hf_e2ap_nR_02 , ASN1_EXTENSION_ROOT , dissect_e2ap_NR_PCI },
6459 { 1, &hf_e2ap_eUTRA_01 , ASN1_EXTENSION_ROOT , dissect_e2ap_E_UTRA_PCI },
6460 { 0, NULL, 0, NULL }
6463 static int
6464 dissect_e2ap_ServingCell_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6465 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6466 ett_e2ap_ServingCell_PCI, ServingCell_PCI_choice,
6467 NULL);
6469 return offset;
6474 static int
6475 dissect_e2ap_AMF_UE_NGAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6476 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
6477 0U, UINT64_C(1099511627775), NULL, false);
6479 return offset;
6484 static int
6485 dissect_e2ap_GNB_CU_UE_F1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6486 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6487 0U, 4294967295U, NULL, false);
6489 return offset;
6493 static const per_sequence_t UEID_GNB_CU_CP_F1AP_ID_Item_sequence[] = {
6494 { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UE_F1AP_ID },
6495 { NULL, 0, 0, NULL }
6498 static int
6499 dissect_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6500 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6501 ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item, UEID_GNB_CU_CP_F1AP_ID_Item_sequence);
6503 return offset;
6507 static const per_sequence_t UEID_GNB_CU_F1AP_ID_List_sequence_of[1] = {
6508 { &hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item },
6511 static int
6512 dissect_e2ap_UEID_GNB_CU_F1AP_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6513 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6514 ett_e2ap_UEID_GNB_CU_F1AP_ID_List, UEID_GNB_CU_F1AP_ID_List_sequence_of,
6515 1, maxF1APid, false);
6517 return offset;
6522 static int
6523 dissect_e2ap_GNB_CU_CP_UE_E1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6524 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6525 0U, 4294967295U, NULL, false);
6527 return offset;
6531 static const per_sequence_t UEID_GNB_CU_CP_E1AP_ID_Item_sequence[] = {
6532 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_CP_UE_E1AP_ID },
6533 { NULL, 0, 0, NULL }
6536 static int
6537 dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6538 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6539 ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item, UEID_GNB_CU_CP_E1AP_ID_Item_sequence);
6541 return offset;
6545 static const per_sequence_t UEID_GNB_CU_CP_E1AP_ID_List_sequence_of[1] = {
6546 { &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 },
6549 static int
6550 dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6551 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6552 ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List, UEID_GNB_CU_CP_E1AP_ID_List_sequence_of,
6553 1, maxE1APid, false);
6555 return offset;
6560 static int
6561 dissect_e2ap_RANUEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6562 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6563 8, 8, false, NULL);
6565 return offset;
6570 static int
6571 dissect_e2ap_NG_RANnodeUEXnAPID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6572 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6573 0U, 4294967295U, NULL, false);
6575 return offset;
6579 static const per_sequence_t UEID_GNB_sequence[] = {
6580 { &hf_e2ap_amf_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMF_UE_NGAP_ID },
6581 { &hf_e2ap_guami , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
6582 { &hf_e2ap_gNB_CU_UE_F1AP_ID_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID_GNB_CU_F1AP_ID_List },
6583 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List },
6584 { &hf_e2ap_ran_UEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANUEID },
6585 { &hf_e2ap_m_NG_RAN_UE_XnAP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NG_RANnodeUEXnAPID },
6586 { &hf_e2ap_globalGNB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalGNB_ID },
6587 { &hf_e2ap_globalNG_RANNode_ID, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_GlobalNGRANNodeID },
6588 { NULL, 0, 0, NULL }
6591 static int
6592 dissect_e2ap_UEID_GNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6593 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6594 ett_e2ap_UEID_GNB, UEID_GNB_sequence);
6596 return offset;
6600 static const per_sequence_t UEID_GNB_DU_sequence[] = {
6601 { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UE_F1AP_ID },
6602 { &hf_e2ap_ran_UEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANUEID },
6603 { NULL, 0, 0, NULL }
6606 static int
6607 dissect_e2ap_UEID_GNB_DU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6608 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6609 ett_e2ap_UEID_GNB_DU, UEID_GNB_DU_sequence);
6611 return offset;
6615 static const per_sequence_t UEID_GNB_CU_UP_sequence[] = {
6616 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_CP_UE_E1AP_ID },
6617 { &hf_e2ap_ran_UEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANUEID },
6618 { NULL, 0, 0, NULL }
6621 static int
6622 dissect_e2ap_UEID_GNB_CU_UP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6623 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6624 ett_e2ap_UEID_GNB_CU_UP, UEID_GNB_CU_UP_sequence);
6626 return offset;
6631 static int
6632 dissect_e2ap_NGENB_CU_UE_W1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6633 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6634 0U, 4294967295U, NULL, false);
6636 return offset;
6640 static const per_sequence_t UEID_NG_ENB_sequence[] = {
6641 { &hf_e2ap_amf_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_AMF_UE_NGAP_ID },
6642 { &hf_e2ap_guami , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GUAMI },
6643 { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NGENB_CU_UE_W1AP_ID },
6644 { &hf_e2ap_m_NG_RAN_UE_XnAP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NG_RANnodeUEXnAPID },
6645 { &hf_e2ap_globalNgENB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalNgENB_ID },
6646 { &hf_e2ap_globalNG_RANNode_ID, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_GlobalNGRANNodeID },
6647 { NULL, 0, 0, NULL }
6650 static int
6651 dissect_e2ap_UEID_NG_ENB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6652 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6653 ett_e2ap_UEID_NG_ENB, UEID_NG_ENB_sequence);
6655 return offset;
6659 static const per_sequence_t UEID_NG_ENB_DU_sequence[] = {
6660 { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NGENB_CU_UE_W1AP_ID },
6661 { NULL, 0, 0, NULL }
6664 static int
6665 dissect_e2ap_UEID_NG_ENB_DU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6666 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6667 ett_e2ap_UEID_NG_ENB_DU, UEID_NG_ENB_DU_sequence);
6669 return offset;
6674 static int
6675 dissect_e2ap_ENB_UE_X2AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6676 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6677 0U, 4095U, NULL, false);
6679 return offset;
6684 static int
6685 dissect_e2ap_ENB_UE_X2AP_ID_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6686 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6687 0U, 4095U, NULL, true);
6689 return offset;
6693 static const per_sequence_t UEID_EN_GNB_sequence[] = {
6694 { &hf_e2ap_m_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ENB_UE_X2AP_ID },
6695 { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_ENB_UE_X2AP_ID_Extension },
6696 { &hf_e2ap_globalENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GlobalENB_ID },
6697 { &hf_e2ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GNB_CU_UE_F1AP_ID },
6698 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID_GNB_CU_CP_E1AP_ID_List },
6699 { &hf_e2ap_ran_UEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANUEID },
6700 { NULL, 0, 0, NULL }
6703 static int
6704 dissect_e2ap_UEID_EN_GNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6705 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6706 ett_e2ap_UEID_EN_GNB, UEID_EN_GNB_sequence);
6708 return offset;
6713 static int
6714 dissect_e2ap_MME_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6715 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6716 0U, 4294967295U, NULL, false);
6718 return offset;
6722 static const per_sequence_t UEID_ENB_sequence[] = {
6723 { &hf_e2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MME_UE_S1AP_ID },
6724 { &hf_e2ap_gUMMEI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GUMMEI },
6725 { &hf_e2ap_m_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_ENB_UE_X2AP_ID },
6726 { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_ENB_UE_X2AP_ID_Extension },
6727 { &hf_e2ap_globalENB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GlobalENB_ID },
6728 { NULL, 0, 0, NULL }
6731 static int
6732 dissect_e2ap_UEID_ENB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6734 ett_e2ap_UEID_ENB, UEID_ENB_sequence);
6736 return offset;
6740 static const value_string e2ap_UEID_vals[] = {
6741 { 0, "gNB-UEID" },
6742 { 1, "gNB-DU-UEID" },
6743 { 2, "gNB-CU-UP-UEID" },
6744 { 3, "ng-eNB-UEID" },
6745 { 4, "ng-eNB-DU-UEID" },
6746 { 5, "en-gNB-UEID" },
6747 { 6, "eNB-UEID" },
6748 { 0, NULL }
6751 static const per_choice_t UEID_choice[] = {
6752 { 0, &hf_e2ap_gNB_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_GNB },
6753 { 1, &hf_e2ap_gNB_DU_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_GNB_DU },
6754 { 2, &hf_e2ap_gNB_CU_UP_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_GNB_CU_UP },
6755 { 3, &hf_e2ap_ng_eNB_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_NG_ENB },
6756 { 4, &hf_e2ap_ng_eNB_DU_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_NG_ENB_DU },
6757 { 5, &hf_e2ap_en_gNB_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_EN_GNB },
6758 { 6, &hf_e2ap_eNB_UEID , ASN1_EXTENSION_ROOT , dissect_e2ap_UEID_ENB },
6759 { 0, NULL, 0, NULL }
6762 static int
6763 dissect_e2ap_UEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6764 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6765 ett_e2ap_UEID, UEID_choice,
6766 NULL);
6768 return offset;
6773 static int
6774 dissect_e2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6775 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6776 0U, 255U, NULL, false);
6778 return offset;
6783 static int
6784 dissect_e2ap_E_UTRA_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6785 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6786 2, 2, false, NULL);
6788 return offset;
6793 static int
6794 dissect_e2ap_FiveQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6795 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6796 0U, 255U, NULL, true);
6798 return offset;
6803 static int
6804 dissect_e2ap_QosFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6805 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6806 0U, 63U, NULL, true);
6808 return offset;
6813 static int
6814 dissect_e2ap_SD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6815 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6816 3, 3, false, NULL);
6818 return offset;
6823 static int
6824 dissect_e2ap_SST(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6825 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6826 1, 1, false, NULL);
6828 return offset;
6832 static const per_sequence_t S_NSSAI_sequence[] = {
6833 { &hf_e2ap_sST , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SST },
6834 { &hf_e2ap_sD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SD },
6835 { NULL, 0, 0, NULL }
6838 static int
6839 dissect_e2ap_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6840 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6841 ett_e2ap_S_NSSAI, S_NSSAI_sequence);
6843 return offset;
6848 static int
6849 dissect_e2ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6850 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6851 3, 3, false, NULL);
6853 return offset;
6858 static int
6859 dissect_e2ap_INTEGER_1_1024_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6860 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6861 1U, 1024U, NULL, true);
6863 return offset;
6867 static const per_sequence_t SupportedSULFreqBandItem_sequence[] = {
6868 { &hf_e2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_1024_ },
6869 { NULL, 0, 0, NULL }
6872 static int
6873 dissect_e2ap_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6874 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6875 ett_e2ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence);
6877 return offset;
6881 static const per_sequence_t SupportedSULBandList_sequence_of[1] = {
6882 { &hf_e2ap_SupportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_SupportedSULFreqBandItem },
6885 static int
6886 dissect_e2ap_SupportedSULBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6887 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6888 ett_e2ap_SupportedSULBandList, SupportedSULBandList_sequence_of,
6889 0, maxnoofNrCellBands, false);
6891 return offset;
6895 static const per_sequence_t NRFrequencyBandItem_sequence[] = {
6896 { &hf_e2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_1024_ },
6897 { &hf_e2ap_supportedSULBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SupportedSULBandList },
6898 { NULL, 0, 0, NULL }
6901 static int
6902 dissect_e2ap_NRFrequencyBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6903 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6904 ett_e2ap_NRFrequencyBandItem, NRFrequencyBandItem_sequence);
6906 return offset;
6910 static const per_sequence_t NRFrequencyBand_List_sequence_of[1] = {
6911 { &hf_e2ap_NRFrequencyBand_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyBandItem },
6914 static int
6915 dissect_e2ap_NRFrequencyBand_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6916 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6917 ett_e2ap_NRFrequencyBand_List, NRFrequencyBand_List_sequence_of,
6918 1, maxnoofNrCellBands, false);
6920 return offset;
6924 static const value_string e2ap_NRFrequencyShift7p5khz_vals[] = {
6925 { 0, "false" },
6926 { 1, "true" },
6927 { 0, NULL }
6931 static int
6932 dissect_e2ap_NRFrequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6933 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6934 2, NULL, true, 0, NULL);
6936 return offset;
6940 static const per_sequence_t NRFrequencyInfo_sequence[] = {
6941 { &hf_e2ap_nrARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_ARFCN },
6942 { &hf_e2ap_frequencyBand_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyBand_List },
6943 { &hf_e2ap_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NRFrequencyShift7p5khz },
6944 { NULL, 0, 0, NULL }
6947 static int
6948 dissect_e2ap_NRFrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6949 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6950 ett_e2ap_NRFrequencyInfo, NRFrequencyInfo_sequence);
6952 return offset;
6956 static const value_string e2ap_LogicalOR_vals[] = {
6957 { 0, "true" },
6958 { 1, "false" },
6959 { 0, NULL }
6963 static int
6964 dissect_e2ap_LogicalOR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6965 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6966 2, NULL, true, 0, NULL);
6968 return offset;
6972 static const value_string e2ap_T_nR_mode_info_vals[] = {
6973 { 0, "fdd" },
6974 { 1, "tdd" },
6975 { 0, NULL }
6979 static int
6980 dissect_e2ap_T_nR_mode_info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6981 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6982 2, NULL, true, 0, NULL);
6984 return offset;
6988 static const value_string e2ap_T_x2_Xn_established_vals[] = {
6989 { 0, "true" },
6990 { 1, "false" },
6991 { 0, NULL }
6995 static int
6996 dissect_e2ap_T_x2_Xn_established(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6997 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6998 2, NULL, true, 0, NULL);
7000 return offset;
7004 static const value_string e2ap_T_hO_validated_vals[] = {
7005 { 0, "true" },
7006 { 1, "false" },
7007 { 0, NULL }
7011 static int
7012 dissect_e2ap_T_hO_validated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7013 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7014 2, NULL, true, 0, NULL);
7016 return offset;
7021 static int
7022 dissect_e2ap_INTEGER_1_65535_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7023 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7024 1U, 65535U, NULL, true);
7026 return offset;
7030 static const per_sequence_t NeighborCell_Item_Choice_NR_sequence[] = {
7031 { &hf_e2ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_CGI },
7032 { &hf_e2ap_nR_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NR_PCI },
7033 { &hf_e2ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_FiveGS_TAC },
7034 { &hf_e2ap_nR_mode_info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_nR_mode_info },
7035 { &hf_e2ap_nR_FreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NRFrequencyInfo },
7036 { &hf_e2ap_x2_Xn_established, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_x2_Xn_established },
7037 { &hf_e2ap_hO_validated , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_hO_validated },
7038 { &hf_e2ap_version , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_65535_ },
7039 { NULL, 0, 0, NULL }
7042 static int
7043 dissect_e2ap_NeighborCell_Item_Choice_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7044 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7045 ett_e2ap_NeighborCell_Item_Choice_NR, NeighborCell_Item_Choice_NR_sequence);
7047 return offset;
7051 static const value_string e2ap_T_x2_Xn_established_01_vals[] = {
7052 { 0, "true" },
7053 { 1, "false" },
7054 { 0, NULL }
7058 static int
7059 dissect_e2ap_T_x2_Xn_established_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7060 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7061 2, NULL, true, 0, NULL);
7063 return offset;
7067 static const value_string e2ap_T_hO_validated_01_vals[] = {
7068 { 0, "true" },
7069 { 1, "false" },
7070 { 0, NULL }
7074 static int
7075 dissect_e2ap_T_hO_validated_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7076 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7077 2, NULL, true, 0, NULL);
7079 return offset;
7083 static const per_sequence_t NeighborCell_Item_Choice_E_UTRA_sequence[] = {
7084 { &hf_e2ap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_EUTRA_CGI },
7085 { &hf_e2ap_eUTRA_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_PCI },
7086 { &hf_e2ap_eUTRA_ARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_ARFCN },
7087 { &hf_e2ap_eUTRA_TAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E_UTRA_TAC },
7088 { &hf_e2ap_x2_Xn_established_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_x2_Xn_established_01 },
7089 { &hf_e2ap_hO_validated_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_hO_validated_01 },
7090 { &hf_e2ap_version , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_65535_ },
7091 { NULL, 0, 0, NULL }
7094 static int
7095 dissect_e2ap_NeighborCell_Item_Choice_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7096 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7097 ett_e2ap_NeighborCell_Item_Choice_E_UTRA, NeighborCell_Item_Choice_E_UTRA_sequence);
7099 return offset;
7103 static const value_string e2ap_NeighborCell_Item_vals[] = {
7104 { 0, "ranType-Choice-NR" },
7105 { 1, "ranType-Choice-EUTRA" },
7106 { 0, NULL }
7109 static const per_choice_t NeighborCell_Item_choice[] = {
7110 { 0, &hf_e2ap_ranType_Choice_NR, ASN1_EXTENSION_ROOT , dissect_e2ap_NeighborCell_Item_Choice_NR },
7111 { 1, &hf_e2ap_ranType_Choice_EUTRA, ASN1_EXTENSION_ROOT , dissect_e2ap_NeighborCell_Item_Choice_E_UTRA },
7112 { 0, NULL, 0, NULL }
7115 static int
7116 dissect_e2ap_NeighborCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7117 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7118 ett_e2ap_NeighborCell_Item, NeighborCell_Item_choice,
7119 NULL);
7121 return offset;
7125 static const per_sequence_t NeighborCell_List_sequence_of[1] = {
7126 { &hf_e2ap_NeighborCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_NeighborCell_Item },
7129 static int
7130 dissect_e2ap_NeighborCell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7131 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7132 ett_e2ap_NeighborCell_List, NeighborCell_List_sequence_of,
7133 1, maxnoofNeighbourCell, false);
7135 return offset;
7139 static const per_sequence_t NeighborRelation_Info_sequence[] = {
7140 { &hf_e2ap_servingCellPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ServingCell_PCI },
7141 { &hf_e2ap_servingCellARFCN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ServingCell_ARFCN },
7142 { &hf_e2ap_neighborCell_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NeighborCell_List },
7143 { NULL, 0, 0, NULL }
7146 static int
7147 dissect_e2ap_NeighborRelation_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7148 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7149 ett_e2ap_NeighborRelation_Info, NeighborRelation_Info_sequence);
7151 return offset;
7155 static const value_string e2ap_RRC_State_vals[] = {
7156 { 0, "rrc-connected" },
7157 { 1, "rrc-inactive" },
7158 { 2, "rrc-idle" },
7159 { 3, "any" },
7160 { 0, NULL }
7164 static int
7165 dissect_e2ap_RRC_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7166 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7167 4, NULL, true, 0, NULL);
7169 return offset;
7174 static int
7175 dissect_e2ap_RIC_EventTrigger_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7176 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7177 1U, 65535U, NULL, true);
7179 return offset;
7183 static const per_sequence_t EventTrigger_Cell_Info_Item_Choice_Individual_sequence[] = {
7184 { &hf_e2ap_cellGlobalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
7185 { NULL, 0, 0, NULL }
7188 static int
7189 dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7190 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7191 ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual, EventTrigger_Cell_Info_Item_Choice_Individual_sequence);
7193 return offset;
7198 static int
7199 dissect_e2ap_RANParameter_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7200 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
7201 1U, UINT64_C(4294967296), NULL, true);
7203 return offset;
7207 static const per_sequence_t RANParameter_Testing_LIST_sequence_of[1] = {
7208 { &hf_e2ap_RANParameter_Testing_LIST_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7211 static int
7212 dissect_e2ap_RANParameter_Testing_LIST(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7213 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7214 ett_e2ap_RANParameter_Testing_LIST, RANParameter_Testing_LIST_sequence_of,
7215 1, maxnoofItemsinList, false);
7217 return offset;
7221 static const per_sequence_t RANParameter_Testing_Item_Choice_List_sequence[] = {
7222 { &hf_e2ap_ranParameter_List_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_LIST },
7223 { NULL, 0, 0, NULL }
7226 static int
7227 dissect_e2ap_RANParameter_Testing_Item_Choice_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7229 ett_e2ap_RANParameter_Testing_Item_Choice_List, RANParameter_Testing_Item_Choice_List_sequence);
7231 return offset;
7235 static const per_sequence_t RANParameter_Testing_STRUCTURE_sequence_of[1] = {
7236 { &hf_e2ap_RANParameter_Testing_STRUCTURE_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7239 static int
7240 dissect_e2ap_RANParameter_Testing_STRUCTURE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7241 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7242 ett_e2ap_RANParameter_Testing_STRUCTURE, RANParameter_Testing_STRUCTURE_sequence_of,
7243 1, maxnoofParametersinStructure, false);
7245 return offset;
7249 static const per_sequence_t RANParameter_Testing_Item_Choice_Structure_sequence[] = {
7250 { &hf_e2ap_ranParameter_Structure_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_STRUCTURE },
7251 { NULL, 0, 0, NULL }
7254 static int
7255 dissect_e2ap_RANParameter_Testing_Item_Choice_Structure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7256 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7257 ett_e2ap_RANParameter_Testing_Item_Choice_Structure, RANParameter_Testing_Item_Choice_Structure_sequence);
7259 return offset;
7264 static int
7265 dissect_e2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7266 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
7268 return offset;
7273 static int
7274 dissect_e2ap_REAL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7275 offset = dissect_per_real(tvb, offset, actx, tree, hf_index, NULL);
7277 return offset;
7282 static int
7283 dissect_e2ap_BIT_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7284 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7285 NO_BOUND, NO_BOUND, false, NULL, 0, NULL, NULL);
7287 return offset;
7292 static int
7293 dissect_e2ap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7294 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7295 NO_BOUND, NO_BOUND, false, NULL);
7297 return offset;
7302 static int
7303 dissect_e2ap_PrintableString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7304 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
7305 NO_BOUND, NO_BOUND, false,
7306 NULL);
7308 return offset;
7312 static const value_string e2ap_RANParameter_Value_vals[] = {
7313 { 0, "valueBoolean" },
7314 { 1, "valueInt" },
7315 { 2, "valueReal" },
7316 { 3, "valueBitS" },
7317 { 4, "valueOctS" },
7318 { 5, "valuePrintableString" },
7319 { 0, NULL }
7322 static const per_choice_t RANParameter_Value_choice[] = {
7323 { 0, &hf_e2ap_valueBoolean , ASN1_EXTENSION_ROOT , dissect_e2ap_BOOLEAN },
7324 { 1, &hf_e2ap_valueInt , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
7325 { 2, &hf_e2ap_valueReal , ASN1_EXTENSION_ROOT , dissect_e2ap_REAL },
7326 { 3, &hf_e2ap_valueBitS , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING },
7327 { 4, &hf_e2ap_valueOctS , ASN1_EXTENSION_ROOT , dissect_e2ap_OCTET_STRING },
7328 { 5, &hf_e2ap_valuePrintableString, ASN1_EXTENSION_ROOT , dissect_e2ap_PrintableString },
7329 { 0, NULL, 0, NULL }
7332 static int
7333 dissect_e2ap_RANParameter_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7334 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7335 ett_e2ap_RANParameter_Value, RANParameter_Value_choice,
7336 NULL);
7338 return offset;
7342 static const per_sequence_t RANParameter_Testing_Item_Choice_ElementTrue_sequence[] = {
7343 { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
7344 { NULL, 0, 0, NULL }
7347 static int
7348 dissect_e2ap_RANParameter_Testing_Item_Choice_ElementTrue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7349 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7350 ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue, RANParameter_Testing_Item_Choice_ElementTrue_sequence);
7352 return offset;
7356 static const value_string e2ap_T_ranP_Choice_comparison_vals[] = {
7357 { 0, "equal" },
7358 { 1, "difference" },
7359 { 2, "greaterthan" },
7360 { 3, "lessthan" },
7361 { 4, "contains" },
7362 { 5, "starts-with" },
7363 { 0, NULL }
7367 static int
7368 dissect_e2ap_T_ranP_Choice_comparison(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7369 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7370 6, NULL, true, 0, NULL);
7372 return offset;
7376 static const value_string e2ap_T_ranP_Choice_presence_vals[] = {
7377 { 0, "present" },
7378 { 1, "configured" },
7379 { 2, "rollover" },
7380 { 3, "non-zero" },
7381 { 0, NULL }
7385 static int
7386 dissect_e2ap_T_ranP_Choice_presence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7387 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7388 4, NULL, true, 0, NULL);
7390 return offset;
7394 static const value_string e2ap_RANParameter_TestingCondition_vals[] = {
7395 { 0, "ranP-Choice-comparison" },
7396 { 1, "ranP-Choice-presence" },
7397 { 0, NULL }
7400 static const per_choice_t RANParameter_TestingCondition_choice[] = {
7401 { 0, &hf_e2ap_ranP_Choice_comparison, ASN1_EXTENSION_ROOT , dissect_e2ap_T_ranP_Choice_comparison },
7402 { 1, &hf_e2ap_ranP_Choice_presence, ASN1_EXTENSION_ROOT , dissect_e2ap_T_ranP_Choice_presence },
7403 { 0, NULL, 0, NULL }
7406 static int
7407 dissect_e2ap_RANParameter_TestingCondition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7408 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7409 ett_e2ap_RANParameter_TestingCondition, RANParameter_TestingCondition_choice,
7410 NULL);
7412 return offset;
7416 static const per_sequence_t RANParameter_Testing_Item_Choice_ElementFalse_sequence[] = {
7417 { &hf_e2ap_ranParameter_TestCondition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_TestingCondition },
7418 { &hf_e2ap_ranParameter_Value, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Value },
7419 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
7420 { NULL, 0, 0, NULL }
7423 static int
7424 dissect_e2ap_RANParameter_Testing_Item_Choice_ElementFalse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7425 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7426 ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse, RANParameter_Testing_Item_Choice_ElementFalse_sequence);
7428 return offset;
7432 static const value_string e2ap_T_ranParameter_Type_vals[] = {
7433 { 0, "ranP-Choice-List" },
7434 { 1, "ranP-Choice-Structure" },
7435 { 2, "ranP-Choice-ElementTrue" },
7436 { 3, "ranP-Choice-ElementFalse" },
7437 { 0, NULL }
7440 static const per_choice_t T_ranParameter_Type_choice[] = {
7441 { 0, &hf_e2ap_ranP_Choice_List_01, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Testing_Item_Choice_List },
7442 { 1, &hf_e2ap_ranP_Choice_Structure_01, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Testing_Item_Choice_Structure },
7443 { 2, &hf_e2ap_ranP_Choice_ElementTrue_01, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Testing_Item_Choice_ElementTrue },
7444 { 3, &hf_e2ap_ranP_Choice_ElementFalse_01, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Testing_Item_Choice_ElementFalse },
7445 { 0, NULL, 0, NULL }
7448 static int
7449 dissect_e2ap_T_ranParameter_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7450 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7451 ett_e2ap_T_ranParameter_Type, T_ranParameter_Type_choice,
7452 NULL);
7454 return offset;
7458 static const per_sequence_t RANParameter_Testing_Item_sequence[] = {
7459 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7460 { &hf_e2ap_ranParameter_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ranParameter_Type },
7461 { NULL, 0, 0, NULL }
7464 static int
7465 dissect_e2ap_RANParameter_Testing_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7466 // RANParameter-Testing-Item -> RANParameter-Testing-Item/ranParameter-Type -> RANParameter-Testing-Item-Choice-List -> RANParameter-Testing-LIST -> RANParameter-Testing-Item
7467 actx->pinfo->dissection_depth += 4;
7468 increment_dissection_depth(actx->pinfo);
7469 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7470 ett_e2ap_RANParameter_Testing_Item, RANParameter_Testing_Item_sequence);
7472 actx->pinfo->dissection_depth -= 4;
7473 decrement_dissection_depth(actx->pinfo);
7474 return offset;
7478 static const per_sequence_t RANParameter_Testing_sequence_of[1] = {
7479 { &hf_e2ap_RANParameter_Testing_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing_Item },
7482 static int
7483 dissect_e2ap_RANParameter_Testing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7484 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7485 ett_e2ap_RANParameter_Testing, RANParameter_Testing_sequence_of,
7486 1, maxnoofRANparamTest, false);
7488 return offset;
7492 static const per_sequence_t EventTrigger_Cell_Info_Item_Choice_Group_sequence[] = {
7493 { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
7494 { NULL, 0, 0, NULL }
7497 static int
7498 dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7499 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7500 ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group, EventTrigger_Cell_Info_Item_Choice_Group_sequence);
7502 return offset;
7506 static const value_string e2ap_T_cellType_vals[] = {
7507 { 0, "cellType-Choice-Individual" },
7508 { 1, "cellType-Choice-Group" },
7509 { 0, NULL }
7512 static const per_choice_t T_cellType_choice[] = {
7513 { 0, &hf_e2ap_cellType_Choice_Individual, ASN1_EXTENSION_ROOT , dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual },
7514 { 1, &hf_e2ap_cellType_Choice_Group, ASN1_EXTENSION_ROOT , dissect_e2ap_EventTrigger_Cell_Info_Item_Choice_Group },
7515 { 0, NULL, 0, NULL }
7518 static int
7519 dissect_e2ap_T_cellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7520 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7521 ett_e2ap_T_cellType, T_cellType_choice,
7522 NULL);
7524 return offset;
7528 static const per_sequence_t EventTrigger_Cell_Info_Item_sequence[] = {
7529 { &hf_e2ap_eventTriggerCellID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_Cell_ID },
7530 { &hf_e2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_cellType },
7531 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
7532 { NULL, 0, 0, NULL }
7535 static int
7536 dissect_e2ap_EventTrigger_Cell_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7537 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7538 ett_e2ap_EventTrigger_Cell_Info_Item, EventTrigger_Cell_Info_Item_sequence);
7540 return offset;
7544 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item_sequence_of[1] = {
7545 { &hf_e2ap_cellInfo_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_Cell_Info_Item },
7548 static int
7549 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7550 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7551 ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item, SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item_sequence_of,
7552 1, maxnoofCellInfo, false);
7554 return offset;
7558 static const per_sequence_t EventTrigger_Cell_Info_sequence[] = {
7559 { &hf_e2ap_cellInfo_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item },
7560 { NULL, 0, 0, NULL }
7563 static int
7564 dissect_e2ap_EventTrigger_Cell_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7565 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7566 ett_e2ap_EventTrigger_Cell_Info, EventTrigger_Cell_Info_sequence);
7568 return offset;
7573 static int
7574 dissect_e2ap_RIC_EventTrigger_UE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7575 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7576 1U, 65535U, NULL, true);
7578 return offset;
7582 static const per_sequence_t EventTrigger_UE_Info_Item_Choice_Individual_sequence[] = {
7583 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
7584 { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Testing },
7585 { NULL, 0, 0, NULL }
7588 static int
7589 dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Individual(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7590 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7591 ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual, EventTrigger_UE_Info_Item_Choice_Individual_sequence);
7593 return offset;
7597 static const per_sequence_t EventTrigger_UE_Info_Item_Choice_Group_sequence[] = {
7598 { &hf_e2ap_ranParameterTesting, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
7599 { NULL, 0, 0, NULL }
7602 static int
7603 dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7604 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7605 ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group, EventTrigger_UE_Info_Item_Choice_Group_sequence);
7607 return offset;
7611 static const value_string e2ap_T_ueType_vals[] = {
7612 { 0, "ueType-Choice-Individual" },
7613 { 1, "ueType-Choice-Group" },
7614 { 0, NULL }
7617 static const per_choice_t T_ueType_choice[] = {
7618 { 0, &hf_e2ap_ueType_Choice_Individual, ASN1_EXTENSION_ROOT , dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Individual },
7619 { 1, &hf_e2ap_ueType_Choice_Group, ASN1_EXTENSION_ROOT , dissect_e2ap_EventTrigger_UE_Info_Item_Choice_Group },
7620 { 0, NULL, 0, NULL }
7623 static int
7624 dissect_e2ap_T_ueType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7625 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7626 ett_e2ap_T_ueType, T_ueType_choice,
7627 NULL);
7629 return offset;
7633 static const per_sequence_t EventTrigger_UE_Info_Item_sequence[] = {
7634 { &hf_e2ap_eventTriggerUEID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_UE_ID },
7635 { &hf_e2ap_ueType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ueType },
7636 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
7637 { NULL, 0, 0, NULL }
7640 static int
7641 dissect_e2ap_EventTrigger_UE_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7643 ett_e2ap_EventTrigger_UE_Info_Item, EventTrigger_UE_Info_Item_sequence);
7645 return offset;
7649 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item_sequence_of[1] = {
7650 { &hf_e2ap_ueInfo_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_UE_Info_Item },
7653 static int
7654 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7655 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7656 ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item, SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item_sequence_of,
7657 1, maxnoofUEInfo, false);
7659 return offset;
7663 static const per_sequence_t EventTrigger_UE_Info_sequence[] = {
7664 { &hf_e2ap_ueInfo_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item },
7665 { NULL, 0, 0, NULL }
7668 static int
7669 dissect_e2ap_EventTrigger_UE_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7671 ett_e2ap_EventTrigger_UE_Info, EventTrigger_UE_Info_sequence);
7673 return offset;
7678 static int
7679 dissect_e2ap_RIC_EventTrigger_UEevent_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7680 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7681 1U, 65535U, NULL, true);
7683 return offset;
7687 static const per_sequence_t EventTrigger_UEevent_Info_Item_sequence[] = {
7688 { &hf_e2ap_ueEventID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTrigger_UEevent_ID },
7689 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
7690 { NULL, 0, 0, NULL }
7693 static int
7694 dissect_e2ap_EventTrigger_UEevent_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7695 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7696 ett_e2ap_EventTrigger_UEevent_Info_Item, EventTrigger_UEevent_Info_Item_sequence);
7698 return offset;
7702 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item_sequence_of[1] = {
7703 { &hf_e2ap_ueEvent_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_EventTrigger_UEevent_Info_Item },
7706 static int
7707 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7708 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7709 ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item, SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item_sequence_of,
7710 1, maxnoofUEeventInfo, false);
7712 return offset;
7716 static const per_sequence_t EventTrigger_UEevent_Info_sequence[] = {
7717 { &hf_e2ap_ueEvent_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item },
7718 { NULL, 0, 0, NULL }
7721 static int
7722 dissect_e2ap_EventTrigger_UEevent_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7723 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7724 ett_e2ap_EventTrigger_UEevent_Info, EventTrigger_UEevent_Info_sequence);
7726 return offset;
7731 static int
7732 dissect_e2ap_RANParameter_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7733 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
7734 1, 150, true,
7735 NULL);
7737 return offset;
7741 static const per_sequence_t RANParameter_Definition_Choice_LIST_Item_sequence[] = {
7742 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7743 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
7744 { &hf_e2ap_ranParameter_Definition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
7745 { NULL, 0, 0, NULL }
7748 static int
7749 dissect_e2ap_RANParameter_Definition_Choice_LIST_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7750 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7751 ett_e2ap_RANParameter_Definition_Choice_LIST_Item, RANParameter_Definition_Choice_LIST_Item_sequence);
7753 return offset;
7757 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item_sequence_of[1] = {
7758 { &hf_e2ap_ranParameter_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice_LIST_Item },
7761 static int
7762 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7763 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7764 ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item, SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item_sequence_of,
7765 1, maxnoofItemsinList, false);
7767 return offset;
7771 static const per_sequence_t RANParameter_Definition_Choice_LIST_sequence[] = {
7772 { &hf_e2ap_ranParameter_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item },
7773 { NULL, 0, 0, NULL }
7776 static int
7777 dissect_e2ap_RANParameter_Definition_Choice_LIST(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7778 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7779 ett_e2ap_RANParameter_Definition_Choice_LIST, RANParameter_Definition_Choice_LIST_sequence);
7781 return offset;
7785 static const per_sequence_t RANParameter_Definition_Choice_STRUCTURE_Item_sequence[] = {
7786 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7787 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
7788 { &hf_e2ap_ranParameter_Definition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
7789 { NULL, 0, 0, NULL }
7792 static int
7793 dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7794 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7795 ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item, RANParameter_Definition_Choice_STRUCTURE_Item_sequence);
7797 return offset;
7801 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item_sequence_of[1] = {
7802 { &hf_e2ap_ranParameter_STRUCTURE_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item },
7805 static int
7806 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7807 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7808 ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item, SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item_sequence_of,
7809 1, maxnoofParametersinStructure, false);
7811 return offset;
7815 static const per_sequence_t RANParameter_Definition_Choice_STRUCTURE_sequence[] = {
7816 { &hf_e2ap_ranParameter_STRUCTURE, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item },
7817 { NULL, 0, 0, NULL }
7820 static int
7821 dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7822 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7823 ett_e2ap_RANParameter_Definition_Choice_STRUCTURE, RANParameter_Definition_Choice_STRUCTURE_sequence);
7825 return offset;
7829 static const value_string e2ap_RANParameter_Definition_Choice_vals[] = {
7830 { 0, "choiceLIST" },
7831 { 1, "choiceSTRUCTURE" },
7832 { 0, NULL }
7835 static const per_choice_t RANParameter_Definition_Choice_choice[] = {
7836 { 0, &hf_e2ap_choiceLIST , ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Definition_Choice_LIST },
7837 { 1, &hf_e2ap_choiceSTRUCTURE, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_Definition_Choice_STRUCTURE },
7838 { 0, NULL, 0, NULL }
7841 static int
7842 dissect_e2ap_RANParameter_Definition_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7843 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7844 ett_e2ap_RANParameter_Definition_Choice, RANParameter_Definition_Choice_choice,
7845 NULL);
7847 return offset;
7851 static const per_sequence_t RANParameter_Definition_sequence[] = {
7852 { &hf_e2ap_ranParameter_Definition_Choice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Definition_Choice },
7853 { NULL, 0, 0, NULL }
7856 static int
7857 dissect_e2ap_RANParameter_Definition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7858 // RANParameter-Definition -> RANParameter-Definition-Choice -> RANParameter-Definition-Choice-LIST -> RANParameter-Definition-Choice-LIST/ranParameter-List -> RANParameter-Definition-Choice-LIST-Item -> RANParameter-Definition
7859 actx->pinfo->dissection_depth += 5;
7860 increment_dissection_depth(actx->pinfo);
7861 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7862 ett_e2ap_RANParameter_Definition, RANParameter_Definition_sequence);
7864 actx->pinfo->dissection_depth -= 5;
7865 decrement_dissection_depth(actx->pinfo);
7866 return offset;
7870 static const per_sequence_t RANParameter_ValueType_Choice_ElementTrue_sequence[] = {
7871 { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
7872 { NULL, 0, 0, NULL }
7875 static int
7876 dissect_e2ap_RANParameter_ValueType_Choice_ElementTrue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7877 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7878 ett_e2ap_RANParameter_ValueType_Choice_ElementTrue, RANParameter_ValueType_Choice_ElementTrue_sequence);
7880 return offset;
7884 static const per_sequence_t RANParameter_ValueType_Choice_ElementFalse_sequence[] = {
7885 { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Value },
7886 { NULL, 0, 0, NULL }
7889 static int
7890 dissect_e2ap_RANParameter_ValueType_Choice_ElementFalse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7891 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7892 ett_e2ap_RANParameter_ValueType_Choice_ElementFalse, RANParameter_ValueType_Choice_ElementFalse_sequence);
7894 return offset;
7898 static const per_sequence_t RANParameter_STRUCTURE_Item_sequence[] = {
7899 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
7900 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
7901 { NULL, 0, 0, NULL }
7904 static int
7905 dissect_e2ap_RANParameter_STRUCTURE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7906 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7907 ett_e2ap_RANParameter_STRUCTURE_Item, RANParameter_STRUCTURE_Item_sequence);
7909 return offset;
7913 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item_sequence_of[1] = {
7914 { &hf_e2ap_sequence_of_ranParameters_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE_Item },
7917 static int
7918 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7919 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7920 ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item, SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item_sequence_of,
7921 1, maxnoofParametersinStructure, false);
7923 return offset;
7927 static const per_sequence_t RANParameter_STRUCTURE_sequence[] = {
7928 { &hf_e2ap_sequence_of_ranParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item },
7929 { NULL, 0, 0, NULL }
7932 static int
7933 dissect_e2ap_RANParameter_STRUCTURE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7934 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7935 ett_e2ap_RANParameter_STRUCTURE, RANParameter_STRUCTURE_sequence);
7937 return offset;
7941 static const per_sequence_t RANParameter_ValueType_Choice_Structure_sequence[] = {
7942 { &hf_e2ap_ranParameter_Structure, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE },
7943 { NULL, 0, 0, NULL }
7946 static int
7947 dissect_e2ap_RANParameter_ValueType_Choice_Structure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7948 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7949 ett_e2ap_RANParameter_ValueType_Choice_Structure, RANParameter_ValueType_Choice_Structure_sequence);
7951 return offset;
7955 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE_sequence_of[1] = {
7956 { &hf_e2ap_list_of_ranParameter_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_STRUCTURE },
7959 static int
7960 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7961 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7962 ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE, SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE_sequence_of,
7963 1, maxnoofItemsinList, false);
7965 return offset;
7969 static const per_sequence_t RANParameter_LIST_sequence[] = {
7970 { &hf_e2ap_list_of_ranParameter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE },
7971 { NULL, 0, 0, NULL }
7974 static int
7975 dissect_e2ap_RANParameter_LIST(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7976 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7977 ett_e2ap_RANParameter_LIST, RANParameter_LIST_sequence);
7979 return offset;
7983 static const per_sequence_t RANParameter_ValueType_Choice_List_sequence[] = {
7984 { &hf_e2ap_ranParameter_List_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_LIST },
7985 { NULL, 0, 0, NULL }
7988 static int
7989 dissect_e2ap_RANParameter_ValueType_Choice_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7990 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7991 ett_e2ap_RANParameter_ValueType_Choice_List, RANParameter_ValueType_Choice_List_sequence);
7993 return offset;
7997 static const value_string e2ap_RANParameter_ValueType_vals[] = {
7998 { 0, "ranP-Choice-ElementTrue" },
7999 { 1, "ranP-Choice-ElementFalse" },
8000 { 2, "ranP-Choice-Structure" },
8001 { 3, "ranP-Choice-List" },
8002 { 0, NULL }
8005 static const per_choice_t RANParameter_ValueType_choice[] = {
8006 { 0, &hf_e2ap_ranP_Choice_ElementTrue, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_ValueType_Choice_ElementTrue },
8007 { 1, &hf_e2ap_ranP_Choice_ElementFalse, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_ValueType_Choice_ElementFalse },
8008 { 2, &hf_e2ap_ranP_Choice_Structure, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_ValueType_Choice_Structure },
8009 { 3, &hf_e2ap_ranP_Choice_List, ASN1_EXTENSION_ROOT , dissect_e2ap_RANParameter_ValueType_Choice_List },
8010 { 0, NULL, 0, NULL }
8013 static int
8014 dissect_e2ap_RANParameter_ValueType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8015 // RANParameter-ValueType -> RANParameter-ValueType-Choice-Structure -> RANParameter-STRUCTURE -> RANParameter-STRUCTURE/sequence-of-ranParameters -> RANParameter-STRUCTURE-Item -> RANParameter-ValueType
8016 actx->pinfo->dissection_depth += 5;
8017 increment_dissection_depth(actx->pinfo);
8018 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8019 ett_e2ap_RANParameter_ValueType, RANParameter_ValueType_choice,
8020 NULL);
8022 actx->pinfo->dissection_depth -= 5;
8023 decrement_dissection_depth(actx->pinfo);
8024 return offset;
8029 static int
8030 dissect_e2ap_RAN_CallProcess_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8031 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8032 1U, 232U, NULL, true);
8034 return offset;
8039 static int
8040 dissect_e2ap_RIC_CallProcessType_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8041 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8042 1U, 65535U, NULL, true);
8044 return offset;
8049 static int
8050 dissect_e2ap_RIC_CallProcessType_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8051 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8052 1, 150, true,
8053 NULL);
8055 return offset;
8060 static int
8061 dissect_e2ap_RIC_CallProcessBreakpoint_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8062 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8063 1U, 65535U, NULL, true);
8065 return offset;
8070 static int
8071 dissect_e2ap_RIC_CallProcessBreakpoint_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8072 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8073 1, 150, true,
8074 NULL);
8076 return offset;
8081 static int
8082 dissect_e2ap_RIC_ControlAction_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8083 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8084 1U, 65535U, NULL, true);
8086 return offset;
8091 static int
8092 dissect_e2ap_RIC_ControlAction_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8093 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8094 1, 150, true,
8095 NULL);
8097 return offset;
8102 static int
8103 dissect_e2ap_RIC_EventTriggerCondition_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8104 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8105 1U, 65535U, NULL, true);
8107 return offset;
8112 static int
8113 dissect_e2ap_RIC_InsertIndication_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8114 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8115 1U, 65535U, NULL, true);
8117 return offset;
8122 static int
8123 dissect_e2ap_RIC_InsertIndication_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8124 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
8125 1, 150, true,
8126 NULL);
8128 return offset;
8132 static const per_sequence_t RIC_PolicyAction_RANParameter_Item_sequence[] = {
8133 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8134 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
8135 { NULL, 0, 0, NULL }
8138 static int
8139 dissect_e2ap_RIC_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8140 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8141 ett_e2ap_RIC_PolicyAction_RANParameter_Item, RIC_PolicyAction_RANParameter_Item_sequence);
8143 return offset;
8147 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item_sequence_of[1] = {
8148 { &hf_e2ap_ranParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyAction_RANParameter_Item },
8151 static int
8152 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8153 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8154 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item_sequence_of,
8155 1, maxnoofAssociatedRANParameters, false);
8157 return offset;
8161 static const value_string e2ap_T_ric_PolicyDecision_vals[] = {
8162 { 0, "accept" },
8163 { 1, "reject" },
8164 { 0, NULL }
8168 static int
8169 dissect_e2ap_T_ric_PolicyDecision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8170 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8171 2, NULL, true, 0, NULL);
8173 return offset;
8177 static const per_sequence_t RIC_PolicyAction_sequence[] = {
8178 { &hf_e2ap_ric_PolicyAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
8179 { &hf_e2ap_ranParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item },
8180 { &hf_e2ap_ric_PolicyDecision, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_T_ric_PolicyDecision },
8181 { NULL, 0, 0, NULL }
8184 static int
8185 dissect_e2ap_RIC_PolicyAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8186 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8187 ett_e2ap_RIC_PolicyAction, RIC_PolicyAction_sequence);
8189 return offset;
8193 static const per_sequence_t MessageType_Choice_NI_sequence[] = {
8194 { &hf_e2ap_nI_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_InterfaceType },
8195 { &hf_e2ap_nI_Identifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_InterfaceIdentifier },
8196 { &hf_e2ap_nI_Message , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_Interface_MessageID },
8197 { NULL, 0, 0, NULL }
8200 static int
8201 dissect_e2ap_MessageType_Choice_NI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8202 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8203 ett_e2ap_MessageType_Choice_NI, MessageType_Choice_NI_sequence);
8205 return offset;
8209 static const per_sequence_t MessageType_Choice_RRC_sequence[] = {
8210 { &hf_e2ap_rRC_Message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RRC_MessageID },
8211 { NULL, 0, 0, NULL }
8214 static int
8215 dissect_e2ap_MessageType_Choice_RRC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8216 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8217 ett_e2ap_MessageType_Choice_RRC, MessageType_Choice_RRC_sequence);
8219 return offset;
8223 static const value_string e2ap_MessageType_Choice_vals[] = {
8224 { 0, "messageType-Choice-NI" },
8225 { 1, "messageType-Choice-RRC" },
8226 { 0, NULL }
8229 static const per_choice_t MessageType_Choice_choice[] = {
8230 { 0, &hf_e2ap_messageType_Choice_NI, ASN1_EXTENSION_ROOT , dissect_e2ap_MessageType_Choice_NI },
8231 { 1, &hf_e2ap_messageType_Choice_RRC, ASN1_EXTENSION_ROOT , dissect_e2ap_MessageType_Choice_RRC },
8232 { 0, NULL, 0, NULL }
8235 static int
8236 dissect_e2ap_MessageType_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8237 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8238 ett_e2ap_MessageType_Choice, MessageType_Choice_choice,
8239 NULL);
8241 return offset;
8245 static const value_string e2ap_T_messageDirection_vals[] = {
8246 { 0, "incoming" },
8247 { 1, "outgoing" },
8248 { 0, NULL }
8252 static int
8253 dissect_e2ap_T_messageDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8254 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8255 2, NULL, true, 0, NULL);
8257 return offset;
8261 static const per_sequence_t E2SM_RC_EventTrigger_Format1_Item_sequence[] = {
8262 { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8263 { &hf_e2ap_messageType_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MessageType_Choice },
8264 { &hf_e2ap_messageDirection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_messageDirection },
8265 { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UE_Info },
8266 { &hf_e2ap_associatedUEEvent, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UEevent_Info },
8267 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
8268 { NULL, 0, 0, NULL }
8271 static int
8272 dissect_e2ap_E2SM_RC_EventTrigger_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8273 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8274 ett_e2ap_E2SM_RC_EventTrigger_Format1_Item, E2SM_RC_EventTrigger_Format1_Item_sequence);
8276 return offset;
8280 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item_sequence_of[1] = {
8281 { &hf_e2ap_message_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format1_Item },
8284 static int
8285 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8286 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8287 ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item, SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item_sequence_of,
8288 1, maxnoofMessages, false);
8290 return offset;
8294 static const per_sequence_t E2SM_RC_EventTrigger_Format1_sequence[] = {
8295 { &hf_e2ap_message_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item },
8296 { &hf_e2ap_globalAssociatedUEInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UE_Info },
8297 { NULL, 0, 0, NULL }
8300 static int
8301 dissect_e2ap_E2SM_RC_EventTrigger_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8302 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8303 ett_e2ap_E2SM_RC_EventTrigger_Format1, E2SM_RC_EventTrigger_Format1_sequence);
8305 return offset;
8309 static const per_sequence_t E2SM_RC_EventTrigger_Format2_sequence[] = {
8310 { &hf_e2ap_ric_callProcessType_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_ID },
8311 { &hf_e2ap_ric_callProcessBreakpoint_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_ID },
8312 { &hf_e2ap_associatedE2NodeInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Testing },
8313 { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UE_Info },
8314 { NULL, 0, 0, NULL }
8317 static int
8318 dissect_e2ap_E2SM_RC_EventTrigger_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8319 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8320 ett_e2ap_E2SM_RC_EventTrigger_Format2, E2SM_RC_EventTrigger_Format2_sequence);
8322 return offset;
8327 static int
8328 dissect_e2ap_INTEGER_1_512_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8329 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8330 1U, 512U, NULL, true);
8332 return offset;
8336 static const per_sequence_t E2SM_RC_EventTrigger_Format3_Item_sequence[] = {
8337 { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8338 { &hf_e2ap_e2NodeInfoChange_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_512_ },
8339 { &hf_e2ap_associatedCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_Cell_Info },
8340 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
8341 { NULL, 0, 0, NULL }
8344 static int
8345 dissect_e2ap_E2SM_RC_EventTrigger_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8346 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8347 ett_e2ap_E2SM_RC_EventTrigger_Format3_Item, E2SM_RC_EventTrigger_Format3_Item_sequence);
8349 return offset;
8353 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item_sequence_of[1] = {
8354 { &hf_e2ap_e2NodeInfoChange_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format3_Item },
8357 static int
8358 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8359 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8360 ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item, SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item_sequence_of,
8361 1, maxnoofE2InfoChanges, false);
8363 return offset;
8367 static const per_sequence_t E2SM_RC_EventTrigger_Format3_sequence[] = {
8368 { &hf_e2ap_e2NodeInfoChange_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item },
8369 { NULL, 0, 0, NULL }
8372 static int
8373 dissect_e2ap_E2SM_RC_EventTrigger_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8374 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8375 ett_e2ap_E2SM_RC_EventTrigger_Format3, E2SM_RC_EventTrigger_Format3_sequence);
8377 return offset;
8381 static const per_sequence_t TriggerType_Choice_RRCstate_Item_sequence[] = {
8382 { &hf_e2ap_stateChangedTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RRC_State },
8383 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
8384 { NULL, 0, 0, NULL }
8387 static int
8388 dissect_e2ap_TriggerType_Choice_RRCstate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8389 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8390 ett_e2ap_TriggerType_Choice_RRCstate_Item, TriggerType_Choice_RRCstate_Item_sequence);
8392 return offset;
8396 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item_sequence_of[1] = {
8397 { &hf_e2ap_rrcState_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_TriggerType_Choice_RRCstate_Item },
8400 static int
8401 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8402 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8403 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item, SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item_sequence_of,
8404 1, maxnoofRRCstate, false);
8406 return offset;
8410 static const per_sequence_t TriggerType_Choice_RRCstate_sequence[] = {
8411 { &hf_e2ap_rrcState_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item },
8412 { NULL, 0, 0, NULL }
8415 static int
8416 dissect_e2ap_TriggerType_Choice_RRCstate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8417 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8418 ett_e2ap_TriggerType_Choice_RRCstate, TriggerType_Choice_RRCstate_sequence);
8420 return offset;
8424 static const per_sequence_t TriggerType_Choice_UEID_sequence[] = {
8425 { &hf_e2ap_ueIDchange_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_512_ },
8426 { NULL, 0, 0, NULL }
8429 static int
8430 dissect_e2ap_TriggerType_Choice_UEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8431 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8432 ett_e2ap_TriggerType_Choice_UEID, TriggerType_Choice_UEID_sequence);
8434 return offset;
8438 static const per_sequence_t TriggerType_Choice_L2state_sequence[] = {
8439 { &hf_e2ap_associatedL2variables, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Testing },
8440 { NULL, 0, 0, NULL }
8443 static int
8444 dissect_e2ap_TriggerType_Choice_L2state(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8445 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8446 ett_e2ap_TriggerType_Choice_L2state, TriggerType_Choice_L2state_sequence);
8448 return offset;
8452 static const value_string e2ap_TriggerType_Choice_vals[] = {
8453 { 0, "triggerType-Choice-RRCstate" },
8454 { 1, "triggerType-Choice-UEID" },
8455 { 2, "triggerType-Choice-L2state" },
8456 { 0, NULL }
8459 static const per_choice_t TriggerType_Choice_choice[] = {
8460 { 0, &hf_e2ap_triggerType_Choice_RRCstate, ASN1_EXTENSION_ROOT , dissect_e2ap_TriggerType_Choice_RRCstate },
8461 { 1, &hf_e2ap_triggerType_Choice_UEID, ASN1_EXTENSION_ROOT , dissect_e2ap_TriggerType_Choice_UEID },
8462 { 2, &hf_e2ap_triggerType_Choice_L2state, ASN1_EXTENSION_ROOT , dissect_e2ap_TriggerType_Choice_L2state },
8463 { 0, NULL, 0, NULL }
8466 static int
8467 dissect_e2ap_TriggerType_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8468 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8469 ett_e2ap_TriggerType_Choice, TriggerType_Choice_choice,
8470 NULL);
8472 return offset;
8476 static const per_sequence_t E2SM_RC_EventTrigger_Format4_Item_sequence[] = {
8477 { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerCondition_ID },
8478 { &hf_e2ap_triggerType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TriggerType_Choice },
8479 { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UE_Info },
8480 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
8481 { NULL, 0, 0, NULL }
8484 static int
8485 dissect_e2ap_E2SM_RC_EventTrigger_Format4_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8486 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8487 ett_e2ap_E2SM_RC_EventTrigger_Format4_Item, E2SM_RC_EventTrigger_Format4_Item_sequence);
8489 return offset;
8493 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item_sequence_of[1] = {
8494 { &hf_e2ap_uEInfoChange_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_EventTrigger_Format4_Item },
8497 static int
8498 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8499 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8500 ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item, SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item_sequence_of,
8501 1, maxnoofUEInfoChanges, false);
8503 return offset;
8507 static const per_sequence_t E2SM_RC_EventTrigger_Format4_sequence[] = {
8508 { &hf_e2ap_uEInfoChange_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item },
8509 { NULL, 0, 0, NULL }
8512 static int
8513 dissect_e2ap_E2SM_RC_EventTrigger_Format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8514 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8515 ett_e2ap_E2SM_RC_EventTrigger_Format4, E2SM_RC_EventTrigger_Format4_sequence);
8517 return offset;
8521 static const value_string e2ap_T_onDemand_vals[] = {
8522 { 0, "true" },
8523 { 0, NULL }
8527 static int
8528 dissect_e2ap_T_onDemand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8529 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8530 1, NULL, true, 0, NULL);
8532 return offset;
8536 static const per_sequence_t E2SM_RC_EventTrigger_Format5_sequence[] = {
8537 { &hf_e2ap_onDemand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_onDemand },
8538 { &hf_e2ap_associatedUEInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_UE_Info },
8539 { &hf_e2ap_associatedCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_EventTrigger_Cell_Info },
8540 { NULL, 0, 0, NULL }
8543 static int
8544 dissect_e2ap_E2SM_RC_EventTrigger_Format5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8545 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8546 ett_e2ap_E2SM_RC_EventTrigger_Format5, E2SM_RC_EventTrigger_Format5_sequence);
8548 return offset;
8552 static const value_string e2ap_T_ric_eventTrigger_formats_vals[] = {
8553 { 0, "eventTrigger-Format1" },
8554 { 1, "eventTrigger-Format2" },
8555 { 2, "eventTrigger-Format3" },
8556 { 3, "eventTrigger-Format4" },
8557 { 4, "eventTrigger-Format5" },
8558 { 0, NULL }
8561 static const per_choice_t T_ric_eventTrigger_formats_choice[] = {
8562 { 0, &hf_e2ap_eventTrigger_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_EventTrigger_Format1 },
8563 { 1, &hf_e2ap_eventTrigger_Format2, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_EventTrigger_Format2 },
8564 { 2, &hf_e2ap_eventTrigger_Format3, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_EventTrigger_Format3 },
8565 { 3, &hf_e2ap_eventTrigger_Format4, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_EventTrigger_Format4 },
8566 { 4, &hf_e2ap_eventTrigger_Format5, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_EventTrigger_Format5 },
8567 { 0, NULL, 0, NULL }
8570 static int
8571 dissect_e2ap_T_ric_eventTrigger_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8572 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8573 ett_e2ap_T_ric_eventTrigger_formats, T_ric_eventTrigger_formats_choice,
8574 NULL);
8576 return offset;
8580 static const per_sequence_t E2SM_RC_EventTrigger_sequence[] = {
8581 { &hf_e2ap_ric_eventTrigger_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_eventTrigger_formats },
8582 { NULL, 0, 0, NULL }
8585 static int
8586 dissect_e2ap_E2SM_RC_EventTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8587 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8588 ett_e2ap_E2SM_RC_EventTrigger, E2SM_RC_EventTrigger_sequence);
8590 return offset;
8594 static const per_sequence_t E2SM_RC_ActionDefinition_Format1_Item_sequence[] = {
8595 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8596 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
8597 { NULL, 0, 0, NULL }
8600 static int
8601 dissect_e2ap_E2SM_RC_ActionDefinition_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8602 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8603 ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item, E2SM_RC_ActionDefinition_Format1_Item_sequence);
8605 return offset;
8609 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item_sequence_of[1] = {
8610 { &hf_e2ap_ranP_ToBeReported_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format1_Item },
8613 static int
8614 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8615 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8616 ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item, SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item_sequence_of,
8617 1, maxnoofParametersToReport, false);
8619 return offset;
8623 static const per_sequence_t E2SM_RC_ActionDefinition_Format1_sequence[] = {
8624 { &hf_e2ap_ranP_ToBeReported_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item },
8625 { NULL, 0, 0, NULL }
8628 static int
8629 dissect_e2ap_E2SM_RC_ActionDefinition_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8630 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8631 ett_e2ap_E2SM_RC_ActionDefinition_Format1, E2SM_RC_ActionDefinition_Format1_sequence);
8633 return offset;
8637 static const per_sequence_t E2SM_RC_ActionDefinition_Format2_Item_sequence[] = {
8638 { &hf_e2ap_ric_PolicyAction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyAction },
8639 { &hf_e2ap_ric_PolicyConditionDefinition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANParameter_Testing },
8640 { NULL, 0, 0, NULL }
8643 static int
8644 dissect_e2ap_E2SM_RC_ActionDefinition_Format2_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8645 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8646 ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item, E2SM_RC_ActionDefinition_Format2_Item_sequence);
8648 return offset;
8652 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item_sequence_of[1] = {
8653 { &hf_e2ap_ric_PolicyConditions_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format2_Item },
8656 static int
8657 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8658 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8659 ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item, SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item_sequence_of,
8660 1, maxnoofPolicyConditions, false);
8662 return offset;
8666 static const per_sequence_t E2SM_RC_ActionDefinition_Format2_sequence[] = {
8667 { &hf_e2ap_ric_PolicyConditions_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item },
8668 { NULL, 0, 0, NULL }
8671 static int
8672 dissect_e2ap_E2SM_RC_ActionDefinition_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8673 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8674 ett_e2ap_E2SM_RC_ActionDefinition_Format2, E2SM_RC_ActionDefinition_Format2_sequence);
8676 return offset;
8680 static const per_sequence_t E2SM_RC_ActionDefinition_Format3_Item_sequence[] = {
8681 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8682 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
8683 { NULL, 0, 0, NULL }
8686 static int
8687 dissect_e2ap_E2SM_RC_ActionDefinition_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8688 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8689 ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item, E2SM_RC_ActionDefinition_Format3_Item_sequence);
8691 return offset;
8695 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item_sequence_of[1] = {
8696 { &hf_e2ap_ranP_InsertIndication_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format3_Item },
8699 static int
8700 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8701 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8702 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item_sequence_of,
8703 1, maxnoofAssociatedRANParameters, false);
8705 return offset;
8709 static const per_sequence_t E2SM_RC_ActionDefinition_Format3_sequence[] = {
8710 { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8711 { &hf_e2ap_ranP_InsertIndication_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item },
8712 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID },
8713 { NULL, 0, 0, NULL }
8716 static int
8717 dissect_e2ap_E2SM_RC_ActionDefinition_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8718 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8719 ett_e2ap_E2SM_RC_ActionDefinition_Format3, E2SM_RC_ActionDefinition_Format3_sequence);
8721 return offset;
8725 static const per_sequence_t E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence[] = {
8726 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8727 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
8728 { NULL, 0, 0, NULL }
8731 static int
8732 dissect_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8733 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8734 ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item, E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence);
8736 return offset;
8740 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item_sequence_of[1] = {
8741 { &hf_e2ap_ranP_InsertIndication_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item },
8744 static int
8745 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8746 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8747 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,
8748 1, maxnoofAssociatedRANParameters, false);
8750 return offset;
8754 static const per_sequence_t E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence[] = {
8755 { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8756 { &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 },
8757 { NULL, 0, 0, NULL }
8760 static int
8761 dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8763 ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item, E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence);
8765 return offset;
8769 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item_sequence_of[1] = {
8770 { &hf_e2ap_ric_InsertIndication_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item },
8773 static int
8774 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8775 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8776 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,
8777 1, maxnoofInsertIndicationActions, false);
8779 return offset;
8783 static const per_sequence_t E2SM_RC_ActionDefinition_Format4_Style_Item_sequence[] = {
8784 { &hf_e2ap_requested_Insert_Style_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8785 { &hf_e2ap_ric_InsertIndication_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item },
8786 { NULL, 0, 0, NULL }
8789 static int
8790 dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8791 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8792 ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item, E2SM_RC_ActionDefinition_Format4_Style_Item_sequence);
8794 return offset;
8798 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item_sequence_of[1] = {
8799 { &hf_e2ap_ric_InsertStyle_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item },
8802 static int
8803 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8804 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8805 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,
8806 1, maxnoofRICStyles, false);
8808 return offset;
8812 static const per_sequence_t E2SM_RC_ActionDefinition_Format4_sequence[] = {
8813 { &hf_e2ap_ric_InsertStyle_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item },
8814 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID },
8815 { NULL, 0, 0, NULL }
8818 static int
8819 dissect_e2ap_E2SM_RC_ActionDefinition_Format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8820 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8821 ett_e2ap_E2SM_RC_ActionDefinition_Format4, E2SM_RC_ActionDefinition_Format4_sequence);
8823 return offset;
8827 static const value_string e2ap_T_ric_actionDefinition_formats_vals[] = {
8828 { 0, "actionDefinition-Format1" },
8829 { 1, "actionDefinition-Format2" },
8830 { 2, "actionDefinition-Format3" },
8831 { 3, "actionDefinition-Format4" },
8832 { 0, NULL }
8835 static const per_choice_t T_ric_actionDefinition_formats_choice[] = {
8836 { 0, &hf_e2ap_actionDefinition_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ActionDefinition_Format1 },
8837 { 1, &hf_e2ap_actionDefinition_Format2, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ActionDefinition_Format2 },
8838 { 2, &hf_e2ap_actionDefinition_Format3, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ActionDefinition_Format3 },
8839 { 3, &hf_e2ap_actionDefinition_Format4, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ActionDefinition_Format4 },
8840 { 0, NULL, 0, NULL }
8843 static int
8844 dissect_e2ap_T_ric_actionDefinition_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8845 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8846 ett_e2ap_T_ric_actionDefinition_formats, T_ric_actionDefinition_formats_choice,
8847 NULL);
8849 return offset;
8853 static const per_sequence_t E2SM_RC_ActionDefinition_sequence[] = {
8854 { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8855 { &hf_e2ap_ric_actionDefinition_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_actionDefinition_formats },
8856 { NULL, 0, 0, NULL }
8859 static int
8860 dissect_e2ap_E2SM_RC_ActionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8861 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8862 ett_e2ap_E2SM_RC_ActionDefinition, E2SM_RC_ActionDefinition_sequence);
8864 return offset;
8868 static const per_sequence_t E2SM_RC_IndicationHeader_Format1_sequence[] = {
8869 { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RIC_EventTriggerCondition_ID },
8870 { NULL, 0, 0, NULL }
8873 static int
8874 dissect_e2ap_E2SM_RC_IndicationHeader_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8876 ett_e2ap_E2SM_RC_IndicationHeader_Format1, E2SM_RC_IndicationHeader_Format1_sequence);
8878 return offset;
8882 static const per_sequence_t E2SM_RC_IndicationHeader_Format2_sequence[] = {
8883 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
8884 { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
8885 { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
8886 { NULL, 0, 0, NULL }
8889 static int
8890 dissect_e2ap_E2SM_RC_IndicationHeader_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8891 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8892 ett_e2ap_E2SM_RC_IndicationHeader_Format2, E2SM_RC_IndicationHeader_Format2_sequence);
8894 return offset;
8898 static const per_sequence_t E2SM_RC_IndicationHeader_Format3_sequence[] = {
8899 { &hf_e2ap_ric_eventTriggerCondition_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RIC_EventTriggerCondition_ID },
8900 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID },
8901 { NULL, 0, 0, NULL }
8904 static int
8905 dissect_e2ap_E2SM_RC_IndicationHeader_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8906 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8907 ett_e2ap_E2SM_RC_IndicationHeader_Format3, E2SM_RC_IndicationHeader_Format3_sequence);
8909 return offset;
8913 static const value_string e2ap_T_ric_indicationHeader_formats_vals[] = {
8914 { 0, "indicationHeader-Format1" },
8915 { 1, "indicationHeader-Format2" },
8916 { 2, "indicationHeader-Format3" },
8917 { 0, NULL }
8920 static const per_choice_t T_ric_indicationHeader_formats_choice[] = {
8921 { 0, &hf_e2ap_indicationHeader_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationHeader_Format1 },
8922 { 1, &hf_e2ap_indicationHeader_Format2, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationHeader_Format2 },
8923 { 2, &hf_e2ap_indicationHeader_Format3, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_IndicationHeader_Format3 },
8924 { 0, NULL, 0, NULL }
8927 static int
8928 dissect_e2ap_T_ric_indicationHeader_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8929 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8930 ett_e2ap_T_ric_indicationHeader_formats, T_ric_indicationHeader_formats_choice,
8931 NULL);
8933 return offset;
8937 static const per_sequence_t E2SM_RC_IndicationHeader_sequence[] = {
8938 { &hf_e2ap_ric_indicationHeader_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_indicationHeader_formats },
8939 { NULL, 0, 0, NULL }
8942 static int
8943 dissect_e2ap_E2SM_RC_IndicationHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8944 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8945 ett_e2ap_E2SM_RC_IndicationHeader, E2SM_RC_IndicationHeader_sequence);
8947 return offset;
8951 static const per_sequence_t E2SM_RC_IndicationMessage_Format1_Item_sequence[] = {
8952 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8953 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
8954 { NULL, 0, 0, NULL }
8957 static int
8958 dissect_e2ap_E2SM_RC_IndicationMessage_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8959 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8960 ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item, E2SM_RC_IndicationMessage_Format1_Item_sequence);
8962 return offset;
8966 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item_sequence_of[1] = {
8967 { &hf_e2ap_ranP_Reported_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format1_Item },
8970 static int
8971 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8972 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8973 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item_sequence_of,
8974 1, maxnoofAssociatedRANParameters, false);
8976 return offset;
8980 static const per_sequence_t E2SM_RC_IndicationMessage_Format1_sequence[] = {
8981 { &hf_e2ap_ranP_Reported_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item },
8982 { NULL, 0, 0, NULL }
8985 static int
8986 dissect_e2ap_E2SM_RC_IndicationMessage_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8987 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8988 ett_e2ap_E2SM_RC_IndicationMessage_Format1, E2SM_RC_IndicationMessage_Format1_sequence);
8990 return offset;
8994 static const per_sequence_t E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence[] = {
8995 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
8996 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
8997 { NULL, 0, 0, NULL }
9000 static int
9001 dissect_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9002 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9003 ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item, E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence);
9005 return offset;
9009 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_sequence_of[1] = {
9010 { &hf_e2ap_ranP_List_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item },
9013 static int
9014 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9015 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9016 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,
9017 1, maxnoofAssociatedRANParameters, false);
9019 return offset;
9023 static const per_sequence_t E2SM_RC_IndicationMessage_Format2_Item_sequence[] = {
9024 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9025 { &hf_e2ap_ranP_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item },
9026 { NULL, 0, 0, NULL }
9029 static int
9030 dissect_e2ap_E2SM_RC_IndicationMessage_Format2_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9031 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9032 ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item, E2SM_RC_IndicationMessage_Format2_Item_sequence);
9034 return offset;
9038 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item_sequence_of[1] = {
9039 { &hf_e2ap_ueParameter_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format2_Item },
9042 static int
9043 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9044 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9045 ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item, SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item_sequence_of,
9046 1, maxnoofUEID, false);
9048 return offset;
9052 static const per_sequence_t E2SM_RC_IndicationMessage_Format2_sequence[] = {
9053 { &hf_e2ap_ueParameter_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item },
9054 { NULL, 0, 0, NULL }
9057 static int
9058 dissect_e2ap_E2SM_RC_IndicationMessage_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9059 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9060 ett_e2ap_E2SM_RC_IndicationMessage_Format2, E2SM_RC_IndicationMessage_Format2_sequence);
9062 return offset;
9066 static const per_sequence_t E2SM_RC_IndicationMessage_Format3_Item_sequence[] = {
9067 { &hf_e2ap_cellGlobal_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9068 { &hf_e2ap_cellContextInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_OCTET_STRING },
9069 { &hf_e2ap_cellDeleted , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_BOOLEAN },
9070 { &hf_e2ap_neighborRelation_Table, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NeighborRelation_Info },
9071 { NULL, 0, 0, NULL }
9074 static int
9075 dissect_e2ap_E2SM_RC_IndicationMessage_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9076 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9077 ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item, E2SM_RC_IndicationMessage_Format3_Item_sequence);
9079 return offset;
9083 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item_sequence_of[1] = {
9084 { &hf_e2ap_cellInfo_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format3_Item },
9087 static int
9088 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9089 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9090 ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item, SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item_sequence_of,
9091 1, maxnoofCellID, false);
9093 return offset;
9097 static const per_sequence_t E2SM_RC_IndicationMessage_Format3_sequence[] = {
9098 { &hf_e2ap_cellInfo_List_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item },
9099 { NULL, 0, 0, NULL }
9102 static int
9103 dissect_e2ap_E2SM_RC_IndicationMessage_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9104 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9105 ett_e2ap_E2SM_RC_IndicationMessage_Format3, E2SM_RC_IndicationMessage_Format3_sequence);
9107 return offset;
9111 static const per_sequence_t E2SM_RC_IndicationMessage_Format4_ItemUE_sequence[] = {
9112 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9113 { &hf_e2ap_ueContextInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_OCTET_STRING },
9114 { &hf_e2ap_cellGlobal_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9115 { NULL, 0, 0, NULL }
9118 static int
9119 dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9120 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9121 ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE, E2SM_RC_IndicationMessage_Format4_ItemUE_sequence);
9123 return offset;
9127 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE_sequence_of[1] = {
9128 { &hf_e2ap_ueInfo_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE },
9131 static int
9132 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9133 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9134 ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE, SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE_sequence_of,
9135 0, maxnoofUEID, false);
9137 return offset;
9141 static const per_sequence_t E2SM_RC_IndicationMessage_Format4_ItemCell_sequence[] = {
9142 { &hf_e2ap_cellGlobal_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_CGI },
9143 { &hf_e2ap_cellContextInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_OCTET_STRING },
9144 { &hf_e2ap_neighborRelation_Table, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NeighborRelation_Info },
9145 { NULL, 0, 0, NULL }
9148 static int
9149 dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9150 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9151 ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell, E2SM_RC_IndicationMessage_Format4_ItemCell_sequence);
9153 return offset;
9157 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell_sequence_of[1] = {
9158 { &hf_e2ap_cellInfo_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell },
9161 static int
9162 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9163 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9164 ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell, SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell_sequence_of,
9165 0, maxnoofCellID, false);
9167 return offset;
9171 static const per_sequence_t E2SM_RC_IndicationMessage_Format4_sequence[] = {
9172 { &hf_e2ap_ueInfo_List_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE },
9173 { &hf_e2ap_cellInfo_List_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell },
9174 { NULL, 0, 0, NULL }
9177 static int
9178 dissect_e2ap_E2SM_RC_IndicationMessage_Format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9179 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9180 ett_e2ap_E2SM_RC_IndicationMessage_Format4, E2SM_RC_IndicationMessage_Format4_sequence);
9182 return offset;
9186 static const per_sequence_t E2SM_RC_IndicationMessage_Format5_Item_sequence[] = {
9187 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9188 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9189 { NULL, 0, 0, NULL }
9192 static int
9193 dissect_e2ap_E2SM_RC_IndicationMessage_Format5_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9194 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9195 ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item, E2SM_RC_IndicationMessage_Format5_Item_sequence);
9197 return offset;
9201 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item_sequence_of[1] = {
9202 { &hf_e2ap_ranP_Requested_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format5_Item },
9205 static int
9206 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9207 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9208 ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item, SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item_sequence_of,
9209 0, maxnoofAssociatedRANParameters, false);
9211 return offset;
9215 static const per_sequence_t E2SM_RC_IndicationMessage_Format5_sequence[] = {
9216 { &hf_e2ap_ranP_Requested_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item },
9217 { NULL, 0, 0, NULL }
9220 static int
9221 dissect_e2ap_E2SM_RC_IndicationMessage_Format5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9222 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9223 ett_e2ap_E2SM_RC_IndicationMessage_Format5, E2SM_RC_IndicationMessage_Format5_sequence);
9225 return offset;
9229 static const per_sequence_t E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence[] = {
9230 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9231 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9232 { NULL, 0, 0, NULL }
9235 static int
9236 dissect_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9237 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9238 ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item, E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence);
9240 return offset;
9244 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item_sequence_of[1] = {
9245 { &hf_e2ap_ranP_InsertIndication_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item },
9248 static int
9249 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9250 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9251 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,
9252 0, maxnoofAssociatedRANParameters, false);
9254 return offset;
9258 static const per_sequence_t E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence[] = {
9259 { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
9260 { &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 },
9261 { NULL, 0, 0, NULL }
9264 static int
9265 dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9267 ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item, E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence);
9269 return offset;
9273 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item_sequence_of[1] = {
9274 { &hf_e2ap_ric_InsertIndication_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item },
9277 static int
9278 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9279 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9280 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,
9281 1, maxnoofInsertIndicationActions, false);
9283 return offset;
9287 static const per_sequence_t E2SM_RC_IndicationMessage_Format6_Style_Item_sequence[] = {
9288 { &hf_e2ap_indicated_Insert_Style_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9289 { &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 },
9290 { NULL, 0, 0, NULL }
9293 static int
9294 dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9295 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9296 ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item, E2SM_RC_IndicationMessage_Format6_Style_Item_sequence);
9298 return offset;
9302 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item_sequence_of[1] = {
9303 { &hf_e2ap_ric_InsertStyle_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item },
9306 static int
9307 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9308 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9309 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,
9310 1, maxnoofRICStyles, false);
9312 return offset;
9316 static const per_sequence_t E2SM_RC_IndicationMessage_Format6_sequence[] = {
9317 { &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 },
9318 { NULL, 0, 0, NULL }
9321 static int
9322 dissect_e2ap_E2SM_RC_IndicationMessage_Format6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9323 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9324 ett_e2ap_E2SM_RC_IndicationMessage_Format6, E2SM_RC_IndicationMessage_Format6_sequence);
9326 return offset;
9330 static const value_string e2ap_T_ric_indicationMessage_formats_vals[] = {
9331 { 0, "indicationMessage-Format1" },
9332 { 1, "indicationMessage-Format2" },
9333 { 2, "indicationMessage-Format3" },
9334 { 3, "indicationMessage-Format4" },
9335 { 4, "indicationMessage-Format5" },
9336 { 5, "indicationMessage-Format6" },
9337 { 0, NULL }
9340 static const per_choice_t T_ric_indicationMessage_formats_choice[] = {
9341 { 0, &hf_e2ap_indicationMessage_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationMessage_Format1 },
9342 { 1, &hf_e2ap_indicationMessage_Format2, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationMessage_Format2 },
9343 { 2, &hf_e2ap_indicationMessage_Format3, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationMessage_Format3 },
9344 { 3, &hf_e2ap_indicationMessage_Format4, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationMessage_Format4 },
9345 { 4, &hf_e2ap_indicationMessage_Format5, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_IndicationMessage_Format5 },
9346 { 5, &hf_e2ap_indicationMessage_Format6, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_IndicationMessage_Format6 },
9347 { 0, NULL, 0, NULL }
9350 static int
9351 dissect_e2ap_T_ric_indicationMessage_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9352 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9353 ett_e2ap_T_ric_indicationMessage_formats, T_ric_indicationMessage_formats_choice,
9354 NULL);
9356 return offset;
9360 static const per_sequence_t E2SM_RC_IndicationMessage_sequence[] = {
9361 { &hf_e2ap_ric_indicationMessage_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_indicationMessage_formats },
9362 { NULL, 0, 0, NULL }
9365 static int
9366 dissect_e2ap_E2SM_RC_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9367 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9368 ett_e2ap_E2SM_RC_IndicationMessage, E2SM_RC_IndicationMessage_sequence);
9370 return offset;
9374 static const per_sequence_t E2SM_RC_CallProcessID_Format1_sequence[] = {
9375 { &hf_e2ap_ric_callProcess_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RAN_CallProcess_ID },
9376 { NULL, 0, 0, NULL }
9379 static int
9380 dissect_e2ap_E2SM_RC_CallProcessID_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9381 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9382 ett_e2ap_E2SM_RC_CallProcessID_Format1, E2SM_RC_CallProcessID_Format1_sequence);
9384 return offset;
9388 static const value_string e2ap_T_ric_callProcessID_formats_vals[] = {
9389 { 0, "callProcessID-Format1" },
9390 { 0, NULL }
9393 static const per_choice_t T_ric_callProcessID_formats_choice[] = {
9394 { 0, &hf_e2ap_callProcessID_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_CallProcessID_Format1 },
9395 { 0, NULL, 0, NULL }
9398 static int
9399 dissect_e2ap_T_ric_callProcessID_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9400 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9401 ett_e2ap_T_ric_callProcessID_formats, T_ric_callProcessID_formats_choice,
9402 NULL);
9404 return offset;
9408 static const per_sequence_t E2SM_RC_CallProcessID_sequence[] = {
9409 { &hf_e2ap_ric_callProcessID_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_callProcessID_formats },
9410 { NULL, 0, 0, NULL }
9413 static int
9414 dissect_e2ap_E2SM_RC_CallProcessID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9415 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9416 ett_e2ap_E2SM_RC_CallProcessID, E2SM_RC_CallProcessID_sequence);
9418 return offset;
9422 static const value_string e2ap_T_ric_ControlDecision_vals[] = {
9423 { 0, "accept" },
9424 { 1, "reject" },
9425 { 0, NULL }
9429 static int
9430 dissect_e2ap_T_ric_ControlDecision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9431 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9432 2, NULL, true, 0, NULL);
9434 return offset;
9438 static const per_sequence_t E2SM_RC_ControlHeader_Format1_sequence[] = {
9439 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
9440 { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9441 { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9442 { &hf_e2ap_ric_ControlDecision, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_ric_ControlDecision },
9443 { NULL, 0, 0, NULL }
9446 static int
9447 dissect_e2ap_E2SM_RC_ControlHeader_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9448 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9449 ett_e2ap_E2SM_RC_ControlHeader_Format1, E2SM_RC_ControlHeader_Format1_sequence);
9451 return offset;
9455 static const value_string e2ap_T_ric_ControlDecision_01_vals[] = {
9456 { 0, "accept" },
9457 { 1, "reject" },
9458 { 0, NULL }
9462 static int
9463 dissect_e2ap_T_ric_ControlDecision_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9464 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9465 2, NULL, true, 0, NULL);
9467 return offset;
9471 static const per_sequence_t E2SM_RC_ControlHeader_Format2_sequence[] = {
9472 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_UEID },
9473 { &hf_e2ap_ric_ControlDecision_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_ric_ControlDecision_01 },
9474 { NULL, 0, 0, NULL }
9477 static int
9478 dissect_e2ap_E2SM_RC_ControlHeader_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9479 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9480 ett_e2ap_E2SM_RC_ControlHeader_Format2, E2SM_RC_ControlHeader_Format2_sequence);
9482 return offset;
9486 static const value_string e2ap_T_ric_controlHeader_formats_vals[] = {
9487 { 0, "controlHeader-Format1" },
9488 { 1, "controlHeader-Format2" },
9489 { 0, NULL }
9492 static const per_choice_t T_ric_controlHeader_formats_choice[] = {
9493 { 0, &hf_e2ap_controlHeader_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ControlHeader_Format1 },
9494 { 1, &hf_e2ap_controlHeader_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlHeader_Format2 },
9495 { 0, NULL, 0, NULL }
9498 static int
9499 dissect_e2ap_T_ric_controlHeader_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9500 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9501 ett_e2ap_T_ric_controlHeader_formats, T_ric_controlHeader_formats_choice,
9502 NULL);
9504 return offset;
9508 static const per_sequence_t E2SM_RC_ControlHeader_sequence[] = {
9509 { &hf_e2ap_ric_controlHeader_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlHeader_formats },
9510 { NULL, 0, 0, NULL }
9513 static int
9514 dissect_e2ap_E2SM_RC_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9515 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9516 ett_e2ap_E2SM_RC_ControlHeader, E2SM_RC_ControlHeader_sequence);
9518 return offset;
9522 static const per_sequence_t E2SM_RC_ControlMessage_Format1_Item_sequence[] = {
9523 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9524 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9525 { NULL, 0, 0, NULL }
9528 static int
9529 dissect_e2ap_E2SM_RC_ControlMessage_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9530 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9531 ett_e2ap_E2SM_RC_ControlMessage_Format1_Item, E2SM_RC_ControlMessage_Format1_Item_sequence);
9533 return offset;
9537 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item_sequence_of[1] = {
9538 { &hf_e2ap_ranP_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format1_Item },
9541 static int
9542 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9543 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9544 ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item, SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item_sequence_of,
9545 0, maxnoofAssociatedRANParameters, false);
9547 return offset;
9551 static const per_sequence_t E2SM_RC_ControlMessage_Format1_sequence[] = {
9552 { &hf_e2ap_ranP_List_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item },
9553 { NULL, 0, 0, NULL }
9556 static int
9557 dissect_e2ap_E2SM_RC_ControlMessage_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9558 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9559 ett_e2ap_E2SM_RC_ControlMessage_Format1, E2SM_RC_ControlMessage_Format1_sequence);
9561 return offset;
9565 static const per_sequence_t E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence[] = {
9566 { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9567 { &hf_e2ap_ranP_List_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format1 },
9568 { NULL, 0, 0, NULL }
9571 static int
9572 dissect_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9573 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9574 ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item, E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence);
9576 return offset;
9580 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item_sequence_of[1] = {
9581 { &hf_e2ap_ric_ControlAction_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item },
9584 static int
9585 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9586 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9587 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,
9588 1, maxnoofMulCtrlActions, false);
9590 return offset;
9594 static const per_sequence_t E2SM_RC_ControlMessage_Format2_Style_Item_sequence[] = {
9595 { &hf_e2ap_indicated_Control_Style_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9596 { &hf_e2ap_ric_ControlAction_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item },
9597 { NULL, 0, 0, NULL }
9600 static int
9601 dissect_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9602 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9603 ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item, E2SM_RC_ControlMessage_Format2_Style_Item_sequence);
9605 return offset;
9609 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item_sequence_of[1] = {
9610 { &hf_e2ap_ric_ControlStyle_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item },
9613 static int
9614 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9615 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9616 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,
9617 1, maxnoofRICStyles, false);
9619 return offset;
9623 static const per_sequence_t E2SM_RC_ControlMessage_Format2_sequence[] = {
9624 { &hf_e2ap_ric_ControlStyle_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item },
9625 { NULL, 0, 0, NULL }
9628 static int
9629 dissect_e2ap_E2SM_RC_ControlMessage_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9630 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9631 ett_e2ap_E2SM_RC_ControlMessage_Format2, E2SM_RC_ControlMessage_Format2_sequence);
9633 return offset;
9637 static const value_string e2ap_T_ric_controlMessage_formats_vals[] = {
9638 { 0, "controlMessage-Format1" },
9639 { 1, "controlMessage-Format2" },
9640 { 0, NULL }
9643 static const per_choice_t T_ric_controlMessage_formats_choice[] = {
9644 { 0, &hf_e2ap_controlMessage_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ControlMessage_Format1 },
9645 { 1, &hf_e2ap_controlMessage_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlMessage_Format2 },
9646 { 0, NULL, 0, NULL }
9649 static int
9650 dissect_e2ap_T_ric_controlMessage_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9651 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9652 ett_e2ap_T_ric_controlMessage_formats, T_ric_controlMessage_formats_choice,
9653 NULL);
9655 return offset;
9659 static const per_sequence_t E2SM_RC_ControlMessage_sequence[] = {
9660 { &hf_e2ap_ric_controlMessage_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlMessage_formats },
9661 { NULL, 0, 0, NULL }
9664 static int
9665 dissect_e2ap_E2SM_RC_ControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9666 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9667 ett_e2ap_E2SM_RC_ControlMessage, E2SM_RC_ControlMessage_sequence);
9669 return offset;
9673 static const per_sequence_t E2SM_RC_ControlOutcome_Format1_Item_sequence[] = {
9674 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9675 { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
9676 { NULL, 0, 0, NULL }
9679 static int
9680 dissect_e2ap_E2SM_RC_ControlOutcome_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9681 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9682 ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item, E2SM_RC_ControlOutcome_Format1_Item_sequence);
9684 return offset;
9688 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item_sequence_of[1] = {
9689 { &hf_e2ap_ranP_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format1_Item },
9692 static int
9693 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9694 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9695 ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item, SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item_sequence_of,
9696 0, maxnoofRANOutcomeParameters, false);
9698 return offset;
9702 static const per_sequence_t E2SM_RC_ControlOutcome_Format1_sequence[] = {
9703 { &hf_e2ap_ranP_List_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item },
9704 { NULL, 0, 0, NULL }
9707 static int
9708 dissect_e2ap_E2SM_RC_ControlOutcome_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9709 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9710 ett_e2ap_E2SM_RC_ControlOutcome_Format1, E2SM_RC_ControlOutcome_Format1_sequence);
9712 return offset;
9716 static const per_sequence_t E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence[] = {
9717 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9718 { &hf_e2ap_ranParameter_value, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Value },
9719 { NULL, 0, 0, NULL }
9722 static int
9723 dissect_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9724 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9725 ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item, E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence);
9727 return offset;
9731 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item_sequence_of[1] = {
9732 { &hf_e2ap_ranP_List_item_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item },
9735 static int
9736 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9737 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9738 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,
9739 1, maxnoofAssociatedRANParameters, false);
9741 return offset;
9745 static const per_sequence_t E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence[] = {
9746 { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
9747 { &hf_e2ap_ranP_List_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item },
9748 { NULL, 0, 0, NULL }
9751 static int
9752 dissect_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9754 ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item, E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence);
9756 return offset;
9760 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_sequence_of[1] = {
9761 { &hf_e2ap_ric_ControlOutcome_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item },
9764 static int
9765 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9766 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9767 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,
9768 1, maxnoofMulCtrlActions, false);
9770 return offset;
9774 static const per_sequence_t E2SM_RC_ControlOutcome_Format2_Style_Item_sequence[] = {
9775 { &hf_e2ap_indicated_Control_Style_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9776 { &hf_e2ap_ric_ControlOutcome_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item },
9777 { NULL, 0, 0, NULL }
9780 static int
9781 dissect_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9782 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9783 ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item, E2SM_RC_ControlOutcome_Format2_Style_Item_sequence);
9785 return offset;
9789 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item_sequence_of[1] = {
9790 { &hf_e2ap_ric_ControlStyle_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item },
9793 static int
9794 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9795 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9796 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,
9797 1, maxnoofRICStyles, false);
9799 return offset;
9803 static const per_sequence_t E2SM_RC_ControlOutcome_Format2_sequence[] = {
9804 { &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 },
9805 { NULL, 0, 0, NULL }
9808 static int
9809 dissect_e2ap_E2SM_RC_ControlOutcome_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9810 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9811 ett_e2ap_E2SM_RC_ControlOutcome_Format2, E2SM_RC_ControlOutcome_Format2_sequence);
9813 return offset;
9817 static const per_sequence_t E2SM_RC_ControlOutcome_Format3_Item_sequence[] = {
9818 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9819 { &hf_e2ap_ranParameter_valueType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ValueType },
9820 { NULL, 0, 0, NULL }
9823 static int
9824 dissect_e2ap_E2SM_RC_ControlOutcome_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9825 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9826 ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item, E2SM_RC_ControlOutcome_Format3_Item_sequence);
9828 return offset;
9832 static const per_sequence_t SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item_sequence_of[1] = {
9833 { &hf_e2ap_ranP_List_item_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_RC_ControlOutcome_Format3_Item },
9836 static int
9837 dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9838 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9839 ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item, SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item_sequence_of,
9840 0, maxnoofRANOutcomeParameters, false);
9842 return offset;
9846 static const per_sequence_t E2SM_RC_ControlOutcome_Format3_sequence[] = {
9847 { &hf_e2ap_ranP_List_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item },
9848 { NULL, 0, 0, NULL }
9851 static int
9852 dissect_e2ap_E2SM_RC_ControlOutcome_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9853 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9854 ett_e2ap_E2SM_RC_ControlOutcome_Format3, E2SM_RC_ControlOutcome_Format3_sequence);
9856 return offset;
9860 static const value_string e2ap_T_ric_controlOutcome_formats_vals[] = {
9861 { 0, "controlOutcome-Format1" },
9862 { 1, "controlOutcome-Format2" },
9863 { 2, "controlOutcome-Format3" },
9864 { 0, NULL }
9867 static const per_choice_t T_ric_controlOutcome_formats_choice[] = {
9868 { 0, &hf_e2ap_controlOutcome_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_RC_ControlOutcome_Format1 },
9869 { 1, &hf_e2ap_controlOutcome_Format2, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlOutcome_Format2 },
9870 { 2, &hf_e2ap_controlOutcome_Format3, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_RC_ControlOutcome_Format3 },
9871 { 0, NULL, 0, NULL }
9874 static int
9875 dissect_e2ap_T_ric_controlOutcome_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9876 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9877 ett_e2ap_T_ric_controlOutcome_formats, T_ric_controlOutcome_formats_choice,
9878 NULL);
9880 return offset;
9884 static const per_sequence_t E2SM_RC_ControlOutcome_sequence[] = {
9885 { &hf_e2ap_ric_controlOutcome_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_ric_controlOutcome_formats },
9886 { NULL, 0, 0, NULL }
9889 static int
9890 dissect_e2ap_E2SM_RC_ControlOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9891 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9892 ett_e2ap_E2SM_RC_ControlOutcome, E2SM_RC_ControlOutcome_sequence);
9894 return offset;
9898 static const per_sequence_t RANFunctionDefinition_EventTrigger_Style_Item_sequence[] = {
9899 { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
9900 { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
9901 { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
9902 { NULL, 0, 0, NULL }
9905 static int
9906 dissect_e2ap_RANFunctionDefinition_EventTrigger_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9907 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9908 ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item, RANFunctionDefinition_EventTrigger_Style_Item_sequence);
9910 return offset;
9914 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item_sequence_of[1] = {
9915 { &hf_e2ap_ric_EventTriggerStyle_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_Style_Item },
9918 static int
9919 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9920 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9921 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item_sequence_of,
9922 1, maxnoofRICStyles, false);
9924 return offset;
9928 static const per_sequence_t L2Parameters_RANParameter_Item_sequence[] = {
9929 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9930 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
9931 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
9932 { NULL, 0, 0, NULL }
9935 static int
9936 dissect_e2ap_L2Parameters_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9937 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9938 ett_e2ap_L2Parameters_RANParameter_Item, L2Parameters_RANParameter_Item_sequence);
9940 return offset;
9944 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item_sequence_of[1] = {
9945 { &hf_e2ap_ran_L2Parameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_L2Parameters_RANParameter_Item },
9948 static int
9949 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9950 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9951 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item_sequence_of,
9952 1, maxnoofAssociatedRANParameters, false);
9954 return offset;
9958 static const per_sequence_t CallProcessBreakpoint_RANParameter_Item_sequence[] = {
9959 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
9960 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
9961 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
9962 { NULL, 0, 0, NULL }
9965 static int
9966 dissect_e2ap_CallProcessBreakpoint_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9968 ett_e2ap_CallProcessBreakpoint_RANParameter_Item, CallProcessBreakpoint_RANParameter_Item_sequence);
9970 return offset;
9974 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item_sequence_of[1] = {
9975 { &hf_e2ap_ran_CallProcessBreakpointParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_CallProcessBreakpoint_RANParameter_Item },
9978 static int
9979 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9980 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9981 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item_sequence_of,
9982 1, maxnoofAssociatedRANParameters, false);
9984 return offset;
9988 static const per_sequence_t RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence[] = {
9989 { &hf_e2ap_callProcessBreakpoint_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_ID },
9990 { &hf_e2ap_callProcessBreakpoint_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessBreakpoint_Name },
9991 { &hf_e2ap_ran_CallProcessBreakpointParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item },
9992 { NULL, 0, 0, NULL }
9995 static int
9996 dissect_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9997 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9998 ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item, RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence);
10000 return offset;
10004 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence_of[1] = {
10005 { &hf_e2ap_callProcessBreakpoints_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item },
10008 static int
10009 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10010 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10011 ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item, SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_sequence_of,
10012 1, maxnoofCallProcessBreakpoints, false);
10014 return offset;
10018 static const per_sequence_t RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence[] = {
10019 { &hf_e2ap_callProcessType_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_ID },
10020 { &hf_e2ap_callProcessType_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_CallProcessType_Name },
10021 { &hf_e2ap_callProcessBreakpoints_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item },
10022 { NULL, 0, 0, NULL }
10025 static int
10026 dissect_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10027 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10028 ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item, RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence);
10030 return offset;
10034 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence_of[1] = {
10035 { &hf_e2ap_ran_CallProcessTypes_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item },
10038 static int
10039 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10040 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10041 ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item, SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item_sequence_of,
10042 1, maxnoofCallProcessTypes, false);
10044 return offset;
10048 static const per_sequence_t UEIdentification_RANParameter_Item_sequence[] = {
10049 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10050 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10051 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10052 { NULL, 0, 0, NULL }
10055 static int
10056 dissect_e2ap_UEIdentification_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10057 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10058 ett_e2ap_UEIdentification_RANParameter_Item, UEIdentification_RANParameter_Item_sequence);
10060 return offset;
10064 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item_sequence_of[1] = {
10065 { &hf_e2ap_ran_UEIdentificationParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_UEIdentification_RANParameter_Item },
10068 static int
10069 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10070 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10071 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item_sequence_of,
10072 1, maxnoofAssociatedRANParameters, false);
10074 return offset;
10078 static const per_sequence_t CellIdentification_RANParameter_Item_sequence[] = {
10079 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10080 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10081 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10082 { NULL, 0, 0, NULL }
10085 static int
10086 dissect_e2ap_CellIdentification_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10087 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10088 ett_e2ap_CellIdentification_RANParameter_Item, CellIdentification_RANParameter_Item_sequence);
10090 return offset;
10094 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item_sequence_of[1] = {
10095 { &hf_e2ap_ran_CellIdentificationParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_CellIdentification_RANParameter_Item },
10098 static int
10099 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10100 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10101 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item_sequence_of,
10102 1, maxnoofAssociatedRANParameters, false);
10104 return offset;
10108 static const per_sequence_t RANFunctionDefinition_EventTrigger_sequence[] = {
10109 { &hf_e2ap_ric_EventTriggerStyle_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item },
10110 { &hf_e2ap_ran_L2Parameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item },
10111 { &hf_e2ap_ran_CallProcessTypes_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item },
10112 { &hf_e2ap_ran_UEIdentificationParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item },
10113 { &hf_e2ap_ran_CellIdentificationParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item },
10114 { NULL, 0, 0, NULL }
10117 static int
10118 dissect_e2ap_RANFunctionDefinition_EventTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10119 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10120 ett_e2ap_RANFunctionDefinition_EventTrigger, RANFunctionDefinition_EventTrigger_sequence);
10122 return offset;
10126 static const per_sequence_t Report_RANParameter_Item_sequence[] = {
10127 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10128 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10129 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10130 { NULL, 0, 0, NULL }
10133 static int
10134 dissect_e2ap_Report_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10135 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10136 ett_e2ap_Report_RANParameter_Item, Report_RANParameter_Item_sequence);
10138 return offset;
10142 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item_sequence_of[1] = {
10143 { &hf_e2ap_ran_ReportParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Report_RANParameter_Item },
10146 static int
10147 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10148 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10149 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item_sequence_of,
10150 1, maxnoofAssociatedRANParameters, false);
10152 return offset;
10156 static const per_sequence_t RANFunctionDefinition_Report_Item_sequence[] = {
10157 { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10158 { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10159 { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10160 { &hf_e2ap_ric_ReportActionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10161 { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10162 { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10163 { &hf_e2ap_ran_ReportParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item },
10164 { NULL, 0, 0, NULL }
10167 static int
10168 dissect_e2ap_RANFunctionDefinition_Report_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10169 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10170 ett_e2ap_RANFunctionDefinition_Report_Item, RANFunctionDefinition_Report_Item_sequence);
10172 return offset;
10176 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item_sequence_of[1] = {
10177 { &hf_e2ap_ric_ReportStyle_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Report_Item },
10180 static int
10181 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10182 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10183 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item_sequence_of,
10184 1, maxnoofRICStyles, false);
10186 return offset;
10190 static const per_sequence_t RANFunctionDefinition_Report_sequence[] = {
10191 { &hf_e2ap_ric_ReportStyle_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item },
10192 { NULL, 0, 0, NULL }
10195 static int
10196 dissect_e2ap_RANFunctionDefinition_Report(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10197 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10198 ett_e2ap_RANFunctionDefinition_Report, RANFunctionDefinition_Report_sequence);
10200 return offset;
10204 static const per_sequence_t InsertIndication_RANParameter_Item_sequence[] = {
10205 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10206 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10207 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10208 { NULL, 0, 0, NULL }
10211 static int
10212 dissect_e2ap_InsertIndication_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10213 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10214 ett_e2ap_InsertIndication_RANParameter_Item, InsertIndication_RANParameter_Item_sequence);
10216 return offset;
10220 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item_sequence_of[1] = {
10221 { &hf_e2ap_ran_InsertIndicationParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_InsertIndication_RANParameter_Item },
10224 static int
10225 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10226 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10227 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item_sequence_of,
10228 1, maxnoofAssociatedRANParameters, false);
10230 return offset;
10234 static const per_sequence_t RANFunctionDefinition_Insert_Indication_Item_sequence[] = {
10235 { &hf_e2ap_ric_InsertIndication_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_ID },
10236 { &hf_e2ap_ric_InsertIndication_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertIndication_Name },
10237 { &hf_e2ap_ran_InsertIndicationParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item },
10238 { NULL, 0, 0, NULL }
10241 static int
10242 dissect_e2ap_RANFunctionDefinition_Insert_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10243 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10244 ett_e2ap_RANFunctionDefinition_Insert_Indication_Item, RANFunctionDefinition_Insert_Indication_Item_sequence);
10246 return offset;
10250 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item_sequence_of[1] = {
10251 { &hf_e2ap_ric_InsertIndication_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Insert_Indication_Item },
10254 static int
10255 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10256 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10257 ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item, SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item_sequence_of,
10258 1, maxnoofInsertIndication, false);
10260 return offset;
10264 static const per_sequence_t RANFunctionDefinition_Insert_Item_sequence[] = {
10265 { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10266 { &hf_e2ap_ric_InsertStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10267 { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10268 { &hf_e2ap_ric_ActionDefinitionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10269 { &hf_e2ap_ric_InsertIndication_List_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item },
10270 { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10271 { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10272 { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10273 { NULL, 0, 0, NULL }
10276 static int
10277 dissect_e2ap_RANFunctionDefinition_Insert_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10278 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10279 ett_e2ap_RANFunctionDefinition_Insert_Item, RANFunctionDefinition_Insert_Item_sequence);
10281 return offset;
10285 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item_sequence_of[1] = {
10286 { &hf_e2ap_ric_InsertStyle_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Insert_Item },
10289 static int
10290 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10291 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10292 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item_sequence_of,
10293 1, maxnoofRICStyles, false);
10295 return offset;
10299 static const per_sequence_t RANFunctionDefinition_Insert_sequence[] = {
10300 { &hf_e2ap_ric_InsertStyle_List_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item },
10301 { NULL, 0, 0, NULL }
10304 static int
10305 dissect_e2ap_RANFunctionDefinition_Insert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10306 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10307 ett_e2ap_RANFunctionDefinition_Insert, RANFunctionDefinition_Insert_sequence);
10309 return offset;
10313 static const per_sequence_t ControlAction_RANParameter_Item_sequence[] = {
10314 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10315 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10316 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10317 { NULL, 0, 0, NULL }
10320 static int
10321 dissect_e2ap_ControlAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10322 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10323 ett_e2ap_ControlAction_RANParameter_Item, ControlAction_RANParameter_Item_sequence);
10325 return offset;
10329 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item_sequence_of[1] = {
10330 { &hf_e2ap_ran_ControlActionParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ControlAction_RANParameter_Item },
10333 static int
10334 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10335 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10336 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item_sequence_of,
10337 1, maxnoofAssociatedRANParameters, false);
10339 return offset;
10343 static const per_sequence_t RANFunctionDefinition_Control_Action_Item_sequence[] = {
10344 { &hf_e2ap_ric_ControlAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
10345 { &hf_e2ap_ric_ControlAction_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_Name },
10346 { &hf_e2ap_ran_ControlActionParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item },
10347 { NULL, 0, 0, NULL }
10350 static int
10351 dissect_e2ap_RANFunctionDefinition_Control_Action_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10352 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10353 ett_e2ap_RANFunctionDefinition_Control_Action_Item, RANFunctionDefinition_Control_Action_Item_sequence);
10355 return offset;
10359 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item_sequence_of[1] = {
10360 { &hf_e2ap_ric_ControlAction_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Control_Action_Item },
10363 static int
10364 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10365 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10366 ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item, SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item_sequence_of,
10367 1, maxnoofControlAction, false);
10369 return offset;
10373 static const per_sequence_t ControlOutcome_RANParameter_Item_sequence[] = {
10374 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10375 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10376 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10377 { NULL, 0, 0, NULL }
10380 static int
10381 dissect_e2ap_ControlOutcome_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10382 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10383 ett_e2ap_ControlOutcome_RANParameter_Item, ControlOutcome_RANParameter_Item_sequence);
10385 return offset;
10389 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item_sequence_of[1] = {
10390 { &hf_e2ap_ran_ControlOutcomeParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_ControlOutcome_RANParameter_Item },
10393 static int
10394 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10395 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10396 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item_sequence_of,
10397 1, maxnoofRANOutcomeParameters, false);
10399 return offset;
10403 static const per_sequence_t RANFunctionDefinition_Control_Item_sequence[] = {
10404 { &hf_e2ap_ric_ControlStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10405 { &hf_e2ap_ric_ControlStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10406 { &hf_e2ap_ric_ControlAction_List_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item },
10407 { &hf_e2ap_ric_ControlHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10408 { &hf_e2ap_ric_ControlMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10409 { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RIC_Format_Type },
10410 { &hf_e2ap_ric_ControlOutcomeFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10411 { &hf_e2ap_ran_ControlOutcomeParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item },
10412 { NULL, 0, 0, NULL }
10415 static int
10416 dissect_e2ap_RANFunctionDefinition_Control_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10417 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10418 ett_e2ap_RANFunctionDefinition_Control_Item, RANFunctionDefinition_Control_Item_sequence);
10420 return offset;
10424 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item_sequence_of[1] = {
10425 { &hf_e2ap_ric_ControlStyle_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Control_Item },
10428 static int
10429 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10430 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10431 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item_sequence_of,
10432 1, maxnoofRICStyles, false);
10434 return offset;
10438 static const per_sequence_t RANFunctionDefinition_Control_sequence[] = {
10439 { &hf_e2ap_ric_ControlStyle_List_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item },
10440 { NULL, 0, 0, NULL }
10443 static int
10444 dissect_e2ap_RANFunctionDefinition_Control(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10445 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10446 ett_e2ap_RANFunctionDefinition_Control, RANFunctionDefinition_Control_sequence);
10448 return offset;
10452 static const per_sequence_t PolicyAction_RANParameter_Item_sequence[] = {
10453 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10454 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10455 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10456 { NULL, 0, 0, NULL }
10459 static int
10460 dissect_e2ap_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10461 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10462 ett_e2ap_PolicyAction_RANParameter_Item, PolicyAction_RANParameter_Item_sequence);
10464 return offset;
10468 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item_sequence_of[1] = {
10469 { &hf_e2ap_ran_PolicyActionParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_PolicyAction_RANParameter_Item },
10472 static int
10473 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10474 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10475 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item_sequence_of,
10476 1, maxnoofAssociatedRANParameters, false);
10478 return offset;
10482 static const per_sequence_t PolicyCondition_RANParameter_Item_sequence[] = {
10483 { &hf_e2ap_ranParameter_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_ID },
10484 { &hf_e2ap_ranParameter_name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANParameter_Name },
10485 { &hf_e2ap_ranParameter_Definition, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_RANParameter_Definition },
10486 { NULL, 0, 0, NULL }
10489 static int
10490 dissect_e2ap_PolicyCondition_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10491 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10492 ett_e2ap_PolicyCondition_RANParameter_Item, PolicyCondition_RANParameter_Item_sequence);
10494 return offset;
10498 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item_sequence_of[1] = {
10499 { &hf_e2ap_ran_PolicyConditionParameters_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_PolicyCondition_RANParameter_Item },
10502 static int
10503 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10504 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10505 ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item, SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item_sequence_of,
10506 1, maxnoofAssociatedRANParameters, false);
10508 return offset;
10512 static const per_sequence_t RANFunctionDefinition_Policy_Action_Item_sequence[] = {
10513 { &hf_e2ap_ric_PolicyAction_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_ID },
10514 { &hf_e2ap_ric_PolicyAction_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlAction_Name },
10515 { &hf_e2ap_ric_ActionDefinitionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
10516 { &hf_e2ap_ran_PolicyActionParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item },
10517 { &hf_e2ap_ran_PolicyConditionParameters_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item },
10518 { NULL, 0, 0, NULL }
10521 static int
10522 dissect_e2ap_RANFunctionDefinition_Policy_Action_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10523 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10524 ett_e2ap_RANFunctionDefinition_Policy_Action_Item, RANFunctionDefinition_Policy_Action_Item_sequence);
10526 return offset;
10530 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item_sequence_of[1] = {
10531 { &hf_e2ap_ric_PolicyAction_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Policy_Action_Item },
10534 static int
10535 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10536 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10537 ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item, SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item_sequence_of,
10538 1, maxnoofPolicyAction, false);
10540 return offset;
10544 static const per_sequence_t RANFunctionDefinition_Policy_Item_sequence[] = {
10545 { &hf_e2ap_ric_PolicyStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10546 { &hf_e2ap_ric_PolicyStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
10547 { &hf_e2ap_ric_SupportedEventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
10548 { &hf_e2ap_ric_PolicyAction_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item },
10549 { NULL, 0, 0, NULL }
10552 static int
10553 dissect_e2ap_RANFunctionDefinition_Policy_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10554 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10555 ett_e2ap_RANFunctionDefinition_Policy_Item, RANFunctionDefinition_Policy_Item_sequence);
10557 return offset;
10561 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item_sequence_of[1] = {
10562 { &hf_e2ap_ric_PolicyStyle_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANFunctionDefinition_Policy_Item },
10565 static int
10566 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10567 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10568 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item_sequence_of,
10569 1, maxnoofRICStyles, false);
10571 return offset;
10575 static const per_sequence_t RANFunctionDefinition_Policy_sequence[] = {
10576 { &hf_e2ap_ric_PolicyStyle_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item },
10577 { NULL, 0, 0, NULL }
10580 static int
10581 dissect_e2ap_RANFunctionDefinition_Policy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10582 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10583 ett_e2ap_RANFunctionDefinition_Policy, RANFunctionDefinition_Policy_sequence);
10585 return offset;
10589 static const per_sequence_t E2SM_RC_RANFunctionDefinition_sequence[] = {
10590 { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
10591 { &hf_e2ap_ranFunctionDefinition_EventTrigger, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANFunctionDefinition_EventTrigger },
10592 { &hf_e2ap_ranFunctionDefinition_Report, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANFunctionDefinition_Report },
10593 { &hf_e2ap_ranFunctionDefinition_Insert, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANFunctionDefinition_Insert },
10594 { &hf_e2ap_ranFunctionDefinition_Control, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANFunctionDefinition_Control },
10595 { &hf_e2ap_ranFunctionDefinition_Policy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RANFunctionDefinition_Policy },
10596 { NULL, 0, 0, NULL }
10599 static int
10600 dissect_e2ap_E2SM_RC_RANFunctionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10601 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10602 ett_e2ap_E2SM_RC_RANFunctionDefinition, E2SM_RC_RANFunctionDefinition_sequence);
10604 return offset;
10609 static int
10610 dissect_e2ap_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10611 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
10612 8, 8, false, NULL);
10614 return offset;
10619 static int
10620 dissect_e2ap_BinIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10621 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10622 1U, 65535U, NULL, true);
10624 return offset;
10628 static const value_string e2ap_BinRangeValue_vals[] = {
10629 { 0, "valueInt" },
10630 { 1, "valueReal" },
10631 { 0, NULL }
10634 static const per_choice_t BinRangeValue_choice[] = {
10635 { 0, &hf_e2ap_valueInt , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
10636 { 1, &hf_e2ap_valueReal , ASN1_EXTENSION_ROOT , dissect_e2ap_REAL },
10637 { 0, NULL, 0, NULL }
10640 static int
10641 dissect_e2ap_BinRangeValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10642 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10643 ett_e2ap_BinRangeValue, BinRangeValue_choice,
10644 NULL);
10646 return offset;
10651 static int
10652 dissect_e2ap_GranularityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10653 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10654 1U, 4294967295U, NULL, false);
10656 return offset;
10661 static int
10662 dissect_e2ap_MeasurementTypeName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10663 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
10664 1, 150, true,
10665 NULL);
10667 return offset;
10672 static int
10673 dissect_e2ap_MeasurementTypeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10674 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10675 1U, 65536U, NULL, true);
10677 return offset;
10681 static const value_string e2ap_MeasurementType_vals[] = {
10682 { 0, "measName" },
10683 { 1, "measID" },
10684 { 0, NULL }
10687 static const per_choice_t MeasurementType_choice[] = {
10688 { 0, &hf_e2ap_measName , ASN1_EXTENSION_ROOT , dissect_e2ap_MeasurementTypeName },
10689 { 1, &hf_e2ap_measID , ASN1_EXTENSION_ROOT , dissect_e2ap_MeasurementTypeID },
10690 { 0, NULL, 0, NULL }
10693 static int
10694 dissect_e2ap_MeasurementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10695 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10696 ett_e2ap_MeasurementType, MeasurementType_choice,
10697 NULL);
10699 return offset;
10703 static const value_string e2ap_T_noLabel_vals[] = {
10704 { 0, "true" },
10705 { 0, NULL }
10709 static int
10710 dissect_e2ap_T_noLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10711 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10712 1, NULL, true, 0, NULL);
10714 return offset;
10719 static int
10720 dissect_e2ap_INTEGER_1_15_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10721 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10722 1U, 15U, NULL, true);
10724 return offset;
10728 static const value_string e2ap_T_sUM_vals[] = {
10729 { 0, "true" },
10730 { 0, NULL }
10734 static int
10735 dissect_e2ap_T_sUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10736 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10737 1, NULL, true, 0, NULL);
10739 return offset;
10743 static const value_string e2ap_T_preLabelOverride_vals[] = {
10744 { 0, "true" },
10745 { 0, NULL }
10749 static int
10750 dissect_e2ap_T_preLabelOverride(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10751 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10752 1, NULL, true, 0, NULL);
10754 return offset;
10758 static const value_string e2ap_T_startEndInd_vals[] = {
10759 { 0, "start" },
10760 { 1, "end" },
10761 { 0, NULL }
10765 static int
10766 dissect_e2ap_T_startEndInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10767 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10768 2, NULL, true, 0, NULL);
10770 return offset;
10774 static const value_string e2ap_T_min_vals[] = {
10775 { 0, "true" },
10776 { 0, NULL }
10780 static int
10781 dissect_e2ap_T_min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10782 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10783 1, NULL, true, 0, NULL);
10785 return offset;
10789 static const value_string e2ap_T_max_vals[] = {
10790 { 0, "true" },
10791 { 0, NULL }
10795 static int
10796 dissect_e2ap_T_max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10797 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10798 1, NULL, true, 0, NULL);
10800 return offset;
10804 static const value_string e2ap_T_avg_vals[] = {
10805 { 0, "true" },
10806 { 0, NULL }
10810 static int
10811 dissect_e2ap_T_avg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10812 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10813 1, NULL, true, 0, NULL);
10815 return offset;
10820 static int
10821 dissect_e2ap_INTEGER_1_2_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10822 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10823 1U, 2U, NULL, true);
10825 return offset;
10829 static const per_sequence_t MeasurementLabel_sequence[] = {
10830 { &hf_e2ap_noLabel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_noLabel },
10831 { &hf_e2ap_plmnID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_PLMNIdentity },
10832 { &hf_e2ap_sliceID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_S_NSSAI },
10833 { &hf_e2ap_fiveQI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_FiveQI },
10834 { &hf_e2ap_qFI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_QosFlowIdentifier },
10835 { &hf_e2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_QCI },
10836 { &hf_e2ap_qCImax , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_QCI },
10837 { &hf_e2ap_qCImin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_QCI },
10838 { &hf_e2ap_aRPmax , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_15_ },
10839 { &hf_e2ap_aRPmin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_15_ },
10840 { &hf_e2ap_bitrateRange , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10841 { &hf_e2ap_layerMU_MIMO , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10842 { &hf_e2ap_sUM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_sUM },
10843 { &hf_e2ap_distBinX , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10844 { &hf_e2ap_distBinY , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10845 { &hf_e2ap_distBinZ , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10846 { &hf_e2ap_preLabelOverride, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_preLabelOverride },
10847 { &hf_e2ap_startEndInd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_startEndInd },
10848 { &hf_e2ap_min , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_min },
10849 { &hf_e2ap_max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_max },
10850 { &hf_e2ap_avg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_avg },
10851 { &hf_e2ap_ssbIndex , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10852 { &hf_e2ap_nonGoB_BFmode_Index, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_65535_ },
10853 { &hf_e2ap_mIMO_mode_Index, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_INTEGER_1_2_ },
10854 { NULL, 0, 0, NULL }
10857 static int
10858 dissect_e2ap_MeasurementLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10859 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10860 ett_e2ap_MeasurementLabel, MeasurementLabel_sequence);
10862 return offset;
10866 static const value_string e2ap_T_gBR_vals[] = {
10867 { 0, "true" },
10868 { 0, NULL }
10872 static int
10873 dissect_e2ap_T_gBR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10874 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10875 1, NULL, true, 0, NULL);
10877 return offset;
10881 static const value_string e2ap_T_aMBR_vals[] = {
10882 { 0, "true" },
10883 { 0, NULL }
10887 static int
10888 dissect_e2ap_T_aMBR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10889 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10890 1, NULL, true, 0, NULL);
10892 return offset;
10896 static const value_string e2ap_T_isStat_vals[] = {
10897 { 0, "true" },
10898 { 0, NULL }
10902 static int
10903 dissect_e2ap_T_isStat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10904 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10905 1, NULL, true, 0, NULL);
10907 return offset;
10911 static const value_string e2ap_T_isCatM_vals[] = {
10912 { 0, "true" },
10913 { 0, NULL }
10917 static int
10918 dissect_e2ap_T_isCatM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10919 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10920 1, NULL, true, 0, NULL);
10922 return offset;
10926 static const value_string e2ap_T_rSRP_vals[] = {
10927 { 0, "true" },
10928 { 0, NULL }
10932 static int
10933 dissect_e2ap_T_rSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10934 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10935 1, NULL, true, 0, NULL);
10937 return offset;
10941 static const value_string e2ap_T_rSRQ_vals[] = {
10942 { 0, "true" },
10943 { 0, NULL }
10947 static int
10948 dissect_e2ap_T_rSRQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10949 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10950 1, NULL, true, 0, NULL);
10952 return offset;
10956 static const value_string e2ap_T_ul_rSRP_vals[] = {
10957 { 0, "true" },
10958 { 0, NULL }
10962 static int
10963 dissect_e2ap_T_ul_rSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10964 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10965 1, NULL, true, 0, NULL);
10967 return offset;
10971 static const value_string e2ap_T_cQI_vals[] = {
10972 { 0, "true" },
10973 { 0, NULL }
10977 static int
10978 dissect_e2ap_T_cQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10979 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10980 1, NULL, true, 0, NULL);
10982 return offset;
10986 static const value_string e2ap_T_fiveQI_vals[] = {
10987 { 0, "true" },
10988 { 0, NULL }
10992 static int
10993 dissect_e2ap_T_fiveQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10994 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10995 1, NULL, true, 0, NULL);
10997 return offset;
11001 static const value_string e2ap_T_qCI_vals[] = {
11002 { 0, "true" },
11003 { 0, NULL }
11007 static int
11008 dissect_e2ap_T_qCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11009 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11010 1, NULL, true, 0, NULL);
11012 return offset;
11016 static const value_string e2ap_T_sNSSAI_vals[] = {
11017 { 0, "true" },
11018 { 0, NULL }
11022 static int
11023 dissect_e2ap_T_sNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11024 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11025 1, NULL, true, 0, NULL);
11027 return offset;
11031 static const value_string e2ap_TestCond_Type_vals[] = {
11032 { 0, "gBR" },
11033 { 1, "aMBR" },
11034 { 2, "isStat" },
11035 { 3, "isCatM" },
11036 { 4, "rSRP" },
11037 { 5, "rSRQ" },
11038 { 6, "ul-rSRP" },
11039 { 7, "cQI" },
11040 { 8, "fiveQI" },
11041 { 9, "qCI" },
11042 { 10, "sNSSAI" },
11043 { 0, NULL }
11046 static const per_choice_t TestCond_Type_choice[] = {
11047 { 0, &hf_e2ap_gBR , ASN1_EXTENSION_ROOT , dissect_e2ap_T_gBR },
11048 { 1, &hf_e2ap_aMBR , ASN1_EXTENSION_ROOT , dissect_e2ap_T_aMBR },
11049 { 2, &hf_e2ap_isStat , ASN1_EXTENSION_ROOT , dissect_e2ap_T_isStat },
11050 { 3, &hf_e2ap_isCatM , ASN1_EXTENSION_ROOT , dissect_e2ap_T_isCatM },
11051 { 4, &hf_e2ap_rSRP , ASN1_EXTENSION_ROOT , dissect_e2ap_T_rSRP },
11052 { 5, &hf_e2ap_rSRQ , ASN1_EXTENSION_ROOT , dissect_e2ap_T_rSRQ },
11053 { 6, &hf_e2ap_ul_rSRP , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_ul_rSRP },
11054 { 7, &hf_e2ap_cQI , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_cQI },
11055 { 8, &hf_e2ap_fiveQI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_fiveQI },
11056 { 9, &hf_e2ap_qCI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_qCI },
11057 { 10, &hf_e2ap_sNSSAI , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_T_sNSSAI },
11058 { 0, NULL, 0, NULL }
11061 static int
11062 dissect_e2ap_TestCond_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11063 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11064 ett_e2ap_TestCond_Type, TestCond_Type_choice,
11065 NULL);
11067 return offset;
11071 static const value_string e2ap_TestCond_Expression_vals[] = {
11072 { 0, "equal" },
11073 { 1, "greaterthan" },
11074 { 2, "lessthan" },
11075 { 3, "contains" },
11076 { 4, "present" },
11077 { 0, NULL }
11081 static int
11082 dissect_e2ap_TestCond_Expression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11083 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11084 5, NULL, true, 0, NULL);
11086 return offset;
11090 static const value_string e2ap_TestCond_Value_vals[] = {
11091 { 0, "valueInt" },
11092 { 1, "valueEnum" },
11093 { 2, "valueBool" },
11094 { 3, "valueBitS" },
11095 { 4, "valueOctS" },
11096 { 5, "valuePrtS" },
11097 { 6, "valueReal" },
11098 { 0, NULL }
11101 static const per_choice_t TestCond_Value_choice[] = {
11102 { 0, &hf_e2ap_valueInt , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
11103 { 1, &hf_e2ap_valueEnum , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
11104 { 2, &hf_e2ap_valueBool , ASN1_EXTENSION_ROOT , dissect_e2ap_BOOLEAN },
11105 { 3, &hf_e2ap_valueBitS , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING },
11106 { 4, &hf_e2ap_valueOctS , ASN1_EXTENSION_ROOT , dissect_e2ap_OCTET_STRING },
11107 { 5, &hf_e2ap_valuePrtS , ASN1_EXTENSION_ROOT , dissect_e2ap_PrintableString },
11108 { 6, &hf_e2ap_valueReal , ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_REAL },
11109 { 0, NULL, 0, NULL }
11112 static int
11113 dissect_e2ap_TestCond_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11114 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11115 ett_e2ap_TestCond_Value, TestCond_Value_choice,
11116 NULL);
11118 return offset;
11122 static const per_sequence_t TestCondInfo_sequence[] = {
11123 { &hf_e2ap_testType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TestCond_Type },
11124 { &hf_e2ap_testExpr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_TestCond_Expression },
11125 { &hf_e2ap_testValue , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_TestCond_Value },
11126 { NULL, 0, 0, NULL }
11129 static int
11130 dissect_e2ap_TestCondInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11131 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11132 ett_e2ap_TestCondInfo, TestCondInfo_sequence);
11134 return offset;
11138 static const per_sequence_t BinRangeItem_sequence[] = {
11139 { &hf_e2ap_binIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BinIndex },
11140 { &hf_e2ap_startValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeValue },
11141 { &hf_e2ap_endValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeValue },
11142 { NULL, 0, 0, NULL }
11145 static int
11146 dissect_e2ap_BinRangeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11147 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11148 ett_e2ap_BinRangeItem, BinRangeItem_sequence);
11150 return offset;
11154 static const per_sequence_t BinRangeList_sequence_of[1] = {
11155 { &hf_e2ap_BinRangeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeItem },
11158 static int
11159 dissect_e2ap_BinRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11160 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11161 ett_e2ap_BinRangeList, BinRangeList_sequence_of,
11162 1, maxnoofBin, false);
11164 return offset;
11168 static const per_sequence_t BinRangeDefinition_sequence[] = {
11169 { &hf_e2ap_binRangeListX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeList },
11170 { &hf_e2ap_binRangeListY , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_BinRangeList },
11171 { &hf_e2ap_binRangeListZ , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_BinRangeList },
11172 { NULL, 0, 0, NULL }
11175 static int
11176 dissect_e2ap_BinRangeDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11177 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11178 ett_e2ap_BinRangeDefinition, BinRangeDefinition_sequence);
11180 return offset;
11184 static const per_sequence_t DistMeasurementBinRangeItem_sequence[] = {
11185 { &hf_e2ap_measType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11186 { &hf_e2ap_binRangeDef , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_BinRangeDefinition },
11187 { NULL, 0, 0, NULL }
11190 static int
11191 dissect_e2ap_DistMeasurementBinRangeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11192 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11193 ett_e2ap_DistMeasurementBinRangeItem, DistMeasurementBinRangeItem_sequence);
11195 return offset;
11199 static const per_sequence_t DistMeasurementBinRangeList_sequence_of[1] = {
11200 { &hf_e2ap_DistMeasurementBinRangeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_DistMeasurementBinRangeItem },
11203 static int
11204 dissect_e2ap_DistMeasurementBinRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11205 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11206 ett_e2ap_DistMeasurementBinRangeList, DistMeasurementBinRangeList_sequence_of,
11207 1, maxnoofMeasurementInfo, false);
11209 return offset;
11213 static const per_sequence_t LabelInfoItem_sequence[] = {
11214 { &hf_e2ap_measLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementLabel },
11215 { NULL, 0, 0, NULL }
11218 static int
11219 dissect_e2ap_LabelInfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11220 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11221 ett_e2ap_LabelInfoItem, LabelInfoItem_sequence);
11223 return offset;
11227 static const per_sequence_t LabelInfoList_sequence_of[1] = {
11228 { &hf_e2ap_LabelInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_LabelInfoItem },
11231 static int
11232 dissect_e2ap_LabelInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11233 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11234 ett_e2ap_LabelInfoList, LabelInfoList_sequence_of,
11235 1, maxnoofLabelInfo, false);
11237 return offset;
11241 static const per_sequence_t MeasurementInfoItem_sequence[] = {
11242 { &hf_e2ap_measType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11243 { &hf_e2ap_labelInfoList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_LabelInfoList },
11244 { NULL, 0, 0, NULL }
11247 static int
11248 dissect_e2ap_MeasurementInfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11249 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11250 ett_e2ap_MeasurementInfoItem, MeasurementInfoItem_sequence);
11252 return offset;
11256 static const per_sequence_t MeasurementInfoList_sequence_of[1] = {
11257 { &hf_e2ap_MeasurementInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfoItem },
11260 static int
11261 dissect_e2ap_MeasurementInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11262 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11263 ett_e2ap_MeasurementInfoList, MeasurementInfoList_sequence_of,
11264 1, maxnoofMeasurementInfo, false);
11266 return offset;
11271 static int
11272 dissect_e2ap_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11273 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11274 0U, 4294967295U, NULL, false);
11276 return offset;
11281 static int
11282 dissect_e2ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11283 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
11285 return offset;
11289 static const value_string e2ap_MeasurementRecordItem_vals[] = {
11290 { 0, "integer" },
11291 { 1, "real" },
11292 { 2, "noValue" },
11293 { 0, NULL }
11296 static const per_choice_t MeasurementRecordItem_choice[] = {
11297 { 0, &hf_e2ap_integer , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER_0_4294967295 },
11298 { 1, &hf_e2ap_real , ASN1_EXTENSION_ROOT , dissect_e2ap_REAL },
11299 { 2, &hf_e2ap_noValue , ASN1_EXTENSION_ROOT , dissect_e2ap_NULL },
11300 { 0, NULL, 0, NULL }
11303 static int
11304 dissect_e2ap_MeasurementRecordItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11305 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11306 ett_e2ap_MeasurementRecordItem, MeasurementRecordItem_choice,
11307 NULL);
11309 return offset;
11313 static const per_sequence_t MeasurementRecord_sequence_of[1] = {
11314 { &hf_e2ap_MeasurementRecord_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementRecordItem },
11317 static int
11318 dissect_e2ap_MeasurementRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11319 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11320 ett_e2ap_MeasurementRecord, MeasurementRecord_sequence_of,
11321 1, maxnoofMeasurementValue, false);
11323 return offset;
11327 static const value_string e2ap_T_incompleteFlag_vals[] = {
11328 { 0, "true" },
11329 { 0, NULL }
11333 static int
11334 dissect_e2ap_T_incompleteFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11335 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11336 1, NULL, true, 0, NULL);
11338 return offset;
11342 static const per_sequence_t MeasurementDataItem_sequence[] = {
11343 { &hf_e2ap_measRecord , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementRecord },
11344 { &hf_e2ap_incompleteFlag , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_T_incompleteFlag },
11345 { NULL, 0, 0, NULL }
11348 static int
11349 dissect_e2ap_MeasurementDataItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11350 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11351 ett_e2ap_MeasurementDataItem, MeasurementDataItem_sequence);
11353 return offset;
11357 static const per_sequence_t MeasurementData_sequence_of[1] = {
11358 { &hf_e2ap_MeasurementData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementDataItem },
11361 static int
11362 dissect_e2ap_MeasurementData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11363 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11364 ett_e2ap_MeasurementData, MeasurementData_sequence_of,
11365 1, maxnoofMeasurementRecord, false);
11367 return offset;
11371 static const per_sequence_t MeasurementInfo_Action_Item_sequence[] = {
11372 { &hf_e2ap_measName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementTypeName },
11373 { &hf_e2ap_measID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_MeasurementTypeID },
11374 { &hf_e2ap_binRangeDef , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_BinRangeDefinition },
11375 { NULL, 0, 0, NULL }
11378 static int
11379 dissect_e2ap_MeasurementInfo_Action_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11380 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11381 ett_e2ap_MeasurementInfo_Action_Item, MeasurementInfo_Action_Item_sequence);
11383 return offset;
11387 static const per_sequence_t MeasurementInfo_Action_List_sequence_of[1] = {
11388 { &hf_e2ap_MeasurementInfo_Action_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfo_Action_Item },
11391 static int
11392 dissect_e2ap_MeasurementInfo_Action_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11393 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11394 ett_e2ap_MeasurementInfo_Action_List, MeasurementInfo_Action_List_sequence_of,
11395 1, maxnoofMeasurementInfo, false);
11397 return offset;
11401 static const value_string e2ap_MatchingCondItem_Choice_vals[] = {
11402 { 0, "measLabel" },
11403 { 1, "testCondInfo" },
11404 { 0, NULL }
11407 static const per_choice_t MatchingCondItem_Choice_choice[] = {
11408 { 0, &hf_e2ap_measLabel , ASN1_EXTENSION_ROOT , dissect_e2ap_MeasurementLabel },
11409 { 1, &hf_e2ap_testCondInfo , ASN1_EXTENSION_ROOT , dissect_e2ap_TestCondInfo },
11410 { 0, NULL, 0, NULL }
11413 static int
11414 dissect_e2ap_MatchingCondItem_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11415 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11416 ett_e2ap_MatchingCondItem_Choice, MatchingCondItem_Choice_choice,
11417 NULL);
11419 return offset;
11423 static const per_sequence_t MatchingCondItem_sequence[] = {
11424 { &hf_e2ap_matchingCondChoice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondItem_Choice },
11425 { &hf_e2ap_logicalOR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
11426 { NULL, 0, 0, NULL }
11429 static int
11430 dissect_e2ap_MatchingCondItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11431 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11432 ett_e2ap_MatchingCondItem, MatchingCondItem_sequence);
11434 return offset;
11438 static const per_sequence_t MatchingCondList_sequence_of[1] = {
11439 { &hf_e2ap_MatchingCondList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondItem },
11442 static int
11443 dissect_e2ap_MatchingCondList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11444 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11445 ett_e2ap_MatchingCondList, MatchingCondList_sequence_of,
11446 1, maxnoofConditionInfo, false);
11448 return offset;
11452 static const per_sequence_t MeasurementCondItem_sequence[] = {
11453 { &hf_e2ap_measType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11454 { &hf_e2ap_matchingCond , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondList },
11455 { &hf_e2ap_binRangeDef , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_BinRangeDefinition },
11456 { NULL, 0, 0, NULL }
11459 static int
11460 dissect_e2ap_MeasurementCondItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11461 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11462 ett_e2ap_MeasurementCondItem, MeasurementCondItem_sequence);
11464 return offset;
11468 static const per_sequence_t MeasurementCondList_sequence_of[1] = {
11469 { &hf_e2ap_MeasurementCondList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondItem },
11472 static int
11473 dissect_e2ap_MeasurementCondList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11474 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11475 ett_e2ap_MeasurementCondList, MeasurementCondList_sequence_of,
11476 1, maxnoofMeasurementInfo, false);
11478 return offset;
11482 static const per_sequence_t MatchingUEidItem_sequence[] = {
11483 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11484 { NULL, 0, 0, NULL }
11487 static int
11488 dissect_e2ap_MatchingUEidItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11489 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11490 ett_e2ap_MatchingUEidItem, MatchingUEidItem_sequence);
11492 return offset;
11496 static const per_sequence_t MatchingUEidList_sequence_of[1] = {
11497 { &hf_e2ap_MatchingUEidList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidItem },
11500 static int
11501 dissect_e2ap_MatchingUEidList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11502 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11503 ett_e2ap_MatchingUEidList, MatchingUEidList_sequence_of,
11504 1, maxnoofUEID, false);
11506 return offset;
11510 static const value_string e2ap_T_noUEmatched_vals[] = {
11511 { 0, "true" },
11512 { 0, NULL }
11516 static int
11517 dissect_e2ap_T_noUEmatched(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11518 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11519 1, NULL, true, 0, NULL);
11521 return offset;
11525 static const per_sequence_t MatchingUEidItem_PerGP_sequence[] = {
11526 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11527 { NULL, 0, 0, NULL }
11530 static int
11531 dissect_e2ap_MatchingUEidItem_PerGP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11532 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11533 ett_e2ap_MatchingUEidItem_PerGP, MatchingUEidItem_PerGP_sequence);
11535 return offset;
11539 static const per_sequence_t MatchingUEidList_PerGP_sequence_of[1] = {
11540 { &hf_e2ap_MatchingUEidList_PerGP_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidItem_PerGP },
11543 static int
11544 dissect_e2ap_MatchingUEidList_PerGP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11545 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11546 ett_e2ap_MatchingUEidList_PerGP, MatchingUEidList_PerGP_sequence_of,
11547 1, maxnoofUEID, false);
11549 return offset;
11553 static const value_string e2ap_T_matchedPerGP_vals[] = {
11554 { 0, "noUEmatched" },
11555 { 1, "oneOrMoreUEmatched" },
11556 { 0, NULL }
11559 static const per_choice_t T_matchedPerGP_choice[] = {
11560 { 0, &hf_e2ap_noUEmatched , ASN1_EXTENSION_ROOT , dissect_e2ap_T_noUEmatched },
11561 { 1, &hf_e2ap_oneOrMoreUEmatched, ASN1_EXTENSION_ROOT , dissect_e2ap_MatchingUEidList_PerGP },
11562 { 0, NULL, 0, NULL }
11565 static int
11566 dissect_e2ap_T_matchedPerGP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11567 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11568 ett_e2ap_T_matchedPerGP, T_matchedPerGP_choice,
11569 NULL);
11571 return offset;
11575 static const per_sequence_t MatchingUEidPerGP_Item_sequence[] = {
11576 { &hf_e2ap_matchedPerGP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_matchedPerGP },
11577 { NULL, 0, 0, NULL }
11580 static int
11581 dissect_e2ap_MatchingUEidPerGP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11582 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11583 ett_e2ap_MatchingUEidPerGP_Item, MatchingUEidPerGP_Item_sequence);
11585 return offset;
11589 static const per_sequence_t MatchingUEidPerGP_sequence_of[1] = {
11590 { &hf_e2ap_MatchingUEidPerGP_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerGP_Item },
11593 static int
11594 dissect_e2ap_MatchingUEidPerGP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11595 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11596 ett_e2ap_MatchingUEidPerGP, MatchingUEidPerGP_sequence_of,
11597 1, maxnoofMeasurementRecord, false);
11599 return offset;
11603 static const per_sequence_t MeasurementCondUEidItem_sequence[] = {
11604 { &hf_e2ap_measType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementType },
11605 { &hf_e2ap_matchingCond , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingCondList },
11606 { &hf_e2ap_matchingUEidList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_MatchingUEidList },
11607 { &hf_e2ap_matchingUEidPerGP, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_MatchingUEidPerGP },
11608 { NULL, 0, 0, NULL }
11611 static int
11612 dissect_e2ap_MeasurementCondUEidItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11613 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11614 ett_e2ap_MeasurementCondUEidItem, MeasurementCondUEidItem_sequence);
11616 return offset;
11620 static const per_sequence_t MeasurementCondUEidList_sequence_of[1] = {
11621 { &hf_e2ap_MeasurementCondUEidList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondUEidItem },
11624 static int
11625 dissect_e2ap_MeasurementCondUEidList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11626 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11627 ett_e2ap_MeasurementCondUEidList, MeasurementCondUEidList_sequence_of,
11628 1, maxnoofMeasurementInfo, false);
11630 return offset;
11634 static const per_sequence_t MatchingUeCondPerSubItem_sequence[] = {
11635 { &hf_e2ap_testCondInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TestCondInfo },
11636 { &hf_e2ap_logicalOR , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_LogicalOR },
11637 { NULL, 0, 0, NULL }
11640 static int
11641 dissect_e2ap_MatchingUeCondPerSubItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11643 ett_e2ap_MatchingUeCondPerSubItem, MatchingUeCondPerSubItem_sequence);
11645 return offset;
11649 static const per_sequence_t MatchingUeCondPerSubList_sequence_of[1] = {
11650 { &hf_e2ap_MatchingUeCondPerSubList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUeCondPerSubItem },
11653 static int
11654 dissect_e2ap_MatchingUeCondPerSubList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11655 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11656 ett_e2ap_MatchingUeCondPerSubList, MatchingUeCondPerSubList_sequence_of,
11657 1, maxnoofConditionInfoPerSub, false);
11659 return offset;
11663 static const per_sequence_t MatchingUEidPerSubItem_sequence[] = {
11664 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11665 { NULL, 0, 0, NULL }
11668 static int
11669 dissect_e2ap_MatchingUEidPerSubItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11671 ett_e2ap_MatchingUEidPerSubItem, MatchingUEidPerSubItem_sequence);
11673 return offset;
11677 static const per_sequence_t MatchingUEidPerSubList_sequence_of[1] = {
11678 { &hf_e2ap_MatchingUEidPerSubList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerSubItem },
11681 static int
11682 dissect_e2ap_MatchingUEidPerSubList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11683 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11684 ett_e2ap_MatchingUEidPerSubList, MatchingUEidPerSubList_sequence_of,
11685 2, maxnoofUEIDPerSub, false);
11687 return offset;
11691 static const per_sequence_t E2SM_KPM_IndicationMessage_Format1_sequence[] = {
11692 { &hf_e2ap_measData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementData },
11693 { &hf_e2ap_measInfoList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_MeasurementInfoList },
11694 { &hf_e2ap_granulPeriod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GranularityPeriod },
11695 { NULL, 0, 0, NULL }
11698 static int
11699 dissect_e2ap_E2SM_KPM_IndicationMessage_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11700 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11701 ett_e2ap_E2SM_KPM_IndicationMessage_Format1, E2SM_KPM_IndicationMessage_Format1_sequence);
11703 return offset;
11707 static const per_sequence_t UEMeasurementReportItem_sequence[] = {
11708 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11709 { &hf_e2ap_measReport , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_IndicationMessage_Format1 },
11710 { NULL, 0, 0, NULL }
11713 static int
11714 dissect_e2ap_UEMeasurementReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11715 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11716 ett_e2ap_UEMeasurementReportItem, UEMeasurementReportItem_sequence);
11718 return offset;
11722 static const per_sequence_t UEMeasurementReportList_sequence_of[1] = {
11723 { &hf_e2ap_UEMeasurementReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_UEMeasurementReportItem },
11726 static int
11727 dissect_e2ap_UEMeasurementReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11728 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
11729 ett_e2ap_UEMeasurementReportList, UEMeasurementReportList_sequence_of,
11730 1, maxnoofUEMeasReport, false);
11732 return offset;
11737 static int
11738 dissect_e2ap_INTEGER_1_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11739 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
11740 1U, 4294967295U, NULL, false);
11742 return offset;
11746 static const per_sequence_t E2SM_KPM_EventTriggerDefinition_Format1_sequence[] = {
11747 { &hf_e2ap_reportingPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_INTEGER_1_4294967295 },
11748 { NULL, 0, 0, NULL }
11751 static int
11752 dissect_e2ap_E2SM_KPM_EventTriggerDefinition_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11754 ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1, E2SM_KPM_EventTriggerDefinition_Format1_sequence);
11756 return offset;
11760 static const value_string e2ap_T_eventDefinition_formats_vals[] = {
11761 { 0, "eventDefinition-Format1" },
11762 { 0, NULL }
11765 static const per_choice_t T_eventDefinition_formats_choice[] = {
11766 { 0, &hf_e2ap_eventDefinition_Format1, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_EventTriggerDefinition_Format1 },
11767 { 0, NULL, 0, NULL }
11770 static int
11771 dissect_e2ap_T_eventDefinition_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11772 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11773 ett_e2ap_T_eventDefinition_formats, T_eventDefinition_formats_choice,
11774 NULL);
11776 return offset;
11780 static const per_sequence_t E2SM_KPM_EventTriggerDefinition_sequence[] = {
11781 { &hf_e2ap_eventDefinition_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_eventDefinition_formats },
11782 { NULL, 0, 0, NULL }
11785 static int
11786 dissect_e2ap_E2SM_KPM_EventTriggerDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11787 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11788 ett_e2ap_E2SM_KPM_EventTriggerDefinition, E2SM_KPM_EventTriggerDefinition_sequence);
11790 return offset;
11794 static const per_sequence_t E2SM_KPM_ActionDefinition_Format1_sequence[] = {
11795 { &hf_e2ap_measInfoList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfoList },
11796 { &hf_e2ap_granulPeriod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GranularityPeriod },
11797 { &hf_e2ap_cellGlobalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_CGI },
11798 { &hf_e2ap_distMeasBinRangeInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_e2ap_DistMeasurementBinRangeList },
11799 { NULL, 0, 0, NULL }
11802 static int
11803 dissect_e2ap_E2SM_KPM_ActionDefinition_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11804 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11805 ett_e2ap_E2SM_KPM_ActionDefinition_Format1, E2SM_KPM_ActionDefinition_Format1_sequence);
11807 return offset;
11811 static const per_sequence_t E2SM_KPM_ActionDefinition_Format2_sequence[] = {
11812 { &hf_e2ap_ueID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEID },
11813 { &hf_e2ap_subscriptInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11814 { NULL, 0, 0, NULL }
11817 static int
11818 dissect_e2ap_E2SM_KPM_ActionDefinition_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11819 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11820 ett_e2ap_E2SM_KPM_ActionDefinition_Format2, E2SM_KPM_ActionDefinition_Format2_sequence);
11822 return offset;
11826 static const per_sequence_t E2SM_KPM_ActionDefinition_Format3_sequence[] = {
11827 { &hf_e2ap_measCondList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondList },
11828 { &hf_e2ap_granulPeriod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_GranularityPeriod },
11829 { &hf_e2ap_cellGlobalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_CGI },
11830 { NULL, 0, 0, NULL }
11833 static int
11834 dissect_e2ap_E2SM_KPM_ActionDefinition_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11835 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11836 ett_e2ap_E2SM_KPM_ActionDefinition_Format3, E2SM_KPM_ActionDefinition_Format3_sequence);
11838 return offset;
11842 static const per_sequence_t E2SM_KPM_ActionDefinition_Format4_sequence[] = {
11843 { &hf_e2ap_matchingUeCondList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUeCondPerSubList },
11844 { &hf_e2ap_subscriptionInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11845 { NULL, 0, 0, NULL }
11848 static int
11849 dissect_e2ap_E2SM_KPM_ActionDefinition_Format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11850 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11851 ett_e2ap_E2SM_KPM_ActionDefinition_Format4, E2SM_KPM_ActionDefinition_Format4_sequence);
11853 return offset;
11857 static const per_sequence_t E2SM_KPM_ActionDefinition_Format5_sequence[] = {
11858 { &hf_e2ap_matchingUEidList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MatchingUEidPerSubList },
11859 { &hf_e2ap_subscriptionInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11860 { NULL, 0, 0, NULL }
11863 static int
11864 dissect_e2ap_E2SM_KPM_ActionDefinition_Format5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11865 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11866 ett_e2ap_E2SM_KPM_ActionDefinition_Format5, E2SM_KPM_ActionDefinition_Format5_sequence);
11868 return offset;
11872 static const value_string e2ap_T_actionDefinition_formats_vals[] = {
11873 { 0, "actionDefinition-Format1" },
11874 { 1, "actionDefinition-Format2" },
11875 { 2, "actionDefinition-Format3" },
11876 { 3, "actionDefinition-Format4" },
11877 { 4, "actionDefinition-Format5" },
11878 { 0, NULL }
11881 static const per_choice_t T_actionDefinition_formats_choice[] = {
11882 { 0, &hf_e2ap_actionDefinition_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_ActionDefinition_Format1 },
11883 { 1, &hf_e2ap_actionDefinition_Format2_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_ActionDefinition_Format2 },
11884 { 2, &hf_e2ap_actionDefinition_Format3_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_ActionDefinition_Format3 },
11885 { 3, &hf_e2ap_actionDefinition_Format4_01, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_ActionDefinition_Format4 },
11886 { 4, &hf_e2ap_actionDefinition_Format5, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_ActionDefinition_Format5 },
11887 { 0, NULL, 0, NULL }
11890 static int
11891 dissect_e2ap_T_actionDefinition_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11892 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11893 ett_e2ap_T_actionDefinition_formats, T_actionDefinition_formats_choice,
11894 NULL);
11896 return offset;
11900 static const per_sequence_t E2SM_KPM_ActionDefinition_sequence[] = {
11901 { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
11902 { &hf_e2ap_actionDefinition_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_actionDefinition_formats },
11903 { NULL, 0, 0, NULL }
11906 static int
11907 dissect_e2ap_E2SM_KPM_ActionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11908 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11909 ett_e2ap_E2SM_KPM_ActionDefinition, E2SM_KPM_ActionDefinition_sequence);
11911 return offset;
11916 static int
11917 dissect_e2ap_T_colletStartTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11918 int ts_offset = offset;
11919 offset = dissect_e2ap_TimeStamp(tvb, offset, actx, tree, hf_index);
11921 /* Add as a generated field the timestamp decoded */
11922 const char *time_str = tvb_ntp_fmt_ts_sec(tvb, (ts_offset+7)/8);
11923 proto_item *ti = proto_tree_add_string(tree, hf_e2ap_timestamp_string, tvb, (ts_offset+7)/8, 4, time_str);
11924 proto_item_set_generated(ti);
11929 return offset;
11934 static int
11935 dissect_e2ap_PrintableString_SIZE_0_15_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11936 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11937 0, 15, true,
11938 NULL);
11940 return offset;
11945 static int
11946 dissect_e2ap_PrintableString_SIZE_0_400_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11947 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11948 0, 400, true,
11949 NULL);
11951 return offset;
11956 static int
11957 dissect_e2ap_PrintableString_SIZE_0_8_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11958 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11959 0, 8, true,
11960 NULL);
11962 return offset;
11967 static int
11968 dissect_e2ap_PrintableString_SIZE_0_32_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11969 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
11970 0, 32, true,
11971 NULL);
11973 return offset;
11977 static const per_sequence_t E2SM_KPM_IndicationHeader_Format1_sequence[] = {
11978 { &hf_e2ap_colletStartTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_colletStartTime },
11979 { &hf_e2ap_fileFormatversion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_PrintableString_SIZE_0_15_ },
11980 { &hf_e2ap_senderName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_PrintableString_SIZE_0_400_ },
11981 { &hf_e2ap_senderType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_PrintableString_SIZE_0_8_ },
11982 { &hf_e2ap_vendorName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_PrintableString_SIZE_0_32_ },
11983 { NULL, 0, 0, NULL }
11986 static int
11987 dissect_e2ap_E2SM_KPM_IndicationHeader_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11988 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11989 ett_e2ap_E2SM_KPM_IndicationHeader_Format1, E2SM_KPM_IndicationHeader_Format1_sequence);
11991 return offset;
11995 static const value_string e2ap_T_indicationHeader_formats_vals[] = {
11996 { 0, "indicationHeader-Format1" },
11997 { 0, NULL }
12000 static const per_choice_t T_indicationHeader_formats_choice[] = {
12001 { 0, &hf_e2ap_indicationHeader_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_IndicationHeader_Format1 },
12002 { 0, NULL, 0, NULL }
12005 static int
12006 dissect_e2ap_T_indicationHeader_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12007 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12008 ett_e2ap_T_indicationHeader_formats, T_indicationHeader_formats_choice,
12009 NULL);
12011 return offset;
12015 static const per_sequence_t E2SM_KPM_IndicationHeader_sequence[] = {
12016 { &hf_e2ap_indicationHeader_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_indicationHeader_formats },
12017 { NULL, 0, 0, NULL }
12020 static int
12021 dissect_e2ap_E2SM_KPM_IndicationHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12022 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12023 ett_e2ap_E2SM_KPM_IndicationHeader, E2SM_KPM_IndicationHeader_sequence);
12025 return offset;
12029 static const per_sequence_t E2SM_KPM_IndicationMessage_Format2_sequence[] = {
12030 { &hf_e2ap_measData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementData },
12031 { &hf_e2ap_measCondUEidList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementCondUEidList },
12032 { &hf_e2ap_granulPeriod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_GranularityPeriod },
12033 { NULL, 0, 0, NULL }
12036 static int
12037 dissect_e2ap_E2SM_KPM_IndicationMessage_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12038 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12039 ett_e2ap_E2SM_KPM_IndicationMessage_Format2, E2SM_KPM_IndicationMessage_Format2_sequence);
12041 return offset;
12045 static const per_sequence_t E2SM_KPM_IndicationMessage_Format3_sequence[] = {
12046 { &hf_e2ap_ueMeasReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_UEMeasurementReportList },
12047 { NULL, 0, 0, NULL }
12050 static int
12051 dissect_e2ap_E2SM_KPM_IndicationMessage_Format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12052 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12053 ett_e2ap_E2SM_KPM_IndicationMessage_Format3, E2SM_KPM_IndicationMessage_Format3_sequence);
12055 return offset;
12059 static const value_string e2ap_T_indicationMessage_formats_vals[] = {
12060 { 0, "indicationMessage-Format1" },
12061 { 1, "indicationMessage-Format2" },
12062 { 2, "indicationMessage-Format3" },
12063 { 0, NULL }
12066 static const per_choice_t T_indicationMessage_formats_choice[] = {
12067 { 0, &hf_e2ap_indicationMessage_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_IndicationMessage_Format1 },
12068 { 1, &hf_e2ap_indicationMessage_Format2_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_KPM_IndicationMessage_Format2 },
12069 { 2, &hf_e2ap_indicationMessage_Format3_01, ASN1_NOT_EXTENSION_ROOT, dissect_e2ap_E2SM_KPM_IndicationMessage_Format3 },
12070 { 0, NULL, 0, NULL }
12073 static int
12074 dissect_e2ap_T_indicationMessage_formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12075 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12076 ett_e2ap_T_indicationMessage_formats, T_indicationMessage_formats_choice,
12077 NULL);
12079 return offset;
12083 static const per_sequence_t E2SM_KPM_IndicationMessage_sequence[] = {
12084 { &hf_e2ap_indicationMessage_formats, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_T_indicationMessage_formats },
12085 { NULL, 0, 0, NULL }
12088 static int
12089 dissect_e2ap_E2SM_KPM_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12090 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12091 ett_e2ap_E2SM_KPM_IndicationMessage, E2SM_KPM_IndicationMessage_sequence);
12093 return offset;
12097 static const per_sequence_t RIC_EventTriggerStyle_Item_sequence[] = {
12098 { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12099 { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
12100 { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12101 { NULL, 0, 0, NULL }
12104 static int
12105 dissect_e2ap_RIC_EventTriggerStyle_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12106 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12107 ett_e2ap_RIC_EventTriggerStyle_Item, RIC_EventTriggerStyle_Item_sequence);
12109 return offset;
12113 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item_sequence_of[1] = {
12114 { &hf_e2ap_ric_EventTriggerStyle_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerStyle_Item },
12117 static int
12118 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12119 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12120 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item_sequence_of,
12121 1, maxnoofRICStyles, false);
12123 return offset;
12127 static const per_sequence_t RIC_ReportStyle_Item_sequence[] = {
12128 { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12129 { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
12130 { &hf_e2ap_ric_ActionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12131 { &hf_e2ap_measInfo_Action_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_MeasurementInfo_Action_List },
12132 { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12133 { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
12134 { NULL, 0, 0, NULL }
12137 static int
12138 dissect_e2ap_RIC_ReportStyle_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12139 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12140 ett_e2ap_RIC_ReportStyle_Item, RIC_ReportStyle_Item_sequence);
12142 return offset;
12146 static const per_sequence_t SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item_sequence_of[1] = {
12147 { &hf_e2ap_ric_ReportStyle_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ReportStyle_Item },
12150 static int
12151 dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12152 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12153 ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item, SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item_sequence_of,
12154 1, maxnoofRICStyles, false);
12156 return offset;
12160 static const per_sequence_t E2SM_KPM_RANfunction_Description_sequence[] = {
12161 { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
12162 { &hf_e2ap_ric_EventTriggerStyle_List_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item },
12163 { &hf_e2ap_ric_ReportStyle_List_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item },
12164 { NULL, 0, 0, NULL }
12167 static int
12168 dissect_e2ap_E2SM_KPM_RANfunction_Description(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12169 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12170 ett_e2ap_E2SM_KPM_RANfunction_Description, E2SM_KPM_RANfunction_Description_sequence);
12172 return offset;
12176 static const value_string e2ap_NI_Type_vals[] = {
12177 { 0, "s1" },
12178 { 1, "x2" },
12179 { 2, "ng" },
12180 { 3, "xn" },
12181 { 4, "f1" },
12182 { 5, "e1" },
12183 { 0, NULL }
12187 static int
12188 dissect_e2ap_NI_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12189 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12190 6, NULL, true, 0, NULL);
12192 return offset;
12197 static int
12198 dissect_e2ap_Global_eNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12199 offset = dissect_e2ap_GlobalENB_ID(tvb, offset, actx, tree, hf_index);
12201 return offset;
12206 static int
12207 dissect_e2ap_Global_en_gNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12208 offset = dissect_e2ap_GlobalenGNB_ID(tvb, offset, actx, tree, hf_index);
12210 return offset;
12215 static int
12216 dissect_e2ap_Global_ng_RAN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12217 offset = dissect_e2ap_GlobalNG_RANNode_ID(tvb, offset, actx, tree, hf_index);
12219 return offset;
12223 static const per_sequence_t Global_gNB_DU_ID_sequence[] = {
12224 { &hf_e2ap_global_ng_RAN_ID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Global_ng_RAN_ID },
12225 { &hf_e2ap_gNB_DU_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_DU_ID },
12226 { NULL, 0, 0, NULL }
12229 static int
12230 dissect_e2ap_Global_gNB_DU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12231 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12232 ett_e2ap_Global_gNB_DU_ID, Global_gNB_DU_ID_sequence);
12234 return offset;
12238 static const per_sequence_t Global_gNB_CU_UP_ID_sequence[] = {
12239 { &hf_e2ap_global_ng_RAN_ID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_Global_ng_RAN_ID },
12240 { &hf_e2ap_gNB_CU_UP_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_GNB_CU_UP_ID },
12241 { NULL, 0, 0, NULL }
12244 static int
12245 dissect_e2ap_Global_gNB_CU_UP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12246 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12247 ett_e2ap_Global_gNB_CU_UP_ID, Global_gNB_CU_UP_ID_sequence);
12249 return offset;
12253 static const value_string e2ap_NI_Identifier_vals[] = {
12254 { 0, "global-eNB-ID" },
12255 { 1, "global-en-gNB-ID" },
12256 { 2, "global-ng-RAN-ID" },
12257 { 3, "global-gNB-DU-ID" },
12258 { 4, "global-gNB-CU-UP-ID" },
12259 { 0, NULL }
12262 static const per_choice_t NI_Identifier_choice[] = {
12263 { 0, &hf_e2ap_global_eNB_ID_01, ASN1_EXTENSION_ROOT , dissect_e2ap_Global_eNB_ID },
12264 { 1, &hf_e2ap_global_en_gNB_ID_01, ASN1_EXTENSION_ROOT , dissect_e2ap_Global_en_gNB_ID },
12265 { 2, &hf_e2ap_global_ng_RAN_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_Global_ng_RAN_ID },
12266 { 3, &hf_e2ap_global_gNB_DU_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_Global_gNB_DU_ID },
12267 { 4, &hf_e2ap_global_gNB_CU_UP_ID, ASN1_EXTENSION_ROOT , dissect_e2ap_Global_gNB_CU_UP_ID },
12268 { 0, NULL, 0, NULL }
12271 static int
12272 dissect_e2ap_NI_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12273 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12274 ett_e2ap_NI_Identifier, NI_Identifier_choice,
12275 NULL);
12277 return offset;
12281 static const value_string e2ap_NI_Direction_vals[] = {
12282 { 0, "incoming" },
12283 { 1, "outgoing" },
12284 { 2, "both" },
12285 { 0, NULL }
12289 static int
12290 dissect_e2ap_NI_Direction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12291 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12292 3, NULL, true, 0, NULL);
12294 return offset;
12298 static const value_string e2ap_TypeOfMessage_vals[] = {
12299 { 0, "nothing" },
12300 { 1, "initiating-message" },
12301 { 2, "successful-outcome" },
12302 { 3, "unsuccessful-outcome" },
12303 { 0, NULL }
12307 static int
12308 dissect_e2ap_TypeOfMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12309 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12310 4, NULL, false, 0, NULL);
12312 return offset;
12316 static const per_sequence_t NI_MessageTypeApproach1_sequence[] = {
12317 { &hf_e2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_ProcedureCode },
12318 { &hf_e2ap_typeOfMessage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_TypeOfMessage },
12319 { NULL, 0, 0, NULL }
12322 static int
12323 dissect_e2ap_NI_MessageTypeApproach1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12324 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12325 ett_e2ap_NI_MessageTypeApproach1, NI_MessageTypeApproach1_sequence);
12327 return offset;
12332 static int
12333 dissect_e2ap_NI_MessageTypeS1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12334 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12336 return offset;
12341 static int
12342 dissect_e2ap_NI_MessageTypeX2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12343 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12345 return offset;
12350 static int
12351 dissect_e2ap_NI_MessageTypeNG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12352 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12354 return offset;
12359 static int
12360 dissect_e2ap_NI_MessageTypeXn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12361 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12363 return offset;
12368 static int
12369 dissect_e2ap_NI_MessageTypeF1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12370 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12372 return offset;
12377 static int
12378 dissect_e2ap_NI_MessageTypeE1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12379 offset = dissect_e2ap_NI_MessageTypeApproach1(tvb, offset, actx, tree, hf_index);
12381 return offset;
12385 static const value_string e2ap_NI_MessageType_vals[] = {
12386 { 0, "s1MessageType" },
12387 { 1, "x2MessageType" },
12388 { 2, "ngMessageType" },
12389 { 3, "xnMessageType" },
12390 { 4, "f1MessageType" },
12391 { 5, "e1MessageType" },
12392 { 0, NULL }
12395 static const per_choice_t NI_MessageType_choice[] = {
12396 { 0, &hf_e2ap_s1MessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeS1 },
12397 { 1, &hf_e2ap_x2MessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeX2 },
12398 { 2, &hf_e2ap_ngMessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeNG },
12399 { 3, &hf_e2ap_xnMessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeXn },
12400 { 4, &hf_e2ap_f1MessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeF1 },
12401 { 5, &hf_e2ap_e1MessageType , ASN1_EXTENSION_ROOT , dissect_e2ap_NI_MessageTypeE1 },
12402 { 0, NULL, 0, NULL }
12405 static int
12406 dissect_e2ap_NI_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12407 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12408 ett_e2ap_NI_MessageType, NI_MessageType_choice,
12409 NULL);
12411 return offset;
12416 static int
12417 dissect_e2ap_NI_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12418 offset = dissect_e2ap_ProtocolIE_ID(tvb, offset, actx, tree, hf_index);
12420 return offset;
12424 static const value_string e2ap_NI_ProtocolIE_Test_vals[] = {
12425 { 0, "equal" },
12426 { 1, "greaterthan" },
12427 { 2, "lessthan" },
12428 { 3, "contains" },
12429 { 4, "present" },
12430 { 0, NULL }
12434 static int
12435 dissect_e2ap_NI_ProtocolIE_Test(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12436 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12437 5, NULL, true, 0, NULL);
12439 return offset;
12443 static const value_string e2ap_NI_ProtocolIE_Value_vals[] = {
12444 { 0, "valueInt" },
12445 { 1, "valueEnum" },
12446 { 2, "valueBool" },
12447 { 3, "valueBitS" },
12448 { 4, "valueOctS" },
12449 { 5, "valuePrtS" },
12450 { 0, NULL }
12453 static const per_choice_t NI_ProtocolIE_Value_choice[] = {
12454 { 0, &hf_e2ap_valueInt , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
12455 { 1, &hf_e2ap_valueEnum , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
12456 { 2, &hf_e2ap_valueBool , ASN1_EXTENSION_ROOT , dissect_e2ap_BOOLEAN },
12457 { 3, &hf_e2ap_valueBitS , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING },
12458 { 4, &hf_e2ap_valueOctS , ASN1_EXTENSION_ROOT , dissect_e2ap_OCTET_STRING },
12459 { 5, &hf_e2ap_valuePrtS , ASN1_EXTENSION_ROOT , dissect_e2ap_PrintableString },
12460 { 0, NULL, 0, NULL }
12463 static int
12464 dissect_e2ap_NI_ProtocolIE_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12465 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12466 ett_e2ap_NI_ProtocolIE_Value, NI_ProtocolIE_Value_choice,
12467 NULL);
12469 return offset;
12473 static const per_sequence_t NI_ProtocolIE_Item_sequence[] = {
12474 { &hf_e2ap_interfaceProtocolIE_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_ID },
12475 { &hf_e2ap_interfaceProtocolIE_Test, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Test },
12476 { &hf_e2ap_interfaceProtocolIE_Value, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Value },
12477 { NULL, 0, 0, NULL }
12480 static int
12481 dissect_e2ap_NI_ProtocolIE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12482 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12483 ett_e2ap_NI_ProtocolIE_Item, NI_ProtocolIE_Item_sequence);
12485 return offset;
12489 static const per_sequence_t SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item_sequence_of[1] = {
12490 { &hf_e2ap_interfaceProtocolIE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_ProtocolIE_Item },
12493 static int
12494 dissect_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12495 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12496 ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item, SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item_sequence_of,
12497 1, maxofInterfaceProtocolTests, false);
12499 return offset;
12503 static const per_sequence_t E2SM_NI_EventTriggerDefinition_Format1_sequence[] = {
12504 { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12505 { &hf_e2ap_interface_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12506 { &hf_e2ap_interfaceDirection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12507 { &hf_e2ap_interfaceMessageType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_MessageType },
12508 { &hf_e2ap_interfaceProtocolIE_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item },
12509 { NULL, 0, 0, NULL }
12512 static int
12513 dissect_e2ap_E2SM_NI_EventTriggerDefinition_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12514 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12515 ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1, E2SM_NI_EventTriggerDefinition_Format1_sequence);
12517 return offset;
12521 static const value_string e2ap_E2SM_NI_EventTriggerDefinition_vals[] = {
12522 { 0, "eventDefinition-Format1" },
12523 { 0, NULL }
12526 static const per_choice_t E2SM_NI_EventTriggerDefinition_choice[] = {
12527 { 0, &hf_e2ap_eventDefinition_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_EventTriggerDefinition_Format1 },
12528 { 0, NULL, 0, NULL }
12531 static int
12532 dissect_e2ap_E2SM_NI_EventTriggerDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12533 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12534 ett_e2ap_E2SM_NI_EventTriggerDefinition, E2SM_NI_EventTriggerDefinition_choice,
12535 NULL);
12537 return offset;
12542 static int
12543 dissect_e2ap_RANparameter_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12544 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12545 0U, maxofRANparameters, NULL, false);
12547 return offset;
12551 static const value_string e2ap_RANparameter_Value_vals[] = {
12552 { 0, "valueInt" },
12553 { 1, "valueEnum" },
12554 { 2, "valueBool" },
12555 { 3, "valueBitS" },
12556 { 4, "valueOctS" },
12557 { 5, "valuePrtS" },
12558 { 0, NULL }
12561 static const per_choice_t RANparameter_Value_choice[] = {
12562 { 0, &hf_e2ap_valueInt , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
12563 { 1, &hf_e2ap_valueEnum , ASN1_EXTENSION_ROOT , dissect_e2ap_INTEGER },
12564 { 2, &hf_e2ap_valueBool , ASN1_EXTENSION_ROOT , dissect_e2ap_BOOLEAN },
12565 { 3, &hf_e2ap_valueBitS , ASN1_EXTENSION_ROOT , dissect_e2ap_BIT_STRING },
12566 { 4, &hf_e2ap_valueOctS , ASN1_EXTENSION_ROOT , dissect_e2ap_OCTET_STRING },
12567 { 5, &hf_e2ap_valuePrtS , ASN1_EXTENSION_ROOT , dissect_e2ap_PrintableString },
12568 { 0, NULL, 0, NULL }
12571 static int
12572 dissect_e2ap_RANparameter_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12573 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12574 ett_e2ap_RANparameter_Value, RANparameter_Value_choice,
12575 NULL);
12577 return offset;
12581 static const per_sequence_t RANparameter_Item_sequence[] = {
12582 { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
12583 { &hf_e2ap_ranParameter_Value_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Value },
12584 { NULL, 0, 0, NULL }
12587 static int
12588 dissect_e2ap_RANparameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12589 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12590 ett_e2ap_RANparameter_Item, RANparameter_Item_sequence);
12592 return offset;
12596 static const per_sequence_t SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item_sequence_of[1] = {
12597 { &hf_e2ap_actionParameter_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Item },
12600 static int
12601 dissect_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12602 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12603 ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item, SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item_sequence_of,
12604 1, maxofActionParameters, false);
12606 return offset;
12610 static const per_sequence_t E2SM_NI_ActionDefinition_Format1_sequence[] = {
12611 { &hf_e2ap_actionParameter_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item },
12612 { NULL, 0, 0, NULL }
12615 static int
12616 dissect_e2ap_E2SM_NI_ActionDefinition_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12617 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12618 ett_e2ap_E2SM_NI_ActionDefinition_Format1, E2SM_NI_ActionDefinition_Format1_sequence);
12620 return offset;
12625 static int
12626 dissect_e2ap_RANueGroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12627 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12628 0U, maxofRANueGroups, NULL, false);
12630 return offset;
12634 static const value_string e2ap_RANparameter_Test_Condition_vals[] = {
12635 { 0, "equal" },
12636 { 1, "greaterthan" },
12637 { 2, "lessthan" },
12638 { 3, "contains" },
12639 { 4, "present" },
12640 { 0, NULL }
12644 static int
12645 dissect_e2ap_RANparameter_Test_Condition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12646 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
12647 5, NULL, true, 0, NULL);
12649 return offset;
12653 static const per_sequence_t RANueGroupDef_Item_sequence[] = {
12654 { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
12655 { &hf_e2ap_ranParameter_Test, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Test_Condition },
12656 { &hf_e2ap_ranParameter_Value_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Value },
12657 { NULL, 0, 0, NULL }
12660 static int
12661 dissect_e2ap_RANueGroupDef_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12662 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12663 ett_e2ap_RANueGroupDef_Item, RANueGroupDef_Item_sequence);
12665 return offset;
12669 static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item_sequence_of[1] = {
12670 { &hf_e2ap_ranUEgroupDef_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupDef_Item },
12673 static int
12674 dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12675 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12676 ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item_sequence_of,
12677 1, maxofRANparameters, false);
12679 return offset;
12683 static const per_sequence_t RANueGroupDefinition_sequence[] = {
12684 { &hf_e2ap_ranUEgroupDef_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item },
12685 { NULL, 0, 0, NULL }
12688 static int
12689 dissect_e2ap_RANueGroupDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12690 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12691 ett_e2ap_RANueGroupDefinition, RANueGroupDefinition_sequence);
12693 return offset;
12697 static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item_sequence_of[1] = {
12698 { &hf_e2ap_outcomeElement_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Item },
12701 static int
12702 dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12703 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12704 ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item_sequence_of,
12705 1, maxofRANparameters, false);
12707 return offset;
12711 static const per_sequence_t RANimperativePolicy_sequence[] = {
12712 { &hf_e2ap_ranImperativePolicy_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item },
12713 { NULL, 0, 0, NULL }
12716 static int
12717 dissect_e2ap_RANimperativePolicy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12718 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12719 ett_e2ap_RANimperativePolicy, RANimperativePolicy_sequence);
12721 return offset;
12725 static const per_sequence_t RANueGroup_Item_sequence[] = {
12726 { &hf_e2ap_ranUEgroupID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupID },
12727 { &hf_e2ap_ranUEgroupDefinition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroupDefinition },
12728 { &hf_e2ap_ranPolicy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANimperativePolicy },
12729 { NULL, 0, 0, NULL }
12732 static int
12733 dissect_e2ap_RANueGroup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12734 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12735 ett_e2ap_RANueGroup_Item, RANueGroup_Item_sequence);
12737 return offset;
12741 static const per_sequence_t SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item_sequence_of[1] = {
12742 { &hf_e2ap_ranUEgroup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANueGroup_Item },
12745 static int
12746 dissect_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12747 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
12748 ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item, SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item_sequence_of,
12749 1, maxofRANueGroups, false);
12751 return offset;
12755 static const per_sequence_t E2SM_NI_ActionDefinition_Format2_sequence[] = {
12756 { &hf_e2ap_ranUEgroup_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item },
12757 { NULL, 0, 0, NULL }
12760 static int
12761 dissect_e2ap_E2SM_NI_ActionDefinition_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12763 ett_e2ap_E2SM_NI_ActionDefinition_Format2, E2SM_NI_ActionDefinition_Format2_sequence);
12765 return offset;
12769 static const value_string e2ap_E2SM_NI_ActionDefinitionFormat_vals[] = {
12770 { 0, "actionDefinition-Format1" },
12771 { 1, "actionDefinition-Format2" },
12772 { 0, NULL }
12775 static const per_choice_t E2SM_NI_ActionDefinitionFormat_choice[] = {
12776 { 0, &hf_e2ap_actionDefinition_Format1_02, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_ActionDefinition_Format1 },
12777 { 1, &hf_e2ap_actionDefinition_Format2_02, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_ActionDefinition_Format2 },
12778 { 0, NULL, 0, NULL }
12781 static int
12782 dissect_e2ap_E2SM_NI_ActionDefinitionFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12783 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12784 ett_e2ap_E2SM_NI_ActionDefinitionFormat, E2SM_NI_ActionDefinitionFormat_choice,
12785 NULL);
12787 return offset;
12791 static const per_sequence_t E2SM_NI_ActionDefinition_sequence[] = {
12792 { &hf_e2ap_ric_Style_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
12793 { &hf_e2ap_action_Definition_Format, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_NI_ActionDefinitionFormat },
12794 { NULL, 0, 0, NULL }
12797 static int
12798 dissect_e2ap_E2SM_NI_ActionDefinition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12799 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12800 ett_e2ap_E2SM_NI_ActionDefinition, E2SM_NI_ActionDefinition_sequence);
12802 return offset;
12807 static int
12808 dissect_e2ap_NI_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12809 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
12810 8, 8, false, NULL);
12812 return offset;
12816 static const per_sequence_t E2SM_NI_IndicationHeader_Format1_sequence[] = {
12817 { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12818 { &hf_e2ap_interface_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12819 { &hf_e2ap_interfaceDirection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12820 { &hf_e2ap_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_NI_TimeStamp },
12821 { NULL, 0, 0, NULL }
12824 static int
12825 dissect_e2ap_E2SM_NI_IndicationHeader_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12826 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12827 ett_e2ap_E2SM_NI_IndicationHeader_Format1, E2SM_NI_IndicationHeader_Format1_sequence);
12829 return offset;
12833 static const value_string e2ap_E2SM_NI_IndicationHeader_vals[] = {
12834 { 0, "indicationHeader-Format1" },
12835 { 0, NULL }
12838 static const per_choice_t E2SM_NI_IndicationHeader_choice[] = {
12839 { 0, &hf_e2ap_indicationHeader_Format1_02, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_IndicationHeader_Format1 },
12840 { 0, NULL, 0, NULL }
12843 static int
12844 dissect_e2ap_E2SM_NI_IndicationHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12845 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12846 ett_e2ap_E2SM_NI_IndicationHeader, E2SM_NI_IndicationHeader_choice,
12847 NULL);
12849 return offset;
12854 static int
12855 dissect_e2ap_NI_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12856 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
12857 NO_BOUND, NO_BOUND, false, NULL);
12859 return offset;
12863 static const per_sequence_t E2SM_NI_IndicationMessage_Format1_sequence[] = {
12864 { &hf_e2ap_interfaceMessage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Message },
12865 { NULL, 0, 0, NULL }
12868 static int
12869 dissect_e2ap_E2SM_NI_IndicationMessage_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12870 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12871 ett_e2ap_E2SM_NI_IndicationMessage_Format1, E2SM_NI_IndicationMessage_Format1_sequence);
12873 return offset;
12877 static const value_string e2ap_E2SM_NI_IndicationMessage_vals[] = {
12878 { 0, "indicationMessage-Format1" },
12879 { 0, NULL }
12882 static const per_choice_t E2SM_NI_IndicationMessage_choice[] = {
12883 { 0, &hf_e2ap_indicationMessage_Format1_02, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_IndicationMessage_Format1 },
12884 { 0, NULL, 0, NULL }
12887 static int
12888 dissect_e2ap_E2SM_NI_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12889 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12890 ett_e2ap_E2SM_NI_IndicationMessage, E2SM_NI_IndicationMessage_choice,
12891 NULL);
12893 return offset;
12898 static int
12899 dissect_e2ap_RANcallProcess_ID_number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12900 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
12902 return offset;
12906 static const per_sequence_t E2SM_NI_CallProcessID_Format1_sequence[] = {
12907 { &hf_e2ap_callProcess_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANcallProcess_ID_number },
12908 { NULL, 0, 0, NULL }
12911 static int
12912 dissect_e2ap_E2SM_NI_CallProcessID_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12913 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12914 ett_e2ap_E2SM_NI_CallProcessID_Format1, E2SM_NI_CallProcessID_Format1_sequence);
12916 return offset;
12921 static int
12922 dissect_e2ap_RANcallProcess_ID_string(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12923 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
12924 1, 150, true,
12925 NULL);
12927 return offset;
12931 static const per_sequence_t E2SM_NI_CallProcessID_Format2_sequence[] = {
12932 { &hf_e2ap_callProcess_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANcallProcess_ID_string },
12933 { NULL, 0, 0, NULL }
12936 static int
12937 dissect_e2ap_E2SM_NI_CallProcessID_Format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12938 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12939 ett_e2ap_E2SM_NI_CallProcessID_Format2, E2SM_NI_CallProcessID_Format2_sequence);
12941 return offset;
12945 static const value_string e2ap_E2SM_NI_CallProcessID_vals[] = {
12946 { 0, "callProcessID-Format1" },
12947 { 1, "callProcessID-Format2" },
12948 { 0, NULL }
12951 static const per_choice_t E2SM_NI_CallProcessID_choice[] = {
12952 { 0, &hf_e2ap_callProcessID_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_CallProcessID_Format1 },
12953 { 1, &hf_e2ap_callProcessID_Format2, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_CallProcessID_Format2 },
12954 { 0, NULL, 0, NULL }
12957 static int
12958 dissect_e2ap_E2SM_NI_CallProcessID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12959 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12960 ett_e2ap_E2SM_NI_CallProcessID, E2SM_NI_CallProcessID_choice,
12961 NULL);
12963 return offset;
12968 static int
12969 dissect_e2ap_RIC_Control_Message_Priority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12970 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
12972 return offset;
12976 static const per_sequence_t E2SM_NI_ControlHeader_Format1_sequence[] = {
12977 { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
12978 { &hf_e2ap_interface_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Identifier },
12979 { &hf_e2ap_interface_Direction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Direction },
12980 { &hf_e2ap_ric_Control_Message_Priority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_RIC_Control_Message_Priority },
12981 { NULL, 0, 0, NULL }
12984 static int
12985 dissect_e2ap_E2SM_NI_ControlHeader_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12986 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12987 ett_e2ap_E2SM_NI_ControlHeader_Format1, E2SM_NI_ControlHeader_Format1_sequence);
12989 return offset;
12993 static const value_string e2ap_E2SM_NI_ControlHeader_vals[] = {
12994 { 0, "controlHeader-Format1" },
12995 { 0, NULL }
12998 static const per_choice_t E2SM_NI_ControlHeader_choice[] = {
12999 { 0, &hf_e2ap_controlHeader_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_ControlHeader_Format1 },
13000 { 0, NULL, 0, NULL }
13003 static int
13004 dissect_e2ap_E2SM_NI_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13005 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13006 ett_e2ap_E2SM_NI_ControlHeader, E2SM_NI_ControlHeader_choice,
13007 NULL);
13009 return offset;
13013 static const per_sequence_t E2SM_NI_ControlMessage_Format1_sequence[] = {
13014 { &hf_e2ap_interfaceMessage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Message },
13015 { NULL, 0, 0, NULL }
13018 static int
13019 dissect_e2ap_E2SM_NI_ControlMessage_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13020 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13021 ett_e2ap_E2SM_NI_ControlMessage_Format1, E2SM_NI_ControlMessage_Format1_sequence);
13023 return offset;
13027 static const value_string e2ap_E2SM_NI_ControlMessage_vals[] = {
13028 { 0, "controlMessage-Format1" },
13029 { 0, NULL }
13032 static const per_choice_t E2SM_NI_ControlMessage_choice[] = {
13033 { 0, &hf_e2ap_controlMessage_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_ControlMessage_Format1 },
13034 { 0, NULL, 0, NULL }
13037 static int
13038 dissect_e2ap_E2SM_NI_ControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13039 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13040 ett_e2ap_E2SM_NI_ControlMessage, E2SM_NI_ControlMessage_choice,
13041 NULL);
13043 return offset;
13047 static const per_sequence_t E2SM_NI_ControlOutcome_Format1_sequence[] = {
13048 { &hf_e2ap_outcomeElement_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item },
13049 { NULL, 0, 0, NULL }
13052 static int
13053 dissect_e2ap_E2SM_NI_ControlOutcome_Format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13054 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13055 ett_e2ap_E2SM_NI_ControlOutcome_Format1, E2SM_NI_ControlOutcome_Format1_sequence);
13057 return offset;
13061 static const value_string e2ap_E2SM_NI_ControlOutcome_vals[] = {
13062 { 0, "controlOutcome-Format1" },
13063 { 0, NULL }
13066 static const per_choice_t E2SM_NI_ControlOutcome_choice[] = {
13067 { 0, &hf_e2ap_controlOutcome_Format1_01, ASN1_EXTENSION_ROOT , dissect_e2ap_E2SM_NI_ControlOutcome_Format1 },
13068 { 0, NULL, 0, NULL }
13071 static int
13072 dissect_e2ap_E2SM_NI_ControlOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13073 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13074 ett_e2ap_E2SM_NI_ControlOutcome, E2SM_NI_ControlOutcome_choice,
13075 NULL);
13077 return offset;
13081 static const per_sequence_t RIC_EventTriggerStyle_List_sequence[] = {
13082 { &hf_e2ap_ric_EventTriggerStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13083 { &hf_e2ap_ric_EventTriggerStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13084 { &hf_e2ap_ric_EventTriggerFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13085 { NULL, 0, 0, NULL }
13088 static int
13089 dissect_e2ap_RIC_EventTriggerStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13090 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13091 ett_e2ap_RIC_EventTriggerStyle_List, RIC_EventTriggerStyle_List_sequence);
13093 return offset;
13097 static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List_sequence_of[1] = {
13098 { &hf_e2ap_ric_EventTriggerStyle_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_EventTriggerStyle_List },
13101 static int
13102 dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13103 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13104 ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List_sequence_of,
13105 1, maxofRICstyles, false);
13107 return offset;
13112 static int
13113 dissect_e2ap_RANparameter_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13114 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
13115 1, 150, true,
13116 NULL);
13118 return offset;
13122 static const value_string e2ap_RANparameter_Type_vals[] = {
13123 { 0, "integer" },
13124 { 1, "enumerated" },
13125 { 2, "boolean" },
13126 { 3, "bit-string" },
13127 { 4, "octet-string" },
13128 { 5, "printable-string" },
13129 { 0, NULL }
13133 static int
13134 dissect_e2ap_RANparameter_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13135 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
13136 6, NULL, true, 0, NULL);
13138 return offset;
13142 static const per_sequence_t RANparameterDef_Item_sequence[] = {
13143 { &hf_e2ap_ranParameter_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_ID },
13144 { &hf_e2ap_ranParameter_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Name },
13145 { &hf_e2ap_ranParameter_Type_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameter_Type },
13146 { NULL, 0, 0, NULL }
13149 static int
13150 dissect_e2ap_RANparameterDef_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13151 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13152 ett_e2ap_RANparameterDef_Item, RANparameterDef_Item_sequence);
13154 return offset;
13158 static const per_sequence_t SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item_sequence_of[1] = {
13159 { &hf_e2ap_ric_ControlOutcomeRanParaDef_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RANparameterDef_Item },
13162 static int
13163 dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13164 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13165 ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item, SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item_sequence_of,
13166 1, maxofRANparameters, false);
13168 return offset;
13172 static const per_sequence_t RIC_ReportStyle_List_sequence[] = {
13173 { &hf_e2ap_ric_ReportStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13174 { &hf_e2ap_ric_ReportStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13175 { &hf_e2ap_ric_ReportActionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13176 { &hf_e2ap_ric_ReportRanParameterDef_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13177 { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13178 { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13179 { NULL, 0, 0, NULL }
13182 static int
13183 dissect_e2ap_RIC_ReportStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13184 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13185 ett_e2ap_RIC_ReportStyle_List, RIC_ReportStyle_List_sequence);
13187 return offset;
13191 static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List_sequence_of[1] = {
13192 { &hf_e2ap_ric_ReportStyle_List_item_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ReportStyle_List },
13195 static int
13196 dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13197 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13198 ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List_sequence_of,
13199 1, maxofRICstyles, false);
13201 return offset;
13205 static const per_sequence_t RIC_InsertStyle_List_sequence[] = {
13206 { &hf_e2ap_ric_InsertStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13207 { &hf_e2ap_ric_InsertStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13208 { &hf_e2ap_ric_InsertActionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13209 { &hf_e2ap_ric_InsertRanParameterDef_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13210 { &hf_e2ap_ric_IndicationHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13211 { &hf_e2ap_ric_IndicationMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13212 { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13213 { NULL, 0, 0, NULL }
13216 static int
13217 dissect_e2ap_RIC_InsertStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13218 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13219 ett_e2ap_RIC_InsertStyle_List, RIC_InsertStyle_List_sequence);
13221 return offset;
13225 static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List_sequence_of[1] = {
13226 { &hf_e2ap_ric_InsertStyle_List_item_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_InsertStyle_List },
13229 static int
13230 dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13231 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13232 ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List_sequence_of,
13233 1, maxofRICstyles, false);
13235 return offset;
13239 static const per_sequence_t RIC_ControlStyle_List_sequence[] = {
13240 { &hf_e2ap_ric_ControlStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13241 { &hf_e2ap_ric_ControlStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13242 { &hf_e2ap_ric_ControlFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13243 { &hf_e2ap_ric_ControlHeaderFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13244 { &hf_e2ap_ric_ControlMessageFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13245 { &hf_e2ap_ric_CallProcessIDFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13246 { &hf_e2ap_ric_ControlOutcomeFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13247 { &hf_e2ap_ric_ControlOutcomeRanParaDef_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13248 { NULL, 0, 0, NULL }
13251 static int
13252 dissect_e2ap_RIC_ControlStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13253 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13254 ett_e2ap_RIC_ControlStyle_List, RIC_ControlStyle_List_sequence);
13256 return offset;
13260 static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List_sequence_of[1] = {
13261 { &hf_e2ap_ric_ControlStyle_List_item_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_ControlStyle_List },
13264 static int
13265 dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13266 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13267 ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List_sequence_of,
13268 1, maxofRICstyles, false);
13270 return offset;
13274 static const per_sequence_t RIC_PolicyStyle_List_sequence[] = {
13275 { &hf_e2ap_ric_PolicyStyle_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Type },
13276 { &hf_e2ap_ric_PolicyStyle_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Style_Name },
13277 { &hf_e2ap_ric_PolicyActionFormat_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_Format_Type },
13278 { &hf_e2ap_ric_PolicyRanParameterDef_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item },
13279 { NULL, 0, 0, NULL }
13282 static int
13283 dissect_e2ap_RIC_PolicyStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13284 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13285 ett_e2ap_RIC_PolicyStyle_List, RIC_PolicyStyle_List_sequence);
13287 return offset;
13291 static const per_sequence_t SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List_sequence_of[1] = {
13292 { &hf_e2ap_ric_PolicyStyle_List_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_RIC_PolicyStyle_List },
13295 static int
13296 dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13297 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13298 ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List, SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List_sequence_of,
13299 1, maxofRICstyles, false);
13301 return offset;
13305 static const per_sequence_t E2SM_NI_RANfunction_Item_sequence[] = {
13306 { &hf_e2ap_interface_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_NI_Type },
13307 { &hf_e2ap_ric_EventTriggerStyle_List_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List },
13308 { &hf_e2ap_ric_ReportStyle_List_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List },
13309 { &hf_e2ap_ric_InsertStyle_List_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List },
13310 { &hf_e2ap_ric_ControlStyle_List_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List },
13311 { &hf_e2ap_ric_PolicyStyle_List_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List },
13312 { NULL, 0, 0, NULL }
13315 static int
13316 dissect_e2ap_E2SM_NI_RANfunction_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13318 ett_e2ap_E2SM_NI_RANfunction_Item, E2SM_NI_RANfunction_Item_sequence);
13320 return offset;
13324 static const per_sequence_t SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item_sequence_of[1] = {
13325 { &hf_e2ap_ni_Type_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e2ap_E2SM_NI_RANfunction_Item },
13328 static int
13329 dissect_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13330 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
13331 ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item, SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item_sequence_of,
13332 1, maxofNItypes, false);
13334 return offset;
13338 static const per_sequence_t E2SM_NI_RANfunction_Description_sequence[] = {
13339 { &hf_e2ap_ranFunction_Name, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e2ap_RANfunction_Name },
13340 { &hf_e2ap_ni_Type_List , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item },
13341 { NULL, 0, 0, NULL }
13344 static int
13345 dissect_e2ap_E2SM_NI_RANfunction_Description(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13346 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13347 ett_e2ap_E2SM_NI_RANfunction_Description, E2SM_NI_RANfunction_Description_sequence);
13349 return offset;
13352 /*--- PDUs ---*/
13354 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13355 int offset = 0;
13356 asn1_ctx_t asn1_ctx;
13357 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13358 offset = dissect_e2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_e2ap_Cause_PDU);
13359 offset += 7; offset >>= 3;
13360 return offset;
13362 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13363 int offset = 0;
13364 asn1_ctx_t asn1_ctx;
13365 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13366 offset = dissect_e2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_e2ap_CriticalityDiagnostics_PDU);
13367 offset += 7; offset >>= 3;
13368 return offset;
13370 static int dissect_GlobalE2node_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13371 int offset = 0;
13372 asn1_ctx_t asn1_ctx;
13373 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13374 offset = dissect_e2ap_GlobalE2node_ID(tvb, offset, &asn1_ctx, tree, hf_e2ap_GlobalE2node_ID_PDU);
13375 offset += 7; offset >>= 3;
13376 return offset;
13378 static int dissect_GlobalRIC_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13379 int offset = 0;
13380 asn1_ctx_t asn1_ctx;
13381 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13382 offset = dissect_e2ap_GlobalRIC_ID(tvb, offset, &asn1_ctx, tree, hf_e2ap_GlobalRIC_ID_PDU);
13383 offset += 7; offset >>= 3;
13384 return offset;
13386 static int dissect_RANfunctionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13387 int offset = 0;
13388 asn1_ctx_t asn1_ctx;
13389 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13390 offset = dissect_e2ap_RANfunctionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionID_PDU);
13391 offset += 7; offset >>= 3;
13392 return offset;
13394 static int dissect_RICactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13395 int offset = 0;
13396 asn1_ctx_t asn1_ctx;
13397 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13398 offset = dissect_e2ap_RICactionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactionID_PDU);
13399 offset += 7; offset >>= 3;
13400 return offset;
13402 static int dissect_RICcallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13403 int offset = 0;
13404 asn1_ctx_t asn1_ctx;
13405 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13406 offset = dissect_e2ap_RICcallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcallProcessID_PDU);
13407 offset += 7; offset >>= 3;
13408 return offset;
13410 static int dissect_RICcontrolAckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13411 int offset = 0;
13412 asn1_ctx_t asn1_ctx;
13413 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13414 offset = dissect_e2ap_RICcontrolAckRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolAckRequest_PDU);
13415 offset += 7; offset >>= 3;
13416 return offset;
13418 static int dissect_RICcontrolHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13419 int offset = 0;
13420 asn1_ctx_t asn1_ctx;
13421 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13422 offset = dissect_e2ap_RICcontrolHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolHeader_PDU);
13423 offset += 7; offset >>= 3;
13424 return offset;
13426 static int dissect_RICcontrolMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13427 int offset = 0;
13428 asn1_ctx_t asn1_ctx;
13429 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13430 offset = dissect_e2ap_RICcontrolMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolMessage_PDU);
13431 offset += 7; offset >>= 3;
13432 return offset;
13434 static int dissect_RICcontrolOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13435 int offset = 0;
13436 asn1_ctx_t asn1_ctx;
13437 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13438 offset = dissect_e2ap_RICcontrolOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolOutcome_PDU);
13439 offset += 7; offset >>= 3;
13440 return offset;
13442 static int dissect_RICeventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13443 int offset = 0;
13444 asn1_ctx_t asn1_ctx;
13445 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13446 offset = dissect_e2ap_RICeventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICeventTriggerDefinition_PDU);
13447 offset += 7; offset >>= 3;
13448 return offset;
13450 static int dissect_RICindicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13451 int offset = 0;
13452 asn1_ctx_t asn1_ctx;
13453 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13454 offset = dissect_e2ap_RICindicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationHeader_PDU);
13455 offset += 7; offset >>= 3;
13456 return offset;
13458 static int dissect_RICindicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13459 int offset = 0;
13460 asn1_ctx_t asn1_ctx;
13461 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13462 offset = dissect_e2ap_RICindicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationMessage_PDU);
13463 offset += 7; offset >>= 3;
13464 return offset;
13466 static int dissect_RICindicationSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13467 int offset = 0;
13468 asn1_ctx_t asn1_ctx;
13469 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13470 offset = dissect_e2ap_RICindicationSN(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationSN_PDU);
13471 offset += 7; offset >>= 3;
13472 return offset;
13474 static int dissect_RICindicationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13475 int offset = 0;
13476 asn1_ctx_t asn1_ctx;
13477 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13478 offset = dissect_e2ap_RICindicationType(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindicationType_PDU);
13479 offset += 7; offset >>= 3;
13480 return offset;
13482 static int dissect_RICrequestID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13483 int offset = 0;
13484 asn1_ctx_t asn1_ctx;
13485 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13486 offset = dissect_e2ap_RICrequestID(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICrequestID_PDU);
13487 offset += 7; offset >>= 3;
13488 return offset;
13490 static int dissect_RICsubscriptionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13491 int offset = 0;
13492 asn1_ctx_t asn1_ctx;
13493 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13494 offset = dissect_e2ap_RICsubscriptionTime(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionTime_PDU);
13495 offset += 7; offset >>= 3;
13496 return offset;
13498 static int dissect_RICqueryHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13499 int offset = 0;
13500 asn1_ctx_t asn1_ctx;
13501 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13502 offset = dissect_e2ap_RICqueryHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryHeader_PDU);
13503 offset += 7; offset >>= 3;
13504 return offset;
13506 static int dissect_RICqueryDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13507 int offset = 0;
13508 asn1_ctx_t asn1_ctx;
13509 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13510 offset = dissect_e2ap_RICqueryDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryDefinition_PDU);
13511 offset += 7; offset >>= 3;
13512 return offset;
13514 static int dissect_RICqueryOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13515 int offset = 0;
13516 asn1_ctx_t asn1_ctx;
13517 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13518 offset = dissect_e2ap_RICqueryOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICqueryOutcome_PDU);
13519 offset += 7; offset >>= 3;
13520 return offset;
13522 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13523 int offset = 0;
13524 asn1_ctx_t asn1_ctx;
13525 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13526 offset = dissect_e2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_e2ap_TimeToWait_PDU);
13527 offset += 7; offset >>= 3;
13528 return offset;
13530 static int dissect_TNLinformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13531 int offset = 0;
13532 asn1_ctx_t asn1_ctx;
13533 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13534 offset = dissect_e2ap_TNLinformation(tvb, offset, &asn1_ctx, tree, hf_e2ap_TNLinformation_PDU);
13535 offset += 7; offset >>= 3;
13536 return offset;
13538 static int dissect_TransactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13539 int offset = 0;
13540 asn1_ctx_t asn1_ctx;
13541 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13542 offset = dissect_e2ap_TransactionID(tvb, offset, &asn1_ctx, tree, hf_e2ap_TransactionID_PDU);
13543 offset += 7; offset >>= 3;
13544 return offset;
13546 static int dissect_RICsubscriptionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13547 int offset = 0;
13548 asn1_ctx_t asn1_ctx;
13549 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13550 offset = dissect_e2ap_RICsubscriptionRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionRequest_PDU);
13551 offset += 7; offset >>= 3;
13552 return offset;
13554 static int dissect_RICsubscriptionDetails_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13555 int offset = 0;
13556 asn1_ctx_t asn1_ctx;
13557 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13558 offset = dissect_e2ap_RICsubscriptionDetails(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDetails_PDU);
13559 offset += 7; offset >>= 3;
13560 return offset;
13562 static int dissect_RICaction_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13563 int offset = 0;
13564 asn1_ctx_t asn1_ctx;
13565 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13566 offset = dissect_e2ap_RICaction_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeSetup_Item_PDU);
13567 offset += 7; offset >>= 3;
13568 return offset;
13570 static int dissect_RICsubscriptionResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13571 int offset = 0;
13572 asn1_ctx_t asn1_ctx;
13573 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13574 offset = dissect_e2ap_RICsubscriptionResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionResponse_PDU);
13575 offset += 7; offset >>= 3;
13576 return offset;
13578 static int dissect_RICaction_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13579 int offset = 0;
13580 asn1_ctx_t asn1_ctx;
13581 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13582 offset = dissect_e2ap_RICaction_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_Admitted_List_PDU);
13583 offset += 7; offset >>= 3;
13584 return offset;
13586 static int dissect_RICaction_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13587 int offset = 0;
13588 asn1_ctx_t asn1_ctx;
13589 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13590 offset = dissect_e2ap_RICaction_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_Admitted_Item_PDU);
13591 offset += 7; offset >>= 3;
13592 return offset;
13594 static int dissect_RICaction_NotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13595 int offset = 0;
13596 asn1_ctx_t asn1_ctx;
13597 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13598 offset = dissect_e2ap_RICaction_NotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_NotAdmitted_List_PDU);
13599 offset += 7; offset >>= 3;
13600 return offset;
13602 static int dissect_RICaction_NotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13603 int offset = 0;
13604 asn1_ctx_t asn1_ctx;
13605 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13606 offset = dissect_e2ap_RICaction_NotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_NotAdmitted_Item_PDU);
13607 offset += 7; offset >>= 3;
13608 return offset;
13610 static int dissect_RICsubscriptionFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13611 int offset = 0;
13612 asn1_ctx_t asn1_ctx;
13613 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13614 offset = dissect_e2ap_RICsubscriptionFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionFailure_PDU);
13615 offset += 7; offset >>= 3;
13616 return offset;
13618 static int dissect_RICsubscriptionDeleteRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13619 int offset = 0;
13620 asn1_ctx_t asn1_ctx;
13621 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13622 offset = dissect_e2ap_RICsubscriptionDeleteRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteRequest_PDU);
13623 offset += 7; offset >>= 3;
13624 return offset;
13626 static int dissect_RICsubscriptionDeleteResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13627 int offset = 0;
13628 asn1_ctx_t asn1_ctx;
13629 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13630 offset = dissect_e2ap_RICsubscriptionDeleteResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteResponse_PDU);
13631 offset += 7; offset >>= 3;
13632 return offset;
13634 static int dissect_RICsubscriptionDeleteFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13635 int offset = 0;
13636 asn1_ctx_t asn1_ctx;
13637 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13638 offset = dissect_e2ap_RICsubscriptionDeleteFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteFailure_PDU);
13639 offset += 7; offset >>= 3;
13640 return offset;
13642 static int dissect_RICsubscriptionDeleteRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13643 int offset = 0;
13644 asn1_ctx_t asn1_ctx;
13645 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13646 offset = dissect_e2ap_RICsubscriptionDeleteRequired(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionDeleteRequired_PDU);
13647 offset += 7; offset >>= 3;
13648 return offset;
13650 static int dissect_RICsubscription_List_withCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13651 int offset = 0;
13652 asn1_ctx_t asn1_ctx;
13653 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13654 offset = dissect_e2ap_RICsubscription_List_withCause(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscription_List_withCause_PDU);
13655 offset += 7; offset >>= 3;
13656 return offset;
13658 static int dissect_RICsubscription_withCause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13659 int offset = 0;
13660 asn1_ctx_t asn1_ctx;
13661 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13662 offset = dissect_e2ap_RICsubscription_withCause_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscription_withCause_Item_PDU);
13663 offset += 7; offset >>= 3;
13664 return offset;
13666 static int dissect_RICsubscriptionModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13667 int offset = 0;
13668 asn1_ctx_t asn1_ctx;
13669 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13670 offset = dissect_e2ap_RICsubscriptionModificationRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRequest_PDU);
13671 offset += 7; offset >>= 3;
13672 return offset;
13674 static int dissect_RICactions_ToBeRemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13675 int offset = 0;
13676 asn1_ctx_t asn1_ctx;
13677 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13678 offset = dissect_e2ap_RICactions_ToBeRemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU);
13679 offset += 7; offset >>= 3;
13680 return offset;
13682 static int dissect_RICaction_ToBeRemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13683 int offset = 0;
13684 asn1_ctx_t asn1_ctx;
13685 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13686 offset = dissect_e2ap_RICaction_ToBeRemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU);
13687 offset += 7; offset >>= 3;
13688 return offset;
13690 static int dissect_RICactions_ToBeModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13691 int offset = 0;
13692 asn1_ctx_t asn1_ctx;
13693 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13694 offset = dissect_e2ap_RICactions_ToBeModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU);
13695 offset += 7; offset >>= 3;
13696 return offset;
13698 static int dissect_RICaction_ToBeModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13699 int offset = 0;
13700 asn1_ctx_t asn1_ctx;
13701 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13702 offset = dissect_e2ap_RICaction_ToBeModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU);
13703 offset += 7; offset >>= 3;
13704 return offset;
13706 static int dissect_RICactions_ToBeAddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13707 int offset = 0;
13708 asn1_ctx_t asn1_ctx;
13709 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13710 offset = dissect_e2ap_RICactions_ToBeAddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ToBeAddedForModification_List_PDU);
13711 offset += 7; offset >>= 3;
13712 return offset;
13714 static int dissect_RICaction_ToBeAddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13715 int offset = 0;
13716 asn1_ctx_t asn1_ctx;
13717 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13718 offset = dissect_e2ap_RICaction_ToBeAddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU);
13719 offset += 7; offset >>= 3;
13720 return offset;
13722 static int dissect_RICsubscriptionModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13723 int offset = 0;
13724 asn1_ctx_t asn1_ctx;
13725 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13726 offset = dissect_e2ap_RICsubscriptionModificationResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationResponse_PDU);
13727 offset += 7; offset >>= 3;
13728 return offset;
13730 static int dissect_RICactions_RemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13731 int offset = 0;
13732 asn1_ctx_t asn1_ctx;
13733 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13734 offset = dissect_e2ap_RICactions_RemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RemovedForModification_List_PDU);
13735 offset += 7; offset >>= 3;
13736 return offset;
13738 static int dissect_RICaction_RemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13739 int offset = 0;
13740 asn1_ctx_t asn1_ctx;
13741 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13742 offset = dissect_e2ap_RICaction_RemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RemovedForModification_Item_PDU);
13743 offset += 7; offset >>= 3;
13744 return offset;
13746 static int dissect_RICactions_FailedToBeRemovedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13747 int offset = 0;
13748 asn1_ctx_t asn1_ctx;
13749 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13750 offset = dissect_e2ap_RICactions_FailedToBeRemovedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU);
13751 offset += 7; offset >>= 3;
13752 return offset;
13754 static int dissect_RICaction_FailedToBeRemovedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13755 int offset = 0;
13756 asn1_ctx_t asn1_ctx;
13757 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13758 offset = dissect_e2ap_RICaction_FailedToBeRemovedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU);
13759 offset += 7; offset >>= 3;
13760 return offset;
13762 static int dissect_RICactions_ModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13763 int offset = 0;
13764 asn1_ctx_t asn1_ctx;
13765 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13766 offset = dissect_e2ap_RICactions_ModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ModifiedForModification_List_PDU);
13767 offset += 7; offset >>= 3;
13768 return offset;
13770 static int dissect_RICaction_ModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13771 int offset = 0;
13772 asn1_ctx_t asn1_ctx;
13773 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13774 offset = dissect_e2ap_RICaction_ModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ModifiedForModification_Item_PDU);
13775 offset += 7; offset >>= 3;
13776 return offset;
13778 static int dissect_RICactions_FailedToBeModifiedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13779 int offset = 0;
13780 asn1_ctx_t asn1_ctx;
13781 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13782 offset = dissect_e2ap_RICactions_FailedToBeModifiedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU);
13783 offset += 7; offset >>= 3;
13784 return offset;
13786 static int dissect_RICaction_FailedToBeModifiedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13787 int offset = 0;
13788 asn1_ctx_t asn1_ctx;
13789 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13790 offset = dissect_e2ap_RICaction_FailedToBeModifiedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU);
13791 offset += 7; offset >>= 3;
13792 return offset;
13794 static int dissect_RICactions_AddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13795 int offset = 0;
13796 asn1_ctx_t asn1_ctx;
13797 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13798 offset = dissect_e2ap_RICactions_AddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_AddedForModification_List_PDU);
13799 offset += 7; offset >>= 3;
13800 return offset;
13802 static int dissect_RICaction_AddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13803 int offset = 0;
13804 asn1_ctx_t asn1_ctx;
13805 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13806 offset = dissect_e2ap_RICaction_AddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_AddedForModification_Item_PDU);
13807 offset += 7; offset >>= 3;
13808 return offset;
13810 static int dissect_RICactions_FailedToBeAddedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13811 int offset = 0;
13812 asn1_ctx_t asn1_ctx;
13813 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13814 offset = dissect_e2ap_RICactions_FailedToBeAddedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU);
13815 offset += 7; offset >>= 3;
13816 return offset;
13818 static int dissect_RICaction_FailedToBeAddedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13819 int offset = 0;
13820 asn1_ctx_t asn1_ctx;
13821 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13822 offset = dissect_e2ap_RICaction_FailedToBeAddedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU);
13823 offset += 7; offset >>= 3;
13824 return offset;
13826 static int dissect_RICsubscriptionModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13827 int offset = 0;
13828 asn1_ctx_t asn1_ctx;
13829 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13830 offset = dissect_e2ap_RICsubscriptionModificationFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationFailure_PDU);
13831 offset += 7; offset >>= 3;
13832 return offset;
13834 static int dissect_RICsubscriptionModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13835 int offset = 0;
13836 asn1_ctx_t asn1_ctx;
13837 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13838 offset = dissect_e2ap_RICsubscriptionModificationRequired(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRequired_PDU);
13839 offset += 7; offset >>= 3;
13840 return offset;
13842 static int dissect_RICactions_RequiredToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13843 int offset = 0;
13844 asn1_ctx_t asn1_ctx;
13845 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13846 offset = dissect_e2ap_RICactions_RequiredToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RequiredToBeModified_List_PDU);
13847 offset += 7; offset >>= 3;
13848 return offset;
13850 static int dissect_RICaction_RequiredToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13851 int offset = 0;
13852 asn1_ctx_t asn1_ctx;
13853 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13854 offset = dissect_e2ap_RICaction_RequiredToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RequiredToBeModified_Item_PDU);
13855 offset += 7; offset >>= 3;
13856 return offset;
13858 static int dissect_RICactions_RequiredToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13859 int offset = 0;
13860 asn1_ctx_t asn1_ctx;
13861 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13862 offset = dissect_e2ap_RICactions_RequiredToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU);
13863 offset += 7; offset >>= 3;
13864 return offset;
13866 static int dissect_RICaction_RequiredToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13867 int offset = 0;
13868 asn1_ctx_t asn1_ctx;
13869 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13870 offset = dissect_e2ap_RICaction_RequiredToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU);
13871 offset += 7; offset >>= 3;
13872 return offset;
13874 static int dissect_RICsubscriptionModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13875 int offset = 0;
13876 asn1_ctx_t asn1_ctx;
13877 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13878 offset = dissect_e2ap_RICsubscriptionModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationConfirm_PDU);
13879 offset += 7; offset >>= 3;
13880 return offset;
13882 static int dissect_RICactions_ConfirmedForModification_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13883 int offset = 0;
13884 asn1_ctx_t asn1_ctx;
13885 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13886 offset = dissect_e2ap_RICactions_ConfirmedForModification_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ConfirmedForModification_List_PDU);
13887 offset += 7; offset >>= 3;
13888 return offset;
13890 static int dissect_RICaction_ConfirmedForModification_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13891 int offset = 0;
13892 asn1_ctx_t asn1_ctx;
13893 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13894 offset = dissect_e2ap_RICaction_ConfirmedForModification_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ConfirmedForModification_Item_PDU);
13895 offset += 7; offset >>= 3;
13896 return offset;
13898 static int dissect_RICactions_RefusedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13899 int offset = 0;
13900 asn1_ctx_t asn1_ctx;
13901 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13902 offset = dissect_e2ap_RICactions_RefusedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RefusedToBeModified_List_PDU);
13903 offset += 7; offset >>= 3;
13904 return offset;
13906 static int dissect_RICaction_RefusedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13907 int offset = 0;
13908 asn1_ctx_t asn1_ctx;
13909 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13910 offset = dissect_e2ap_RICaction_RefusedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RefusedToBeModified_Item_PDU);
13911 offset += 7; offset >>= 3;
13912 return offset;
13914 static int dissect_RICactions_ConfirmedForRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13915 int offset = 0;
13916 asn1_ctx_t asn1_ctx;
13917 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13918 offset = dissect_e2ap_RICactions_ConfirmedForRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU);
13919 offset += 7; offset >>= 3;
13920 return offset;
13922 static int dissect_RICaction_ConfirmedForRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13923 int offset = 0;
13924 asn1_ctx_t asn1_ctx;
13925 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13926 offset = dissect_e2ap_RICaction_ConfirmedForRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU);
13927 offset += 7; offset >>= 3;
13928 return offset;
13930 static int dissect_RICactions_RefusedToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13931 int offset = 0;
13932 asn1_ctx_t asn1_ctx;
13933 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13934 offset = dissect_e2ap_RICactions_RefusedToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU);
13935 offset += 7; offset >>= 3;
13936 return offset;
13938 static int dissect_RICaction_RefusedToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13939 int offset = 0;
13940 asn1_ctx_t asn1_ctx;
13941 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13942 offset = dissect_e2ap_RICaction_RefusedToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU);
13943 offset += 7; offset >>= 3;
13944 return offset;
13946 static int dissect_RICsubscriptionModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13947 int offset = 0;
13948 asn1_ctx_t asn1_ctx;
13949 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13950 offset = dissect_e2ap_RICsubscriptionModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICsubscriptionModificationRefuse_PDU);
13951 offset += 7; offset >>= 3;
13952 return offset;
13954 static int dissect_RICindication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13955 int offset = 0;
13956 asn1_ctx_t asn1_ctx;
13957 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13958 offset = dissect_e2ap_RICindication(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICindication_PDU);
13959 offset += 7; offset >>= 3;
13960 return offset;
13962 static int dissect_RICcontrolRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13963 int offset = 0;
13964 asn1_ctx_t asn1_ctx;
13965 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13966 offset = dissect_e2ap_RICcontrolRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolRequest_PDU);
13967 offset += 7; offset >>= 3;
13968 return offset;
13970 static int dissect_RICcontrolAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13971 int offset = 0;
13972 asn1_ctx_t asn1_ctx;
13973 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13974 offset = dissect_e2ap_RICcontrolAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolAcknowledge_PDU);
13975 offset += 7; offset >>= 3;
13976 return offset;
13978 static int dissect_RICcontrolFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13979 int offset = 0;
13980 asn1_ctx_t asn1_ctx;
13981 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13982 offset = dissect_e2ap_RICcontrolFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICcontrolFailure_PDU);
13983 offset += 7; offset >>= 3;
13984 return offset;
13986 static int dissect_RICQueryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13987 int offset = 0;
13988 asn1_ctx_t asn1_ctx;
13989 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13990 offset = dissect_e2ap_RICQueryRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryRequest_PDU);
13991 offset += 7; offset >>= 3;
13992 return offset;
13994 static int dissect_RICQueryResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
13995 int offset = 0;
13996 asn1_ctx_t asn1_ctx;
13997 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
13998 offset = dissect_e2ap_RICQueryResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryResponse_PDU);
13999 offset += 7; offset >>= 3;
14000 return offset;
14002 static int dissect_RICQueryFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14003 int offset = 0;
14004 asn1_ctx_t asn1_ctx;
14005 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14006 offset = dissect_e2ap_RICQueryFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICQueryFailure_PDU);
14007 offset += 7; offset >>= 3;
14008 return offset;
14010 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14011 int offset = 0;
14012 asn1_ctx_t asn1_ctx;
14013 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14014 offset = dissect_e2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_e2ap_ErrorIndication_PDU);
14015 offset += 7; offset >>= 3;
14016 return offset;
14018 static int dissect_E2setupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14019 int offset = 0;
14020 asn1_ctx_t asn1_ctx;
14021 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14022 offset = dissect_e2ap_E2setupRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupRequest_PDU);
14023 offset += 7; offset >>= 3;
14024 return offset;
14026 static int dissect_E2setupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14027 int offset = 0;
14028 asn1_ctx_t asn1_ctx;
14029 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14030 offset = dissect_e2ap_E2setupResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupResponse_PDU);
14031 offset += 7; offset >>= 3;
14032 return offset;
14034 static int dissect_E2setupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14035 int offset = 0;
14036 asn1_ctx_t asn1_ctx;
14037 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14038 offset = dissect_e2ap_E2setupFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2setupFailure_PDU);
14039 offset += 7; offset >>= 3;
14040 return offset;
14042 static int dissect_E2connectionUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14043 int offset = 0;
14044 asn1_ctx_t asn1_ctx;
14045 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14046 offset = dissect_e2ap_E2connectionUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_PDU);
14047 offset += 7; offset >>= 3;
14048 return offset;
14050 static int dissect_E2connectionUpdate_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14051 int offset = 0;
14052 asn1_ctx_t asn1_ctx;
14053 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14054 offset = dissect_e2ap_E2connectionUpdate_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_List_PDU);
14055 offset += 7; offset >>= 3;
14056 return offset;
14058 static int dissect_E2connectionUpdate_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14059 int offset = 0;
14060 asn1_ctx_t asn1_ctx;
14061 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14062 offset = dissect_e2ap_E2connectionUpdate_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdate_Item_PDU);
14063 offset += 7; offset >>= 3;
14064 return offset;
14066 static int dissect_E2connectionUpdateRemove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14067 int offset = 0;
14068 asn1_ctx_t asn1_ctx;
14069 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14070 offset = dissect_e2ap_E2connectionUpdateRemove_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateRemove_List_PDU);
14071 offset += 7; offset >>= 3;
14072 return offset;
14074 static int dissect_E2connectionUpdateRemove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14075 int offset = 0;
14076 asn1_ctx_t asn1_ctx;
14077 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14078 offset = dissect_e2ap_E2connectionUpdateRemove_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateRemove_Item_PDU);
14079 offset += 7; offset >>= 3;
14080 return offset;
14082 static int dissect_E2connectionUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14083 int offset = 0;
14084 asn1_ctx_t asn1_ctx;
14085 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14086 offset = dissect_e2ap_E2connectionUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateAcknowledge_PDU);
14087 offset += 7; offset >>= 3;
14088 return offset;
14090 static int dissect_E2connectionSetupFailed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14091 int offset = 0;
14092 asn1_ctx_t asn1_ctx;
14093 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14094 offset = dissect_e2ap_E2connectionSetupFailed_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionSetupFailed_List_PDU);
14095 offset += 7; offset >>= 3;
14096 return offset;
14098 static int dissect_E2connectionSetupFailed_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14099 int offset = 0;
14100 asn1_ctx_t asn1_ctx;
14101 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14102 offset = dissect_e2ap_E2connectionSetupFailed_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionSetupFailed_Item_PDU);
14103 offset += 7; offset >>= 3;
14104 return offset;
14106 static int dissect_E2connectionUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14107 int offset = 0;
14108 asn1_ctx_t asn1_ctx;
14109 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14110 offset = dissect_e2ap_E2connectionUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2connectionUpdateFailure_PDU);
14111 offset += 7; offset >>= 3;
14112 return offset;
14114 static int dissect_E2nodeConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14115 int offset = 0;
14116 asn1_ctx_t asn1_ctx;
14117 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14118 offset = dissect_e2ap_E2nodeConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdate_PDU);
14119 offset += 7; offset >>= 3;
14120 return offset;
14122 static int dissect_E2nodeComponentConfigAddition_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14123 int offset = 0;
14124 asn1_ctx_t asn1_ctx;
14125 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14126 offset = dissect_e2ap_E2nodeComponentConfigAddition_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAddition_List_PDU);
14127 offset += 7; offset >>= 3;
14128 return offset;
14130 static int dissect_E2nodeComponentConfigAddition_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14131 int offset = 0;
14132 asn1_ctx_t asn1_ctx;
14133 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14134 offset = dissect_e2ap_E2nodeComponentConfigAddition_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAddition_Item_PDU);
14135 offset += 7; offset >>= 3;
14136 return offset;
14138 static int dissect_E2nodeComponentConfigUpdate_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14139 int offset = 0;
14140 asn1_ctx_t asn1_ctx;
14141 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14142 offset = dissect_e2ap_E2nodeComponentConfigUpdate_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdate_List_PDU);
14143 offset += 7; offset >>= 3;
14144 return offset;
14146 static int dissect_E2nodeComponentConfigUpdate_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14147 int offset = 0;
14148 asn1_ctx_t asn1_ctx;
14149 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14150 offset = dissect_e2ap_E2nodeComponentConfigUpdate_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU);
14151 offset += 7; offset >>= 3;
14152 return offset;
14154 static int dissect_E2nodeComponentConfigRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14155 int offset = 0;
14156 asn1_ctx_t asn1_ctx;
14157 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14158 offset = dissect_e2ap_E2nodeComponentConfigRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemoval_List_PDU);
14159 offset += 7; offset >>= 3;
14160 return offset;
14162 static int dissect_E2nodeComponentConfigRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14163 int offset = 0;
14164 asn1_ctx_t asn1_ctx;
14165 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14166 offset = dissect_e2ap_E2nodeComponentConfigRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU);
14167 offset += 7; offset >>= 3;
14168 return offset;
14170 static int dissect_E2nodeTNLassociationRemoval_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14171 int offset = 0;
14172 asn1_ctx_t asn1_ctx;
14173 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14174 offset = dissect_e2ap_E2nodeTNLassociationRemoval_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeTNLassociationRemoval_List_PDU);
14175 offset += 7; offset >>= 3;
14176 return offset;
14178 static int dissect_E2nodeTNLassociationRemoval_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14179 int offset = 0;
14180 asn1_ctx_t asn1_ctx;
14181 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14182 offset = dissect_e2ap_E2nodeTNLassociationRemoval_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU);
14183 offset += 7; offset >>= 3;
14184 return offset;
14186 static int dissect_E2nodeConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14187 int offset = 0;
14188 asn1_ctx_t asn1_ctx;
14189 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14190 offset = dissect_e2ap_E2nodeConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU);
14191 offset += 7; offset >>= 3;
14192 return offset;
14194 static int dissect_E2nodeComponentConfigAdditionAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14195 int offset = 0;
14196 asn1_ctx_t asn1_ctx;
14197 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14198 offset = dissect_e2ap_E2nodeComponentConfigAdditionAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU);
14199 offset += 7; offset >>= 3;
14200 return offset;
14202 static int dissect_E2nodeComponentConfigAdditionAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14203 int offset = 0;
14204 asn1_ctx_t asn1_ctx;
14205 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14206 offset = dissect_e2ap_E2nodeComponentConfigAdditionAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU);
14207 offset += 7; offset >>= 3;
14208 return offset;
14210 static int dissect_E2nodeComponentConfigUpdateAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14211 int offset = 0;
14212 asn1_ctx_t asn1_ctx;
14213 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14214 offset = dissect_e2ap_E2nodeComponentConfigUpdateAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU);
14215 offset += 7; offset >>= 3;
14216 return offset;
14218 static int dissect_E2nodeComponentConfigUpdateAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14219 int offset = 0;
14220 asn1_ctx_t asn1_ctx;
14221 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14222 offset = dissect_e2ap_E2nodeComponentConfigUpdateAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU);
14223 offset += 7; offset >>= 3;
14224 return offset;
14226 static int dissect_E2nodeComponentConfigRemovalAck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14227 int offset = 0;
14228 asn1_ctx_t asn1_ctx;
14229 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14230 offset = dissect_e2ap_E2nodeComponentConfigRemovalAck_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU);
14231 offset += 7; offset >>= 3;
14232 return offset;
14234 static int dissect_E2nodeComponentConfigRemovalAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14235 int offset = 0;
14236 asn1_ctx_t asn1_ctx;
14237 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14238 offset = dissect_e2ap_E2nodeComponentConfigRemovalAck_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU);
14239 offset += 7; offset >>= 3;
14240 return offset;
14242 static int dissect_E2nodeConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14243 int offset = 0;
14244 asn1_ctx_t asn1_ctx;
14245 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14246 offset = dissect_e2ap_E2nodeConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2nodeConfigurationUpdateFailure_PDU);
14247 offset += 7; offset >>= 3;
14248 return offset;
14250 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14251 int offset = 0;
14252 asn1_ctx_t asn1_ctx;
14253 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14254 offset = dissect_e2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_ResetRequest_PDU);
14255 offset += 7; offset >>= 3;
14256 return offset;
14258 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14259 int offset = 0;
14260 asn1_ctx_t asn1_ctx;
14261 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14262 offset = dissect_e2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_ResetResponse_PDU);
14263 offset += 7; offset >>= 3;
14264 return offset;
14266 static int dissect_RICserviceUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14267 int offset = 0;
14268 asn1_ctx_t asn1_ctx;
14269 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14270 offset = dissect_e2ap_RICserviceUpdate(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdate_PDU);
14271 offset += 7; offset >>= 3;
14272 return offset;
14274 static int dissect_RANfunctions_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14275 int offset = 0;
14276 asn1_ctx_t asn1_ctx;
14277 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14278 offset = dissect_e2ap_RANfunctions_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctions_List_PDU);
14279 offset += 7; offset >>= 3;
14280 return offset;
14282 static int dissect_RANfunction_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14283 int offset = 0;
14284 asn1_ctx_t asn1_ctx;
14285 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14286 offset = dissect_e2ap_RANfunction_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunction_Item_PDU);
14287 offset += 7; offset >>= 3;
14288 return offset;
14290 static int dissect_RANfunctionsID_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14291 int offset = 0;
14292 asn1_ctx_t asn1_ctx;
14293 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14294 offset = dissect_e2ap_RANfunctionsID_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionsID_List_PDU);
14295 offset += 7; offset >>= 3;
14296 return offset;
14298 static int dissect_RANfunctionID_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14299 int offset = 0;
14300 asn1_ctx_t asn1_ctx;
14301 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14302 offset = dissect_e2ap_RANfunctionID_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionID_Item_PDU);
14303 offset += 7; offset >>= 3;
14304 return offset;
14306 static int dissect_RICserviceUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14307 int offset = 0;
14308 asn1_ctx_t asn1_ctx;
14309 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14310 offset = dissect_e2ap_RICserviceUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdateAcknowledge_PDU);
14311 offset += 7; offset >>= 3;
14312 return offset;
14314 static int dissect_RANfunctionsIDcause_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14315 int offset = 0;
14316 asn1_ctx_t asn1_ctx;
14317 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14318 offset = dissect_e2ap_RANfunctionsIDcause_List(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionsIDcause_List_PDU);
14319 offset += 7; offset >>= 3;
14320 return offset;
14322 static int dissect_RANfunctionIDcause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14323 int offset = 0;
14324 asn1_ctx_t asn1_ctx;
14325 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14326 offset = dissect_e2ap_RANfunctionIDcause_Item(tvb, offset, &asn1_ctx, tree, hf_e2ap_RANfunctionIDcause_Item_PDU);
14327 offset += 7; offset >>= 3;
14328 return offset;
14330 static int dissect_RICserviceUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14331 int offset = 0;
14332 asn1_ctx_t asn1_ctx;
14333 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14334 offset = dissect_e2ap_RICserviceUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceUpdateFailure_PDU);
14335 offset += 7; offset >>= 3;
14336 return offset;
14338 static int dissect_RICserviceQuery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14339 int offset = 0;
14340 asn1_ctx_t asn1_ctx;
14341 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14342 offset = dissect_e2ap_RICserviceQuery(tvb, offset, &asn1_ctx, tree, hf_e2ap_RICserviceQuery_PDU);
14343 offset += 7; offset >>= 3;
14344 return offset;
14346 static int dissect_E2RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14347 int offset = 0;
14348 asn1_ctx_t asn1_ctx;
14349 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14350 offset = dissect_e2ap_E2RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalRequest_PDU);
14351 offset += 7; offset >>= 3;
14352 return offset;
14354 static int dissect_E2RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14355 int offset = 0;
14356 asn1_ctx_t asn1_ctx;
14357 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14358 offset = dissect_e2ap_E2RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalResponse_PDU);
14359 offset += 7; offset >>= 3;
14360 return offset;
14362 static int dissect_E2RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14363 int offset = 0;
14364 asn1_ctx_t asn1_ctx;
14365 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14366 offset = dissect_e2ap_E2RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2RemovalFailure_PDU);
14367 offset += 7; offset >>= 3;
14368 return offset;
14370 static int dissect_E2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14371 int offset = 0;
14372 asn1_ctx_t asn1_ctx;
14373 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14374 offset = dissect_e2ap_E2AP_PDU(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2AP_PDU_PDU);
14375 offset += 7; offset >>= 3;
14376 return offset;
14378 static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14379 int offset = 0;
14380 asn1_ctx_t asn1_ctx;
14381 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14382 offset = dissect_e2ap_E2SM_RC_EventTrigger(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_EventTrigger_PDU);
14383 offset += 7; offset >>= 3;
14384 return offset;
14386 static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14387 int offset = 0;
14388 asn1_ctx_t asn1_ctx;
14389 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14390 offset = dissect_e2ap_E2SM_RC_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ActionDefinition_PDU);
14391 offset += 7; offset >>= 3;
14392 return offset;
14394 static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14395 int offset = 0;
14396 asn1_ctx_t asn1_ctx;
14397 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14398 offset = dissect_e2ap_E2SM_RC_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_IndicationHeader_PDU);
14399 offset += 7; offset >>= 3;
14400 return offset;
14402 static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14403 int offset = 0;
14404 asn1_ctx_t asn1_ctx;
14405 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14406 offset = dissect_e2ap_E2SM_RC_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_IndicationMessage_PDU);
14407 offset += 7; offset >>= 3;
14408 return offset;
14410 static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14411 int offset = 0;
14412 asn1_ctx_t asn1_ctx;
14413 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14414 offset = dissect_e2ap_E2SM_RC_CallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_CallProcessID_PDU);
14415 offset += 7; offset >>= 3;
14416 return offset;
14418 static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14419 int offset = 0;
14420 asn1_ctx_t asn1_ctx;
14421 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14422 offset = dissect_e2ap_E2SM_RC_ControlHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlHeader_PDU);
14423 offset += 7; offset >>= 3;
14424 return offset;
14426 static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14427 int offset = 0;
14428 asn1_ctx_t asn1_ctx;
14429 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14430 offset = dissect_e2ap_E2SM_RC_ControlMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlMessage_PDU);
14431 offset += 7; offset >>= 3;
14432 return offset;
14434 static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14435 int offset = 0;
14436 asn1_ctx_t asn1_ctx;
14437 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14438 offset = dissect_e2ap_E2SM_RC_ControlOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_ControlOutcome_PDU);
14439 offset += 7; offset >>= 3;
14440 return offset;
14442 static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14443 int offset = 0;
14444 asn1_ctx_t asn1_ctx;
14445 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14446 offset = dissect_e2ap_E2SM_RC_RANFunctionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU);
14447 offset += 7; offset >>= 3;
14448 return offset;
14450 static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14451 int offset = 0;
14452 asn1_ctx_t asn1_ctx;
14453 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14454 offset = dissect_e2ap_E2SM_KPM_EventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU);
14455 offset += 7; offset >>= 3;
14456 return offset;
14458 static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14459 int offset = 0;
14460 asn1_ctx_t asn1_ctx;
14461 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14462 offset = dissect_e2ap_E2SM_KPM_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_ActionDefinition_PDU);
14463 offset += 7; offset >>= 3;
14464 return offset;
14466 static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14467 int offset = 0;
14468 asn1_ctx_t asn1_ctx;
14469 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14470 offset = dissect_e2ap_E2SM_KPM_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_IndicationHeader_PDU);
14471 offset += 7; offset >>= 3;
14472 return offset;
14474 static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14475 int offset = 0;
14476 asn1_ctx_t asn1_ctx;
14477 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14478 offset = dissect_e2ap_E2SM_KPM_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_IndicationMessage_PDU);
14479 offset += 7; offset >>= 3;
14480 return offset;
14482 static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14483 int offset = 0;
14484 asn1_ctx_t asn1_ctx;
14485 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14486 offset = dissect_e2ap_E2SM_KPM_RANfunction_Description(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_KPM_RANfunction_Description_PDU);
14487 offset += 7; offset >>= 3;
14488 return offset;
14490 static int dissect_E2SM_NI_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14491 int offset = 0;
14492 asn1_ctx_t asn1_ctx;
14493 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14494 offset = dissect_e2ap_E2SM_NI_EventTriggerDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU);
14495 offset += 7; offset >>= 3;
14496 return offset;
14498 static int dissect_E2SM_NI_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14499 int offset = 0;
14500 asn1_ctx_t asn1_ctx;
14501 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14502 offset = dissect_e2ap_E2SM_NI_ActionDefinition(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ActionDefinition_PDU);
14503 offset += 7; offset >>= 3;
14504 return offset;
14506 static int dissect_E2SM_NI_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14507 int offset = 0;
14508 asn1_ctx_t asn1_ctx;
14509 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14510 offset = dissect_e2ap_E2SM_NI_IndicationHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_IndicationHeader_PDU);
14511 offset += 7; offset >>= 3;
14512 return offset;
14514 static int dissect_E2SM_NI_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14515 int offset = 0;
14516 asn1_ctx_t asn1_ctx;
14517 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14518 offset = dissect_e2ap_E2SM_NI_IndicationMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_IndicationMessage_PDU);
14519 offset += 7; offset >>= 3;
14520 return offset;
14522 static int dissect_E2SM_NI_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14523 int offset = 0;
14524 asn1_ctx_t asn1_ctx;
14525 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14526 offset = dissect_e2ap_E2SM_NI_CallProcessID(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_CallProcessID_PDU);
14527 offset += 7; offset >>= 3;
14528 return offset;
14530 static int dissect_E2SM_NI_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14531 int offset = 0;
14532 asn1_ctx_t asn1_ctx;
14533 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14534 offset = dissect_e2ap_E2SM_NI_ControlHeader(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlHeader_PDU);
14535 offset += 7; offset >>= 3;
14536 return offset;
14538 static int dissect_E2SM_NI_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14539 int offset = 0;
14540 asn1_ctx_t asn1_ctx;
14541 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14542 offset = dissect_e2ap_E2SM_NI_ControlMessage(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlMessage_PDU);
14543 offset += 7; offset >>= 3;
14544 return offset;
14546 static int dissect_E2SM_NI_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14547 int offset = 0;
14548 asn1_ctx_t asn1_ctx;
14549 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14550 offset = dissect_e2ap_E2SM_NI_ControlOutcome(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_ControlOutcome_PDU);
14551 offset += 7; offset >>= 3;
14552 return offset;
14554 static int dissect_E2SM_NI_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
14555 int offset = 0;
14556 asn1_ctx_t asn1_ctx;
14557 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
14558 offset = dissect_e2ap_E2SM_NI_RANfunction_Description(tvb, offset, &asn1_ctx, tree, hf_e2ap_E2SM_NI_RANfunction_Description_PDU);
14559 offset += 7; offset >>= 3;
14560 return offset;
14564 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
14566 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14567 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;
14572 /* Currently not used
14573 static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
14575 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14577 return (dissector_try_uint(e2ap_ies_p1_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
14580 static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
14582 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14584 return (dissector_try_uint(e2ap_ies_p2_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
14589 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14591 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14593 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;
14596 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14598 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14600 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;
14603 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
14605 struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
14607 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;
14611 static void set_stats_message_type(packet_info *pinfo, int type)
14613 struct e2ap_private_data* priv_data = e2ap_get_private_data(pinfo);
14614 priv_data->stats_tap->e2ap_mtype = type;
14617 static void
14618 e2ap_stats_tree_init(stats_tree *st)
14620 st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, true);
14621 st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
14624 static tap_packet_status
14625 e2ap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
14626 epan_dissect_t* edt _U_ , const void* p, tap_flags_t flags _U_)
14628 const struct e2ap_tap_t *pi = (const struct e2ap_tap_t *)p;
14630 tick_stat_node(st, st_str_packets, 0, false);
14631 stats_tree_tick_pivot(st, st_node_packet_types,
14632 val_to_str(pi->e2ap_mtype, mtype_names,
14633 "Unknown packet type (%d)"));
14634 return TAP_PACKET_REDRAW;
14638 /* Main dissection function */
14639 static int
14640 dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
14642 proto_item *e2ap_item = NULL;
14643 proto_tree *e2ap_tree = NULL;
14645 struct e2ap_tap_t *tap_info;
14647 /* make entry in the Protocol column on summary display */
14648 col_set_str(pinfo->cinfo, COL_PROTOCOL, "E2AP");
14649 col_clear(pinfo->cinfo, COL_INFO);
14651 tap_info = wmem_new(pinfo->pool, struct e2ap_tap_t);
14652 tap_info->e2ap_mtype = 0; /* unknown/invalid */
14654 /* Add stats tap to private struct */
14655 struct e2ap_private_data *priv_data = e2ap_get_private_data(pinfo);
14656 priv_data->stats_tap = tap_info;
14658 /* Store top-level tree */
14659 top_tree = e2ap_tree;
14661 /* create the e2ap protocol tree */
14662 e2ap_item = proto_tree_add_item(tree, proto_e2ap, tvb, 0, -1, ENC_NA);
14663 e2ap_tree = proto_item_add_subtree(e2ap_item, ett_e2ap);
14665 dissect_E2AP_PDU_PDU(tvb, pinfo, e2ap_tree, NULL);
14667 tap_queue_packet(e2ap_tap, pinfo, tap_info);
14668 return tvb_captured_length(tvb);
14672 static void e2ap_init_protocol(void)
14674 s_gnb_ran_functions_table.num_gnbs = 0;
14678 /*--- proto_reg_handoff_e2ap ---------------------------------------*/
14679 void
14680 proto_reg_handoff_e2ap(void)
14682 dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
14683 dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
14684 dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
14685 dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
14687 dissector_add_uint("e2ap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_e2ap));
14688 dissector_add_uint("e2ap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_e2ap));
14689 dissector_add_uint("e2ap.ies", id_GlobalE2node_ID, create_dissector_handle(dissect_GlobalE2node_ID_PDU, proto_e2ap));
14690 dissector_add_uint("e2ap.ies", id_GlobalRIC_ID, create_dissector_handle(dissect_GlobalRIC_ID_PDU, proto_e2ap));
14691 dissector_add_uint("e2ap.ies", id_RANfunctionID, create_dissector_handle(dissect_RANfunctionID_PDU, proto_e2ap));
14692 dissector_add_uint("e2ap.ies", id_RANfunctionID_Item, create_dissector_handle(dissect_RANfunctionID_Item_PDU, proto_e2ap));
14693 dissector_add_uint("e2ap.ies", id_RANfunctionIEcause_Item, create_dissector_handle(dissect_RANfunctionIDcause_Item_PDU, proto_e2ap));
14694 dissector_add_uint("e2ap.ies", id_RANfunction_Item, create_dissector_handle(dissect_RANfunction_Item_PDU, proto_e2ap));
14695 dissector_add_uint("e2ap.ies", id_RANfunctionsAccepted, create_dissector_handle(dissect_RANfunctionsID_List_PDU, proto_e2ap));
14696 dissector_add_uint("e2ap.ies", id_RANfunctionsAdded, create_dissector_handle(dissect_RANfunctions_List_PDU, proto_e2ap));
14697 dissector_add_uint("e2ap.ies", id_RANfunctionsDeleted, create_dissector_handle(dissect_RANfunctionsID_List_PDU, proto_e2ap));
14698 dissector_add_uint("e2ap.ies", id_RANfunctionsModified, create_dissector_handle(dissect_RANfunctions_List_PDU, proto_e2ap));
14699 dissector_add_uint("e2ap.ies", id_RANfunctionsRejected, create_dissector_handle(dissect_RANfunctionsIDcause_List_PDU, proto_e2ap));
14700 dissector_add_uint("e2ap.ies", id_RICaction_Admitted_Item, create_dissector_handle(dissect_RICaction_Admitted_Item_PDU, proto_e2ap));
14701 dissector_add_uint("e2ap.ies", id_RICactionID, create_dissector_handle(dissect_RICactionID_PDU, proto_e2ap));
14702 dissector_add_uint("e2ap.ies", id_RICaction_NotAdmitted_Item, create_dissector_handle(dissect_RICaction_NotAdmitted_Item_PDU, proto_e2ap));
14703 dissector_add_uint("e2ap.ies", id_RICactions_Admitted, create_dissector_handle(dissect_RICaction_Admitted_List_PDU, proto_e2ap));
14704 dissector_add_uint("e2ap.ies", id_RICaction_ToBeSetup_Item, create_dissector_handle(dissect_RICaction_ToBeSetup_Item_PDU, proto_e2ap));
14705 dissector_add_uint("e2ap.ies", id_RICcallProcessID, create_dissector_handle(dissect_RICcallProcessID_PDU, proto_e2ap));
14706 dissector_add_uint("e2ap.ies", id_RICactions_NotAdmitted, create_dissector_handle(dissect_RICaction_NotAdmitted_List_PDU, proto_e2ap));
14707 dissector_add_uint("e2ap.ies", id_RICcontrolAckRequest, create_dissector_handle(dissect_RICcontrolAckRequest_PDU, proto_e2ap));
14708 dissector_add_uint("e2ap.ies", id_RICcontrolHeader, create_dissector_handle(dissect_RICcontrolHeader_PDU, proto_e2ap));
14709 dissector_add_uint("e2ap.ies", id_RICcontrolMessage, create_dissector_handle(dissect_RICcontrolMessage_PDU, proto_e2ap));
14710 dissector_add_uint("e2ap.ies", id_RICcontrolOutcome, create_dissector_handle(dissect_RICcontrolOutcome_PDU, proto_e2ap));
14711 dissector_add_uint("e2ap.ies", id_RICindicationHeader, create_dissector_handle(dissect_RICindicationHeader_PDU, proto_e2ap));
14712 dissector_add_uint("e2ap.ies", id_RICindicationMessage, create_dissector_handle(dissect_RICindicationMessage_PDU, proto_e2ap));
14713 dissector_add_uint("e2ap.ies", id_RICindicationSN, create_dissector_handle(dissect_RICindicationSN_PDU, proto_e2ap));
14714 dissector_add_uint("e2ap.ies", id_RICindicationType, create_dissector_handle(dissect_RICindicationType_PDU, proto_e2ap));
14715 dissector_add_uint("e2ap.ies", id_RICrequestID, create_dissector_handle(dissect_RICrequestID_PDU, proto_e2ap));
14716 dissector_add_uint("e2ap.ies", id_RICsubscriptionDetails, create_dissector_handle(dissect_RICsubscriptionDetails_PDU, proto_e2ap));
14717 dissector_add_uint("e2ap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_e2ap));
14718 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdate, create_dissector_handle(dissect_E2nodeComponentConfigUpdate_List_PDU, proto_e2ap));
14719 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdate_Item, create_dissector_handle(dissect_E2nodeComponentConfigUpdate_Item_PDU, proto_e2ap));
14720 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdateAck, create_dissector_handle(dissect_E2nodeComponentConfigUpdateAck_List_PDU, proto_e2ap));
14721 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigUpdateAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigUpdateAck_Item_PDU, proto_e2ap));
14722 dissector_add_uint("e2ap.ies", id_E2connectionSetup, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14723 dissector_add_uint("e2ap.ies", id_E2connectionSetupFailed, create_dissector_handle(dissect_E2connectionSetupFailed_List_PDU, proto_e2ap));
14724 dissector_add_uint("e2ap.ies", id_E2connectionSetupFailed_Item, create_dissector_handle(dissect_E2connectionSetupFailed_Item_PDU, proto_e2ap));
14725 dissector_add_uint("e2ap.ies", id_E2connectionUpdate_Item, create_dissector_handle(dissect_E2connectionUpdate_Item_PDU, proto_e2ap));
14726 dissector_add_uint("e2ap.ies", id_E2connectionUpdateAdd, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14727 dissector_add_uint("e2ap.ies", id_E2connectionUpdateModify, create_dissector_handle(dissect_E2connectionUpdate_List_PDU, proto_e2ap));
14728 dissector_add_uint("e2ap.ies", id_E2connectionUpdateRemove, create_dissector_handle(dissect_E2connectionUpdateRemove_List_PDU, proto_e2ap));
14729 dissector_add_uint("e2ap.ies", id_E2connectionUpdateRemove_Item, create_dissector_handle(dissect_E2connectionUpdateRemove_Item_PDU, proto_e2ap));
14730 dissector_add_uint("e2ap.ies", id_TNLinformation, create_dissector_handle(dissect_TNLinformation_PDU, proto_e2ap));
14731 dissector_add_uint("e2ap.ies", id_TransactionID, create_dissector_handle(dissect_TransactionID_PDU, proto_e2ap));
14732 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAddition, create_dissector_handle(dissect_E2nodeComponentConfigAddition_List_PDU, proto_e2ap));
14733 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAddition_Item, create_dissector_handle(dissect_E2nodeComponentConfigAddition_Item_PDU, proto_e2ap));
14734 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAdditionAck, create_dissector_handle(dissect_E2nodeComponentConfigAdditionAck_List_PDU, proto_e2ap));
14735 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigAdditionAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigAdditionAck_Item_PDU, proto_e2ap));
14736 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemoval, create_dissector_handle(dissect_E2nodeComponentConfigRemoval_List_PDU, proto_e2ap));
14737 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemoval_Item, create_dissector_handle(dissect_E2nodeComponentConfigRemoval_Item_PDU, proto_e2ap));
14738 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemovalAck, create_dissector_handle(dissect_E2nodeComponentConfigRemovalAck_List_PDU, proto_e2ap));
14739 dissector_add_uint("e2ap.ies", id_E2nodeComponentConfigRemovalAck_Item, create_dissector_handle(dissect_E2nodeComponentConfigRemovalAck_Item_PDU, proto_e2ap));
14740 dissector_add_uint("e2ap.ies", id_E2nodeTNLassociationRemoval, create_dissector_handle(dissect_E2nodeTNLassociationRemoval_List_PDU, proto_e2ap));
14741 dissector_add_uint("e2ap.ies", id_E2nodeTNLassociationRemoval_Item, create_dissector_handle(dissect_E2nodeTNLassociationRemoval_Item_PDU, proto_e2ap));
14742 dissector_add_uint("e2ap.ies", id_RICsubscriptionToBeRemoved, create_dissector_handle(dissect_RICsubscription_List_withCause_PDU, proto_e2ap));
14743 dissector_add_uint("e2ap.ies", id_RICsubscription_withCause_Item, create_dissector_handle(dissect_RICsubscription_withCause_Item_PDU, proto_e2ap));
14744 dissector_add_uint("e2ap.ies", id_RICsubscriptionStartTime, create_dissector_handle(dissect_RICsubscriptionTime_PDU, proto_e2ap));
14745 dissector_add_uint("e2ap.ies", id_RICsubscriptionEndTime, create_dissector_handle(dissect_RICsubscriptionTime_PDU, proto_e2ap));
14746 dissector_add_uint("e2ap.ies", id_RICeventTriggerDefinitionToBeModified, create_dissector_handle(dissect_RICeventTriggerDefinition_PDU, proto_e2ap));
14747 dissector_add_uint("e2ap.ies", id_RICactionsToBeRemovedForModification_List, create_dissector_handle(dissect_RICactions_ToBeRemovedForModification_List_PDU, proto_e2ap));
14748 dissector_add_uint("e2ap.ies", id_RICaction_ToBeRemovedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeRemovedForModification_Item_PDU, proto_e2ap));
14749 dissector_add_uint("e2ap.ies", id_RICactionsToBeModifiedForModification_List, create_dissector_handle(dissect_RICactions_ToBeModifiedForModification_List_PDU, proto_e2ap));
14750 dissector_add_uint("e2ap.ies", id_RICaction_ToBeModifiedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeModifiedForModification_Item_PDU, proto_e2ap));
14751 dissector_add_uint("e2ap.ies", id_RICactionsToBeAddedForModification_List, create_dissector_handle(dissect_RICactions_ToBeAddedForModification_List_PDU, proto_e2ap));
14752 dissector_add_uint("e2ap.ies", id_RICaction_ToBeAddedForModification_Item, create_dissector_handle(dissect_RICaction_ToBeAddedForModification_Item_PDU, proto_e2ap));
14753 dissector_add_uint("e2ap.ies", id_RICactionsRemovedForModification_List, create_dissector_handle(dissect_RICactions_RemovedForModification_List_PDU, proto_e2ap));
14754 dissector_add_uint("e2ap.ies", id_RICaction_RemovedForModification_Item, create_dissector_handle(dissect_RICaction_RemovedForModification_Item_PDU, proto_e2ap));
14755 dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeRemovedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeRemovedForModification_List_PDU, proto_e2ap));
14756 dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeRemovedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeRemovedForModification_Item_PDU, proto_e2ap));
14757 dissector_add_uint("e2ap.ies", id_RICactionsModifiedForModification_List, create_dissector_handle(dissect_RICactions_ModifiedForModification_List_PDU, proto_e2ap));
14758 dissector_add_uint("e2ap.ies", id_RICaction_ModifiedForModification_Item, create_dissector_handle(dissect_RICaction_ModifiedForModification_Item_PDU, proto_e2ap));
14759 dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeModifiedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeModifiedForModification_List_PDU, proto_e2ap));
14760 dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeModifiedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeModifiedForModification_Item_PDU, proto_e2ap));
14761 dissector_add_uint("e2ap.ies", id_RICactionsAddedForModification_List, create_dissector_handle(dissect_RICactions_AddedForModification_List_PDU, proto_e2ap));
14762 dissector_add_uint("e2ap.ies", id_RICaction_AddedForModification_Item, create_dissector_handle(dissect_RICaction_AddedForModification_Item_PDU, proto_e2ap));
14763 dissector_add_uint("e2ap.ies", id_RICactionsFailedToBeAddedForModification_List, create_dissector_handle(dissect_RICactions_FailedToBeAddedForModification_List_PDU, proto_e2ap));
14764 dissector_add_uint("e2ap.ies", id_RICaction_FailedToBeAddedForModification_Item, create_dissector_handle(dissect_RICaction_FailedToBeAddedForModification_Item_PDU, proto_e2ap));
14765 dissector_add_uint("e2ap.ies", id_RICactionsRequiredToBeModified_List, create_dissector_handle(dissect_RICactions_RequiredToBeModified_List_PDU, proto_e2ap));
14766 dissector_add_uint("e2ap.ies", id_RICaction_RequiredToBeModified_Item, create_dissector_handle(dissect_RICaction_RequiredToBeModified_Item_PDU, proto_e2ap));
14767 dissector_add_uint("e2ap.ies", id_RICactionsRequiredToBeRemoved_List, create_dissector_handle(dissect_RICactions_RequiredToBeRemoved_List_PDU, proto_e2ap));
14768 dissector_add_uint("e2ap.ies", id_RICaction_RequiredToBeRemoved_Item, create_dissector_handle(dissect_RICaction_RequiredToBeRemoved_Item_PDU, proto_e2ap));
14769 dissector_add_uint("e2ap.ies", id_RICactionsConfirmedForModification_List, create_dissector_handle(dissect_RICactions_ConfirmedForModification_List_PDU, proto_e2ap));
14770 dissector_add_uint("e2ap.ies", id_RICaction_ConfirmedForModification_Item, create_dissector_handle(dissect_RICaction_ConfirmedForModification_Item_PDU, proto_e2ap));
14771 dissector_add_uint("e2ap.ies", id_RICactionsRefusedToBeModified_List, create_dissector_handle(dissect_RICactions_RefusedToBeModified_List_PDU, proto_e2ap));
14772 dissector_add_uint("e2ap.ies", id_RICaction_RefusedToBeModified_Item, create_dissector_handle(dissect_RICaction_RefusedToBeModified_Item_PDU, proto_e2ap));
14773 dissector_add_uint("e2ap.ies", id_RICactionsConfirmedForRemoval_List, create_dissector_handle(dissect_RICactions_ConfirmedForRemoval_List_PDU, proto_e2ap));
14774 dissector_add_uint("e2ap.ies", id_RICaction_ConfirmedForRemoval_Item, create_dissector_handle(dissect_RICaction_ConfirmedForRemoval_Item_PDU, proto_e2ap));
14775 dissector_add_uint("e2ap.ies", id_RICactionsRefusedToBeRemoved_List, create_dissector_handle(dissect_RICactions_RefusedToBeRemoved_List_PDU, proto_e2ap));
14776 dissector_add_uint("e2ap.ies", id_RICaction_RefusedToBeRemoved_Item, create_dissector_handle(dissect_RICaction_RefusedToBeRemoved_Item_PDU, proto_e2ap));
14777 dissector_add_uint("e2ap.ies", id_RICqueryHeader, create_dissector_handle(dissect_RICqueryHeader_PDU, proto_e2ap));
14778 dissector_add_uint("e2ap.ies", id_RICqueryDefinition, create_dissector_handle(dissect_RICqueryDefinition_PDU, proto_e2ap));
14779 dissector_add_uint("e2ap.ies", id_RICqueryOutcome, create_dissector_handle(dissect_RICqueryOutcome_PDU, proto_e2ap));
14780 dissector_add_uint("e2ap.proc.imsg", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdate_PDU, proto_e2ap));
14781 dissector_add_uint("e2ap.proc.sout", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdateAcknowledge_PDU, proto_e2ap));
14782 dissector_add_uint("e2ap.proc.uout", id_E2connectionUpdate, create_dissector_handle(dissect_E2connectionUpdateFailure_PDU, proto_e2ap));
14783 dissector_add_uint("e2ap.proc.imsg", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdate_PDU, proto_e2ap));
14784 dissector_add_uint("e2ap.proc.sout", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdateAcknowledge_PDU, proto_e2ap));
14785 dissector_add_uint("e2ap.proc.uout", id_E2nodeConfigurationUpdate, create_dissector_handle(dissect_E2nodeConfigurationUpdateFailure_PDU, proto_e2ap));
14786 dissector_add_uint("e2ap.proc.uout", id_E2setup, create_dissector_handle(dissect_E2setupFailure_PDU, proto_e2ap));
14787 dissector_add_uint("e2ap.proc.imsg", id_E2setup, create_dissector_handle(dissect_E2setupRequest_PDU, proto_e2ap));
14788 dissector_add_uint("e2ap.proc.sout", id_E2setup, create_dissector_handle(dissect_E2setupResponse_PDU, proto_e2ap));
14789 dissector_add_uint("e2ap.proc.imsg", id_ErrorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_e2ap));
14790 dissector_add_uint("e2ap.proc.imsg", id_Reset, create_dissector_handle(dissect_ResetRequest_PDU, proto_e2ap));
14791 dissector_add_uint("e2ap.proc.sout", id_Reset, create_dissector_handle(dissect_ResetResponse_PDU, proto_e2ap));
14792 dissector_add_uint("e2ap.proc.sout", id_RICcontrol, create_dissector_handle(dissect_RICcontrolAcknowledge_PDU, proto_e2ap));
14793 dissector_add_uint("e2ap.proc.uout", id_RICcontrol, create_dissector_handle(dissect_RICcontrolFailure_PDU, proto_e2ap));
14794 dissector_add_uint("e2ap.proc.imsg", id_RICcontrol, create_dissector_handle(dissect_RICcontrolRequest_PDU, proto_e2ap));
14795 dissector_add_uint("e2ap.proc.imsg", id_RICindication, create_dissector_handle(dissect_RICindication_PDU, proto_e2ap));
14796 dissector_add_uint("e2ap.proc.imsg", id_RICserviceQuery, create_dissector_handle(dissect_RICserviceQuery_PDU, proto_e2ap));
14797 dissector_add_uint("e2ap.proc.imsg", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdate_PDU, proto_e2ap));
14798 dissector_add_uint("e2ap.proc.sout", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdateAcknowledge_PDU, proto_e2ap));
14799 dissector_add_uint("e2ap.proc.uout", id_RICserviceUpdate, create_dissector_handle(dissect_RICserviceUpdateFailure_PDU, proto_e2ap));
14800 dissector_add_uint("e2ap.proc.uout", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionFailure_PDU, proto_e2ap));
14801 dissector_add_uint("e2ap.proc.imsg", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionRequest_PDU, proto_e2ap));
14802 dissector_add_uint("e2ap.proc.sout", id_RICsubscription, create_dissector_handle(dissect_RICsubscriptionResponse_PDU, proto_e2ap));
14803 dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteFailure_PDU, proto_e2ap));
14804 dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteRequest_PDU, proto_e2ap));
14805 dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionDelete, create_dissector_handle(dissect_RICsubscriptionDeleteResponse_PDU, proto_e2ap));
14806 dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionDeleteRequired, create_dissector_handle(dissect_RICsubscriptionDeleteRequired_PDU, proto_e2ap));
14807 dissector_add_uint("e2ap.proc.uout", id_E2removal, create_dissector_handle(dissect_E2RemovalFailure_PDU, proto_e2ap));
14808 dissector_add_uint("e2ap.proc.imsg", id_E2removal, create_dissector_handle(dissect_E2RemovalRequest_PDU, proto_e2ap));
14809 dissector_add_uint("e2ap.proc.sout", id_E2removal, create_dissector_handle(dissect_E2RemovalResponse_PDU, proto_e2ap));
14810 dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationFailure_PDU, proto_e2ap));
14811 dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationRequest_PDU, proto_e2ap));
14812 dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionModification, create_dissector_handle(dissect_RICsubscriptionModificationResponse_PDU, proto_e2ap));
14813 dissector_add_uint("e2ap.proc.uout", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationRefuse_PDU, proto_e2ap));
14814 dissector_add_uint("e2ap.proc.imsg", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationRequired_PDU, proto_e2ap));
14815 dissector_add_uint("e2ap.proc.sout", id_RICsubscriptionModificationRequired, create_dissector_handle(dissect_RICsubscriptionModificationConfirm_PDU, proto_e2ap));
14816 dissector_add_uint("e2ap.proc.uout", id_RICquery, create_dissector_handle(dissect_RICQueryFailure_PDU, proto_e2ap));
14817 dissector_add_uint("e2ap.proc.imsg", id_RICquery, create_dissector_handle(dissect_RICQueryRequest_PDU, proto_e2ap));
14818 dissector_add_uint("e2ap.proc.sout", id_RICquery, create_dissector_handle(dissect_RICQueryResponse_PDU, proto_e2ap));
14821 /********************************/
14822 /* Known OIDs for RAN providers */
14823 /* N.B. These appear in the RAN Function ASN.1 definitions (except for CCC, which is based on JSON).
14824 * There is a registry of known OIDs though in the E2SM specification
14827 /* KPM */
14828 oid_add_from_string("KPM v1", "1.3.6.1.4.1.53148.1.1.2.2");
14829 oid_add_from_string("KPM v2", "1.3.6.1.4.1.53148.1.2.2.2");
14830 oid_add_from_string("KPM v3", "1.3.6.1.4.1.53148.1.3.2.2");
14831 oid_add_from_string("KPM v4", "1.3.6.1.4.1.53148.1.4.2.2");
14832 oid_add_from_string("KPM v5", "1.3.6.1.4.1.53148.1.5.2.2");
14833 oid_add_from_string("KPM v6", "1.3.6.1.4.1.53148.1.6.2.2");
14836 /* RC */
14837 // TODO: appears to be the same??? Asking for clarification from ORAN..
14838 oid_add_from_string("RC v1", "1.3.6.1.4.1.53148.1.1.2.3");
14839 //oid_add_from_string("RC v3", "1.3.6.1.4.1.53148.1.1.2.3");
14840 //oid_add_from_string("RC v4", "1.3.6.1.4.1.53148.1.1.2.3");
14842 /* NI */
14843 oid_add_from_string("NI v1", "1.3.6.1.4.1.53148.1.1.2.1");
14844 oid_add_from_string("NI v2", "1.3.6.1.4.1.53148.1.2.2.1");
14845 oid_add_from_string("NI v3", "1.3.6.1.4.1.53148.1.3.2.1");
14846 oid_add_from_string("NI v4", "1.3.6.1.4.1.53148.1.4.2.1");
14847 oid_add_from_string("NI v5", "1.3.6.1.4.1.53148.1.5.2.1");
14848 oid_add_from_string("NI v6", "1.3.6.1.4.1.53148.1.6.2.1");
14851 /* CCC */
14852 oid_add_from_string("CCC v1", "1.3.6.1.4.1.53148.1.1.2.4");
14853 oid_add_from_string("CCC v2", "1.3.6.1.4.1.53148.1.2.2.4");
14854 oid_add_from_string("CCC v3", "1.3.6.1.4.1.53148.1.3.2.4");
14855 oid_add_from_string("CCC v4", "1.3.6.1.4.1.53148.1.4.2.4");
14856 oid_add_from_string("CCC v5", "1.3.6.1.4.1.53148.1.5.2.4");
14857 oid_add_from_string("CCC v6", "1.3.6.1.4.1.53148.1.6.2.4");
14860 /*********************************************************/
14861 /* Register 'built-in' dissectors (i.e., from asn1/e2ap) */
14863 static ran_function_dissector_t kpm_v3 =
14864 { "ORAN-E2SM-KPM", "1.3.6.1.4.1.53148.1.3.2.2", 3, 0,
14865 { dissect_E2SM_KPM_RANfunction_Description_PDU,
14867 NULL,
14868 NULL,
14869 NULL,
14870 NULL,
14871 NULL,
14872 NULL,
14874 dissect_E2SM_KPM_ActionDefinition_PDU,
14875 dissect_E2SM_KPM_IndicationMessage_PDU,
14876 dissect_E2SM_KPM_IndicationHeader_PDU,
14877 NULL, /* no dissect_E2SM_KPM_CallProcessID_PDU */
14878 dissect_E2SM_KPM_EventTriggerDefinition_PDU
14882 static ran_function_dissector_t rc_v1 =
14883 { "ORAN-E2SM-RC", "1.3.6.1.4.1.53148.1.1.2.3", 1, 3,
14884 { dissect_E2SM_RC_RANFunctionDefinition_PDU,
14886 dissect_E2SM_RC_ControlHeader_PDU,
14887 dissect_E2SM_RC_ControlMessage_PDU,
14888 dissect_E2SM_RC_ControlOutcome_PDU,
14889 /* new for v3 */
14890 NULL,
14891 NULL,
14892 NULL,
14894 dissect_E2SM_RC_ActionDefinition_PDU,
14895 dissect_E2SM_RC_IndicationMessage_PDU,
14896 dissect_E2SM_RC_IndicationHeader_PDU,
14897 dissect_E2SM_RC_CallProcessID_PDU,
14898 dissect_E2SM_RC_EventTrigger_PDU
14902 static ran_function_dissector_t ni_v1 =
14903 { "ORAN-E2SM-NI", "1.3.6.1.4.1.53148.1.1.2.1", 1, 0,
14904 { dissect_E2SM_NI_RANfunction_Description_PDU,
14906 dissect_E2SM_NI_ControlHeader_PDU,
14907 dissect_E2SM_NI_ControlMessage_PDU,
14908 dissect_E2SM_NI_ControlOutcome_PDU,
14909 NULL,
14910 NULL,
14911 NULL,
14913 dissect_E2SM_NI_ActionDefinition_PDU,
14914 dissect_E2SM_NI_IndicationMessage_PDU,
14915 dissect_E2SM_NI_IndicationHeader_PDU,
14916 dissect_E2SM_NI_CallProcessID_PDU,
14917 dissect_E2SM_NI_EventTriggerDefinition_PDU
14921 static ran_function_dissector_t ccc_v1 =
14922 { "{", /*"ORAN-E2SM-CCC",*/ "1.3.6.1.4.1.53148.1.1.2.4", 1, 0,
14923 /* See table 5.1 */
14924 { dissect_E2SM_NI_JSON_PDU,
14926 dissect_E2SM_NI_JSON_PDU,
14927 dissect_E2SM_NI_JSON_PDU,
14928 dissect_E2SM_NI_JSON_PDU,
14929 NULL,
14930 NULL,
14931 NULL,
14933 dissect_E2SM_NI_JSON_PDU,
14934 dissect_E2SM_NI_JSON_PDU,
14935 dissect_E2SM_NI_JSON_PDU,
14936 dissect_E2SM_NI_JSON_PDU,
14937 dissect_E2SM_NI_JSON_PDU
14941 static ran_function_dissector_t ccc_v2 =
14942 { "{", /*"ORAN-E2SM-CCC",*/ "1.3.6.1.4.1.53148.1.2.2.4", 2, 0,
14943 /* See table 5.1 */
14944 { dissect_E2SM_NI_JSON_PDU,
14946 dissect_E2SM_NI_JSON_PDU,
14947 dissect_E2SM_NI_JSON_PDU,
14948 dissect_E2SM_NI_JSON_PDU,
14949 NULL,
14950 NULL,
14951 NULL,
14953 dissect_E2SM_NI_JSON_PDU,
14954 dissect_E2SM_NI_JSON_PDU,
14955 dissect_E2SM_NI_JSON_PDU,
14956 dissect_E2SM_NI_JSON_PDU,
14957 dissect_E2SM_NI_JSON_PDU
14961 static ran_function_dissector_t ccc_v3 =
14962 { "{", /*"ORAN-E2SM-CCC",*/ "1.3.6.1.4.1.53148.1.3.2.4", 3, 0,
14963 /* See table 5.1 */
14964 { dissect_E2SM_NI_JSON_PDU,
14966 dissect_E2SM_NI_JSON_PDU,
14967 dissect_E2SM_NI_JSON_PDU,
14968 dissect_E2SM_NI_JSON_PDU,
14969 NULL,
14970 NULL,
14971 NULL,
14973 dissect_E2SM_NI_JSON_PDU,
14974 dissect_E2SM_NI_JSON_PDU,
14975 dissect_E2SM_NI_JSON_PDU,
14976 dissect_E2SM_NI_JSON_PDU,
14977 dissect_E2SM_NI_JSON_PDU
14981 static ran_function_dissector_t ccc_v4 =
14982 { "{", /*"ORAN-E2SM-CCC",*/ "1.3.6.1.4.1.53148.1.4.2.4", 4, 0,
14983 /* See table 5.1 */
14984 { dissect_E2SM_NI_JSON_PDU,
14986 dissect_E2SM_NI_JSON_PDU,
14987 dissect_E2SM_NI_JSON_PDU,
14988 dissect_E2SM_NI_JSON_PDU,
14989 NULL,
14990 NULL,
14991 NULL,
14993 dissect_E2SM_NI_JSON_PDU,
14994 dissect_E2SM_NI_JSON_PDU,
14995 dissect_E2SM_NI_JSON_PDU,
14996 dissect_E2SM_NI_JSON_PDU,
14997 dissect_E2SM_NI_JSON_PDU
15001 static ran_function_dissector_t ccc_v5 =
15002 { "{", /*"ORAN-E2SM-CCC",*/ "1.3.6.1.4.1.53148.1.5.2.4", 5, 0,
15003 /* See table 5.1 */
15004 { dissect_E2SM_NI_JSON_PDU,
15006 dissect_E2SM_NI_JSON_PDU,
15007 dissect_E2SM_NI_JSON_PDU,
15008 dissect_E2SM_NI_JSON_PDU,
15009 NULL,
15010 NULL,
15011 NULL,
15013 dissect_E2SM_NI_JSON_PDU,
15014 dissect_E2SM_NI_JSON_PDU,
15015 dissect_E2SM_NI_JSON_PDU,
15016 dissect_E2SM_NI_JSON_PDU,
15017 dissect_E2SM_NI_JSON_PDU
15022 /* Register available dissectors.
15023 * Registering one version of each RAN Function here - others will need to be
15024 * registered in sepparate dissectors (e.g. kpm_v2) */
15025 register_e2ap_ran_function_dissector(KPM_RANFUNCTIONS, &kpm_v3);
15026 register_e2ap_ran_function_dissector(RC_RANFUNCTIONS, &rc_v1);
15027 register_e2ap_ran_function_dissector(NI_RANFUNCTIONS, &ni_v1);
15029 register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS, &ccc_v1);
15030 register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS, &ccc_v2);
15031 register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS, &ccc_v3);
15032 register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS, &ccc_v4);
15033 register_e2ap_ran_function_dissector(CCC_RANFUNCTIONS, &ccc_v5);
15036 /* Cache JSON dissector */
15037 json_handle = find_dissector("json");
15039 stats_tree_register("e2ap", "e2ap", "E2AP", 0,
15040 e2ap_stats_tree_packet, e2ap_stats_tree_init, NULL);
15046 /*--- proto_register_e2ap -------------------------------------------*/
15047 void proto_register_e2ap(void) {
15049 /* List of fields */
15051 static hf_register_info hf[] = {
15052 { &hf_e2ap_Cause_PDU,
15053 { "Cause", "e2ap.Cause",
15054 FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
15055 NULL, HFILL }},
15056 { &hf_e2ap_CriticalityDiagnostics_PDU,
15057 { "CriticalityDiagnostics", "e2ap.CriticalityDiagnostics_element",
15058 FT_NONE, BASE_NONE, NULL, 0,
15059 NULL, HFILL }},
15060 { &hf_e2ap_GlobalE2node_ID_PDU,
15061 { "GlobalE2node-ID", "e2ap.GlobalE2node_ID",
15062 FT_UINT32, BASE_DEC, VALS(e2ap_GlobalE2node_ID_vals), 0,
15063 NULL, HFILL }},
15064 { &hf_e2ap_GlobalRIC_ID_PDU,
15065 { "GlobalRIC-ID", "e2ap.GlobalRIC_ID_element",
15066 FT_NONE, BASE_NONE, NULL, 0,
15067 NULL, HFILL }},
15068 { &hf_e2ap_RANfunctionID_PDU,
15069 { "RANfunctionID", "e2ap.RANfunctionID",
15070 FT_UINT32, BASE_DEC, NULL, 0,
15071 NULL, HFILL }},
15072 { &hf_e2ap_RICactionID_PDU,
15073 { "RICactionID", "e2ap.RICactionID",
15074 FT_UINT32, BASE_DEC, NULL, 0,
15075 NULL, HFILL }},
15076 { &hf_e2ap_RICcallProcessID_PDU,
15077 { "RICcallProcessID", "e2ap.RICcallProcessID",
15078 FT_BYTES, BASE_NONE, NULL, 0,
15079 NULL, HFILL }},
15080 { &hf_e2ap_RICcontrolAckRequest_PDU,
15081 { "RICcontrolAckRequest", "e2ap.RICcontrolAckRequest",
15082 FT_UINT32, BASE_DEC, VALS(e2ap_RICcontrolAckRequest_vals), 0,
15083 NULL, HFILL }},
15084 { &hf_e2ap_RICcontrolHeader_PDU,
15085 { "RICcontrolHeader", "e2ap.RICcontrolHeader",
15086 FT_BYTES, BASE_NONE, NULL, 0,
15087 NULL, HFILL }},
15088 { &hf_e2ap_RICcontrolMessage_PDU,
15089 { "RICcontrolMessage", "e2ap.RICcontrolMessage",
15090 FT_BYTES, BASE_NONE, NULL, 0,
15091 NULL, HFILL }},
15092 { &hf_e2ap_RICcontrolOutcome_PDU,
15093 { "RICcontrolOutcome", "e2ap.RICcontrolOutcome",
15094 FT_BYTES, BASE_NONE, NULL, 0,
15095 NULL, HFILL }},
15096 { &hf_e2ap_RICeventTriggerDefinition_PDU,
15097 { "RICeventTriggerDefinition", "e2ap.RICeventTriggerDefinition",
15098 FT_BYTES, BASE_NONE, NULL, 0,
15099 NULL, HFILL }},
15100 { &hf_e2ap_RICindicationHeader_PDU,
15101 { "RICindicationHeader", "e2ap.RICindicationHeader",
15102 FT_BYTES, BASE_NONE, NULL, 0,
15103 NULL, HFILL }},
15104 { &hf_e2ap_RICindicationMessage_PDU,
15105 { "RICindicationMessage", "e2ap.RICindicationMessage",
15106 FT_BYTES, BASE_NONE, NULL, 0,
15107 NULL, HFILL }},
15108 { &hf_e2ap_RICindicationSN_PDU,
15109 { "RICindicationSN", "e2ap.RICindicationSN",
15110 FT_UINT32, BASE_DEC, NULL, 0,
15111 NULL, HFILL }},
15112 { &hf_e2ap_RICindicationType_PDU,
15113 { "RICindicationType", "e2ap.RICindicationType",
15114 FT_UINT32, BASE_DEC, VALS(e2ap_RICindicationType_vals), 0,
15115 NULL, HFILL }},
15116 { &hf_e2ap_RICrequestID_PDU,
15117 { "RICrequestID", "e2ap.RICrequestID_element",
15118 FT_NONE, BASE_NONE, NULL, 0,
15119 NULL, HFILL }},
15120 { &hf_e2ap_RICsubscriptionTime_PDU,
15121 { "RICsubscriptionTime", "e2ap.RICsubscriptionTime",
15122 FT_BYTES, BASE_NONE, NULL, 0,
15123 NULL, HFILL }},
15124 { &hf_e2ap_RICqueryHeader_PDU,
15125 { "RICqueryHeader", "e2ap.RICqueryHeader",
15126 FT_BYTES, BASE_NONE, NULL, 0,
15127 NULL, HFILL }},
15128 { &hf_e2ap_RICqueryDefinition_PDU,
15129 { "RICqueryDefinition", "e2ap.RICqueryDefinition",
15130 FT_BYTES, BASE_NONE, NULL, 0,
15131 NULL, HFILL }},
15132 { &hf_e2ap_RICqueryOutcome_PDU,
15133 { "RICqueryOutcome", "e2ap.RICqueryOutcome",
15134 FT_BYTES, BASE_NONE, NULL, 0,
15135 NULL, HFILL }},
15136 { &hf_e2ap_TimeToWait_PDU,
15137 { "TimeToWait", "e2ap.TimeToWait",
15138 FT_UINT32, BASE_DEC, VALS(e2ap_TimeToWait_vals), 0,
15139 NULL, HFILL }},
15140 { &hf_e2ap_TNLinformation_PDU,
15141 { "TNLinformation", "e2ap.TNLinformation_element",
15142 FT_NONE, BASE_NONE, NULL, 0,
15143 NULL, HFILL }},
15144 { &hf_e2ap_TransactionID_PDU,
15145 { "TransactionID", "e2ap.TransactionID",
15146 FT_UINT32, BASE_DEC, NULL, 0,
15147 NULL, HFILL }},
15148 { &hf_e2ap_RICsubscriptionRequest_PDU,
15149 { "RICsubscriptionRequest", "e2ap.RICsubscriptionRequest_element",
15150 FT_NONE, BASE_NONE, NULL, 0,
15151 NULL, HFILL }},
15152 { &hf_e2ap_RICsubscriptionDetails_PDU,
15153 { "RICsubscriptionDetails", "e2ap.RICsubscriptionDetails_element",
15154 FT_NONE, BASE_NONE, NULL, 0,
15155 NULL, HFILL }},
15156 { &hf_e2ap_RICaction_ToBeSetup_Item_PDU,
15157 { "RICaction-ToBeSetup-Item", "e2ap.RICaction_ToBeSetup_Item_element",
15158 FT_NONE, BASE_NONE, NULL, 0,
15159 NULL, HFILL }},
15160 { &hf_e2ap_RICsubscriptionResponse_PDU,
15161 { "RICsubscriptionResponse", "e2ap.RICsubscriptionResponse_element",
15162 FT_NONE, BASE_NONE, NULL, 0,
15163 NULL, HFILL }},
15164 { &hf_e2ap_RICaction_Admitted_List_PDU,
15165 { "RICaction-Admitted-List", "e2ap.RICaction_Admitted_List",
15166 FT_UINT32, BASE_DEC, NULL, 0,
15167 NULL, HFILL }},
15168 { &hf_e2ap_RICaction_Admitted_Item_PDU,
15169 { "RICaction-Admitted-Item", "e2ap.RICaction_Admitted_Item_element",
15170 FT_NONE, BASE_NONE, NULL, 0,
15171 NULL, HFILL }},
15172 { &hf_e2ap_RICaction_NotAdmitted_List_PDU,
15173 { "RICaction-NotAdmitted-List", "e2ap.RICaction_NotAdmitted_List",
15174 FT_UINT32, BASE_DEC, NULL, 0,
15175 NULL, HFILL }},
15176 { &hf_e2ap_RICaction_NotAdmitted_Item_PDU,
15177 { "RICaction-NotAdmitted-Item", "e2ap.RICaction_NotAdmitted_Item_element",
15178 FT_NONE, BASE_NONE, NULL, 0,
15179 NULL, HFILL }},
15180 { &hf_e2ap_RICsubscriptionFailure_PDU,
15181 { "RICsubscriptionFailure", "e2ap.RICsubscriptionFailure_element",
15182 FT_NONE, BASE_NONE, NULL, 0,
15183 NULL, HFILL }},
15184 { &hf_e2ap_RICsubscriptionDeleteRequest_PDU,
15185 { "RICsubscriptionDeleteRequest", "e2ap.RICsubscriptionDeleteRequest_element",
15186 FT_NONE, BASE_NONE, NULL, 0,
15187 NULL, HFILL }},
15188 { &hf_e2ap_RICsubscriptionDeleteResponse_PDU,
15189 { "RICsubscriptionDeleteResponse", "e2ap.RICsubscriptionDeleteResponse_element",
15190 FT_NONE, BASE_NONE, NULL, 0,
15191 NULL, HFILL }},
15192 { &hf_e2ap_RICsubscriptionDeleteFailure_PDU,
15193 { "RICsubscriptionDeleteFailure", "e2ap.RICsubscriptionDeleteFailure_element",
15194 FT_NONE, BASE_NONE, NULL, 0,
15195 NULL, HFILL }},
15196 { &hf_e2ap_RICsubscriptionDeleteRequired_PDU,
15197 { "RICsubscriptionDeleteRequired", "e2ap.RICsubscriptionDeleteRequired_element",
15198 FT_NONE, BASE_NONE, NULL, 0,
15199 NULL, HFILL }},
15200 { &hf_e2ap_RICsubscription_List_withCause_PDU,
15201 { "RICsubscription-List-withCause", "e2ap.RICsubscription_List_withCause",
15202 FT_UINT32, BASE_DEC, NULL, 0,
15203 NULL, HFILL }},
15204 { &hf_e2ap_RICsubscription_withCause_Item_PDU,
15205 { "RICsubscription-withCause-Item", "e2ap.RICsubscription_withCause_Item_element",
15206 FT_NONE, BASE_NONE, NULL, 0,
15207 NULL, HFILL }},
15208 { &hf_e2ap_RICsubscriptionModificationRequest_PDU,
15209 { "RICsubscriptionModificationRequest", "e2ap.RICsubscriptionModificationRequest_element",
15210 FT_NONE, BASE_NONE, NULL, 0,
15211 NULL, HFILL }},
15212 { &hf_e2ap_RICactions_ToBeRemovedForModification_List_PDU,
15213 { "RICactions-ToBeRemovedForModification-List", "e2ap.RICactions_ToBeRemovedForModification_List",
15214 FT_UINT32, BASE_DEC, NULL, 0,
15215 NULL, HFILL }},
15216 { &hf_e2ap_RICaction_ToBeRemovedForModification_Item_PDU,
15217 { "RICaction-ToBeRemovedForModification-Item", "e2ap.RICaction_ToBeRemovedForModification_Item_element",
15218 FT_NONE, BASE_NONE, NULL, 0,
15219 NULL, HFILL }},
15220 { &hf_e2ap_RICactions_ToBeModifiedForModification_List_PDU,
15221 { "RICactions-ToBeModifiedForModification-List", "e2ap.RICactions_ToBeModifiedForModification_List",
15222 FT_UINT32, BASE_DEC, NULL, 0,
15223 NULL, HFILL }},
15224 { &hf_e2ap_RICaction_ToBeModifiedForModification_Item_PDU,
15225 { "RICaction-ToBeModifiedForModification-Item", "e2ap.RICaction_ToBeModifiedForModification_Item_element",
15226 FT_NONE, BASE_NONE, NULL, 0,
15227 NULL, HFILL }},
15228 { &hf_e2ap_RICactions_ToBeAddedForModification_List_PDU,
15229 { "RICactions-ToBeAddedForModification-List", "e2ap.RICactions_ToBeAddedForModification_List",
15230 FT_UINT32, BASE_DEC, NULL, 0,
15231 NULL, HFILL }},
15232 { &hf_e2ap_RICaction_ToBeAddedForModification_Item_PDU,
15233 { "RICaction-ToBeAddedForModification-Item", "e2ap.RICaction_ToBeAddedForModification_Item_element",
15234 FT_NONE, BASE_NONE, NULL, 0,
15235 NULL, HFILL }},
15236 { &hf_e2ap_RICsubscriptionModificationResponse_PDU,
15237 { "RICsubscriptionModificationResponse", "e2ap.RICsubscriptionModificationResponse_element",
15238 FT_NONE, BASE_NONE, NULL, 0,
15239 NULL, HFILL }},
15240 { &hf_e2ap_RICactions_RemovedForModification_List_PDU,
15241 { "RICactions-RemovedForModification-List", "e2ap.RICactions_RemovedForModification_List",
15242 FT_UINT32, BASE_DEC, NULL, 0,
15243 NULL, HFILL }},
15244 { &hf_e2ap_RICaction_RemovedForModification_Item_PDU,
15245 { "RICaction-RemovedForModification-Item", "e2ap.RICaction_RemovedForModification_Item_element",
15246 FT_NONE, BASE_NONE, NULL, 0,
15247 NULL, HFILL }},
15248 { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_PDU,
15249 { "RICactions-FailedToBeRemovedForModification-List", "e2ap.RICactions_FailedToBeRemovedForModification_List",
15250 FT_UINT32, BASE_DEC, NULL, 0,
15251 NULL, HFILL }},
15252 { &hf_e2ap_RICaction_FailedToBeRemovedForModification_Item_PDU,
15253 { "RICaction-FailedToBeRemovedForModification-Item", "e2ap.RICaction_FailedToBeRemovedForModification_Item_element",
15254 FT_NONE, BASE_NONE, NULL, 0,
15255 NULL, HFILL }},
15256 { &hf_e2ap_RICactions_ModifiedForModification_List_PDU,
15257 { "RICactions-ModifiedForModification-List", "e2ap.RICactions_ModifiedForModification_List",
15258 FT_UINT32, BASE_DEC, NULL, 0,
15259 NULL, HFILL }},
15260 { &hf_e2ap_RICaction_ModifiedForModification_Item_PDU,
15261 { "RICaction-ModifiedForModification-Item", "e2ap.RICaction_ModifiedForModification_Item_element",
15262 FT_NONE, BASE_NONE, NULL, 0,
15263 NULL, HFILL }},
15264 { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_PDU,
15265 { "RICactions-FailedToBeModifiedForModification-List", "e2ap.RICactions_FailedToBeModifiedForModification_List",
15266 FT_UINT32, BASE_DEC, NULL, 0,
15267 NULL, HFILL }},
15268 { &hf_e2ap_RICaction_FailedToBeModifiedForModification_Item_PDU,
15269 { "RICaction-FailedToBeModifiedForModification-Item", "e2ap.RICaction_FailedToBeModifiedForModification_Item_element",
15270 FT_NONE, BASE_NONE, NULL, 0,
15271 NULL, HFILL }},
15272 { &hf_e2ap_RICactions_AddedForModification_List_PDU,
15273 { "RICactions-AddedForModification-List", "e2ap.RICactions_AddedForModification_List",
15274 FT_UINT32, BASE_DEC, NULL, 0,
15275 NULL, HFILL }},
15276 { &hf_e2ap_RICaction_AddedForModification_Item_PDU,
15277 { "RICaction-AddedForModification-Item", "e2ap.RICaction_AddedForModification_Item_element",
15278 FT_NONE, BASE_NONE, NULL, 0,
15279 NULL, HFILL }},
15280 { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_PDU,
15281 { "RICactions-FailedToBeAddedForModification-List", "e2ap.RICactions_FailedToBeAddedForModification_List",
15282 FT_UINT32, BASE_DEC, NULL, 0,
15283 NULL, HFILL }},
15284 { &hf_e2ap_RICaction_FailedToBeAddedForModification_Item_PDU,
15285 { "RICaction-FailedToBeAddedForModification-Item", "e2ap.RICaction_FailedToBeAddedForModification_Item_element",
15286 FT_NONE, BASE_NONE, NULL, 0,
15287 NULL, HFILL }},
15288 { &hf_e2ap_RICsubscriptionModificationFailure_PDU,
15289 { "RICsubscriptionModificationFailure", "e2ap.RICsubscriptionModificationFailure_element",
15290 FT_NONE, BASE_NONE, NULL, 0,
15291 NULL, HFILL }},
15292 { &hf_e2ap_RICsubscriptionModificationRequired_PDU,
15293 { "RICsubscriptionModificationRequired", "e2ap.RICsubscriptionModificationRequired_element",
15294 FT_NONE, BASE_NONE, NULL, 0,
15295 NULL, HFILL }},
15296 { &hf_e2ap_RICactions_RequiredToBeModified_List_PDU,
15297 { "RICactions-RequiredToBeModified-List", "e2ap.RICactions_RequiredToBeModified_List",
15298 FT_UINT32, BASE_DEC, NULL, 0,
15299 NULL, HFILL }},
15300 { &hf_e2ap_RICaction_RequiredToBeModified_Item_PDU,
15301 { "RICaction-RequiredToBeModified-Item", "e2ap.RICaction_RequiredToBeModified_Item_element",
15302 FT_NONE, BASE_NONE, NULL, 0,
15303 NULL, HFILL }},
15304 { &hf_e2ap_RICactions_RequiredToBeRemoved_List_PDU,
15305 { "RICactions-RequiredToBeRemoved-List", "e2ap.RICactions_RequiredToBeRemoved_List",
15306 FT_UINT32, BASE_DEC, NULL, 0,
15307 NULL, HFILL }},
15308 { &hf_e2ap_RICaction_RequiredToBeRemoved_Item_PDU,
15309 { "RICaction-RequiredToBeRemoved-Item", "e2ap.RICaction_RequiredToBeRemoved_Item_element",
15310 FT_NONE, BASE_NONE, NULL, 0,
15311 NULL, HFILL }},
15312 { &hf_e2ap_RICsubscriptionModificationConfirm_PDU,
15313 { "RICsubscriptionModificationConfirm", "e2ap.RICsubscriptionModificationConfirm_element",
15314 FT_NONE, BASE_NONE, NULL, 0,
15315 NULL, HFILL }},
15316 { &hf_e2ap_RICactions_ConfirmedForModification_List_PDU,
15317 { "RICactions-ConfirmedForModification-List", "e2ap.RICactions_ConfirmedForModification_List",
15318 FT_UINT32, BASE_DEC, NULL, 0,
15319 NULL, HFILL }},
15320 { &hf_e2ap_RICaction_ConfirmedForModification_Item_PDU,
15321 { "RICaction-ConfirmedForModification-Item", "e2ap.RICaction_ConfirmedForModification_Item_element",
15322 FT_NONE, BASE_NONE, NULL, 0,
15323 NULL, HFILL }},
15324 { &hf_e2ap_RICactions_RefusedToBeModified_List_PDU,
15325 { "RICactions-RefusedToBeModified-List", "e2ap.RICactions_RefusedToBeModified_List",
15326 FT_UINT32, BASE_DEC, NULL, 0,
15327 NULL, HFILL }},
15328 { &hf_e2ap_RICaction_RefusedToBeModified_Item_PDU,
15329 { "RICaction-RefusedToBeModified-Item", "e2ap.RICaction_RefusedToBeModified_Item_element",
15330 FT_NONE, BASE_NONE, NULL, 0,
15331 NULL, HFILL }},
15332 { &hf_e2ap_RICactions_ConfirmedForRemoval_List_PDU,
15333 { "RICactions-ConfirmedForRemoval-List", "e2ap.RICactions_ConfirmedForRemoval_List",
15334 FT_UINT32, BASE_DEC, NULL, 0,
15335 NULL, HFILL }},
15336 { &hf_e2ap_RICaction_ConfirmedForRemoval_Item_PDU,
15337 { "RICaction-ConfirmedForRemoval-Item", "e2ap.RICaction_ConfirmedForRemoval_Item_element",
15338 FT_NONE, BASE_NONE, NULL, 0,
15339 NULL, HFILL }},
15340 { &hf_e2ap_RICactions_RefusedToBeRemoved_List_PDU,
15341 { "RICactions-RefusedToBeRemoved-List", "e2ap.RICactions_RefusedToBeRemoved_List",
15342 FT_UINT32, BASE_DEC, NULL, 0,
15343 NULL, HFILL }},
15344 { &hf_e2ap_RICaction_RefusedToBeRemoved_Item_PDU,
15345 { "RICaction-RefusedToBeRemoved-Item", "e2ap.RICaction_RefusedToBeRemoved_Item_element",
15346 FT_NONE, BASE_NONE, NULL, 0,
15347 NULL, HFILL }},
15348 { &hf_e2ap_RICsubscriptionModificationRefuse_PDU,
15349 { "RICsubscriptionModificationRefuse", "e2ap.RICsubscriptionModificationRefuse_element",
15350 FT_NONE, BASE_NONE, NULL, 0,
15351 NULL, HFILL }},
15352 { &hf_e2ap_RICindication_PDU,
15353 { "RICindication", "e2ap.RICindication_element",
15354 FT_NONE, BASE_NONE, NULL, 0,
15355 NULL, HFILL }},
15356 { &hf_e2ap_RICcontrolRequest_PDU,
15357 { "RICcontrolRequest", "e2ap.RICcontrolRequest_element",
15358 FT_NONE, BASE_NONE, NULL, 0,
15359 NULL, HFILL }},
15360 { &hf_e2ap_RICcontrolAcknowledge_PDU,
15361 { "RICcontrolAcknowledge", "e2ap.RICcontrolAcknowledge_element",
15362 FT_NONE, BASE_NONE, NULL, 0,
15363 NULL, HFILL }},
15364 { &hf_e2ap_RICcontrolFailure_PDU,
15365 { "RICcontrolFailure", "e2ap.RICcontrolFailure_element",
15366 FT_NONE, BASE_NONE, NULL, 0,
15367 NULL, HFILL }},
15368 { &hf_e2ap_RICQueryRequest_PDU,
15369 { "RICQueryRequest", "e2ap.RICQueryRequest_element",
15370 FT_NONE, BASE_NONE, NULL, 0,
15371 NULL, HFILL }},
15372 { &hf_e2ap_RICQueryResponse_PDU,
15373 { "RICQueryResponse", "e2ap.RICQueryResponse_element",
15374 FT_NONE, BASE_NONE, NULL, 0,
15375 NULL, HFILL }},
15376 { &hf_e2ap_RICQueryFailure_PDU,
15377 { "RICQueryFailure", "e2ap.RICQueryFailure_element",
15378 FT_NONE, BASE_NONE, NULL, 0,
15379 NULL, HFILL }},
15380 { &hf_e2ap_ErrorIndication_PDU,
15381 { "ErrorIndication", "e2ap.ErrorIndication_element",
15382 FT_NONE, BASE_NONE, NULL, 0,
15383 NULL, HFILL }},
15384 { &hf_e2ap_E2setupRequest_PDU,
15385 { "E2setupRequest", "e2ap.E2setupRequest_element",
15386 FT_NONE, BASE_NONE, NULL, 0,
15387 NULL, HFILL }},
15388 { &hf_e2ap_E2setupResponse_PDU,
15389 { "E2setupResponse", "e2ap.E2setupResponse_element",
15390 FT_NONE, BASE_NONE, NULL, 0,
15391 NULL, HFILL }},
15392 { &hf_e2ap_E2setupFailure_PDU,
15393 { "E2setupFailure", "e2ap.E2setupFailure_element",
15394 FT_NONE, BASE_NONE, NULL, 0,
15395 NULL, HFILL }},
15396 { &hf_e2ap_E2connectionUpdate_PDU,
15397 { "E2connectionUpdate", "e2ap.E2connectionUpdate_element",
15398 FT_NONE, BASE_NONE, NULL, 0,
15399 NULL, HFILL }},
15400 { &hf_e2ap_E2connectionUpdate_List_PDU,
15401 { "E2connectionUpdate-List", "e2ap.E2connectionUpdate_List",
15402 FT_UINT32, BASE_DEC, NULL, 0,
15403 NULL, HFILL }},
15404 { &hf_e2ap_E2connectionUpdate_Item_PDU,
15405 { "E2connectionUpdate-Item", "e2ap.E2connectionUpdate_Item_element",
15406 FT_NONE, BASE_NONE, NULL, 0,
15407 NULL, HFILL }},
15408 { &hf_e2ap_E2connectionUpdateRemove_List_PDU,
15409 { "E2connectionUpdateRemove-List", "e2ap.E2connectionUpdateRemove_List",
15410 FT_UINT32, BASE_DEC, NULL, 0,
15411 NULL, HFILL }},
15412 { &hf_e2ap_E2connectionUpdateRemove_Item_PDU,
15413 { "E2connectionUpdateRemove-Item", "e2ap.E2connectionUpdateRemove_Item_element",
15414 FT_NONE, BASE_NONE, NULL, 0,
15415 NULL, HFILL }},
15416 { &hf_e2ap_E2connectionUpdateAcknowledge_PDU,
15417 { "E2connectionUpdateAcknowledge", "e2ap.E2connectionUpdateAcknowledge_element",
15418 FT_NONE, BASE_NONE, NULL, 0,
15419 NULL, HFILL }},
15420 { &hf_e2ap_E2connectionSetupFailed_List_PDU,
15421 { "E2connectionSetupFailed-List", "e2ap.E2connectionSetupFailed_List",
15422 FT_UINT32, BASE_DEC, NULL, 0,
15423 NULL, HFILL }},
15424 { &hf_e2ap_E2connectionSetupFailed_Item_PDU,
15425 { "E2connectionSetupFailed-Item", "e2ap.E2connectionSetupFailed_Item_element",
15426 FT_NONE, BASE_NONE, NULL, 0,
15427 NULL, HFILL }},
15428 { &hf_e2ap_E2connectionUpdateFailure_PDU,
15429 { "E2connectionUpdateFailure", "e2ap.E2connectionUpdateFailure_element",
15430 FT_NONE, BASE_NONE, NULL, 0,
15431 NULL, HFILL }},
15432 { &hf_e2ap_E2nodeConfigurationUpdate_PDU,
15433 { "E2nodeConfigurationUpdate", "e2ap.E2nodeConfigurationUpdate_element",
15434 FT_NONE, BASE_NONE, NULL, 0,
15435 NULL, HFILL }},
15436 { &hf_e2ap_E2nodeComponentConfigAddition_List_PDU,
15437 { "E2nodeComponentConfigAddition-List", "e2ap.E2nodeComponentConfigAddition_List",
15438 FT_UINT32, BASE_DEC, NULL, 0,
15439 NULL, HFILL }},
15440 { &hf_e2ap_E2nodeComponentConfigAddition_Item_PDU,
15441 { "E2nodeComponentConfigAddition-Item", "e2ap.E2nodeComponentConfigAddition_Item_element",
15442 FT_NONE, BASE_NONE, NULL, 0,
15443 NULL, HFILL }},
15444 { &hf_e2ap_E2nodeComponentConfigUpdate_List_PDU,
15445 { "E2nodeComponentConfigUpdate-List", "e2ap.E2nodeComponentConfigUpdate_List",
15446 FT_UINT32, BASE_DEC, NULL, 0,
15447 NULL, HFILL }},
15448 { &hf_e2ap_E2nodeComponentConfigUpdate_Item_PDU,
15449 { "E2nodeComponentConfigUpdate-Item", "e2ap.E2nodeComponentConfigUpdate_Item_element",
15450 FT_NONE, BASE_NONE, NULL, 0,
15451 NULL, HFILL }},
15452 { &hf_e2ap_E2nodeComponentConfigRemoval_List_PDU,
15453 { "E2nodeComponentConfigRemoval-List", "e2ap.E2nodeComponentConfigRemoval_List",
15454 FT_UINT32, BASE_DEC, NULL, 0,
15455 NULL, HFILL }},
15456 { &hf_e2ap_E2nodeComponentConfigRemoval_Item_PDU,
15457 { "E2nodeComponentConfigRemoval-Item", "e2ap.E2nodeComponentConfigRemoval_Item_element",
15458 FT_NONE, BASE_NONE, NULL, 0,
15459 NULL, HFILL }},
15460 { &hf_e2ap_E2nodeTNLassociationRemoval_List_PDU,
15461 { "E2nodeTNLassociationRemoval-List", "e2ap.E2nodeTNLassociationRemoval_List",
15462 FT_UINT32, BASE_DEC, NULL, 0,
15463 NULL, HFILL }},
15464 { &hf_e2ap_E2nodeTNLassociationRemoval_Item_PDU,
15465 { "E2nodeTNLassociationRemoval-Item", "e2ap.E2nodeTNLassociationRemoval_Item_element",
15466 FT_NONE, BASE_NONE, NULL, 0,
15467 NULL, HFILL }},
15468 { &hf_e2ap_E2nodeConfigurationUpdateAcknowledge_PDU,
15469 { "E2nodeConfigurationUpdateAcknowledge", "e2ap.E2nodeConfigurationUpdateAcknowledge_element",
15470 FT_NONE, BASE_NONE, NULL, 0,
15471 NULL, HFILL }},
15472 { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_PDU,
15473 { "E2nodeComponentConfigAdditionAck-List", "e2ap.E2nodeComponentConfigAdditionAck_List",
15474 FT_UINT32, BASE_DEC, NULL, 0,
15475 NULL, HFILL }},
15476 { &hf_e2ap_E2nodeComponentConfigAdditionAck_Item_PDU,
15477 { "E2nodeComponentConfigAdditionAck-Item", "e2ap.E2nodeComponentConfigAdditionAck_Item_element",
15478 FT_NONE, BASE_NONE, NULL, 0,
15479 NULL, HFILL }},
15480 { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_PDU,
15481 { "E2nodeComponentConfigUpdateAck-List", "e2ap.E2nodeComponentConfigUpdateAck_List",
15482 FT_UINT32, BASE_DEC, NULL, 0,
15483 NULL, HFILL }},
15484 { &hf_e2ap_E2nodeComponentConfigUpdateAck_Item_PDU,
15485 { "E2nodeComponentConfigUpdateAck-Item", "e2ap.E2nodeComponentConfigUpdateAck_Item_element",
15486 FT_NONE, BASE_NONE, NULL, 0,
15487 NULL, HFILL }},
15488 { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_PDU,
15489 { "E2nodeComponentConfigRemovalAck-List", "e2ap.E2nodeComponentConfigRemovalAck_List",
15490 FT_UINT32, BASE_DEC, NULL, 0,
15491 NULL, HFILL }},
15492 { &hf_e2ap_E2nodeComponentConfigRemovalAck_Item_PDU,
15493 { "E2nodeComponentConfigRemovalAck-Item", "e2ap.E2nodeComponentConfigRemovalAck_Item_element",
15494 FT_NONE, BASE_NONE, NULL, 0,
15495 NULL, HFILL }},
15496 { &hf_e2ap_E2nodeConfigurationUpdateFailure_PDU,
15497 { "E2nodeConfigurationUpdateFailure", "e2ap.E2nodeConfigurationUpdateFailure_element",
15498 FT_NONE, BASE_NONE, NULL, 0,
15499 NULL, HFILL }},
15500 { &hf_e2ap_ResetRequest_PDU,
15501 { "ResetRequest", "e2ap.ResetRequest_element",
15502 FT_NONE, BASE_NONE, NULL, 0,
15503 NULL, HFILL }},
15504 { &hf_e2ap_ResetResponse_PDU,
15505 { "ResetResponse", "e2ap.ResetResponse_element",
15506 FT_NONE, BASE_NONE, NULL, 0,
15507 NULL, HFILL }},
15508 { &hf_e2ap_RICserviceUpdate_PDU,
15509 { "RICserviceUpdate", "e2ap.RICserviceUpdate_element",
15510 FT_NONE, BASE_NONE, NULL, 0,
15511 NULL, HFILL }},
15512 { &hf_e2ap_RANfunctions_List_PDU,
15513 { "RANfunctions-List", "e2ap.RANfunctions_List",
15514 FT_UINT32, BASE_DEC, NULL, 0,
15515 NULL, HFILL }},
15516 { &hf_e2ap_RANfunction_Item_PDU,
15517 { "RANfunction-Item", "e2ap.RANfunction_Item_element",
15518 FT_NONE, BASE_NONE, NULL, 0,
15519 NULL, HFILL }},
15520 { &hf_e2ap_RANfunctionsID_List_PDU,
15521 { "RANfunctionsID-List", "e2ap.RANfunctionsID_List",
15522 FT_UINT32, BASE_DEC, NULL, 0,
15523 NULL, HFILL }},
15524 { &hf_e2ap_RANfunctionID_Item_PDU,
15525 { "RANfunctionID-Item", "e2ap.RANfunctionID_Item_element",
15526 FT_NONE, BASE_NONE, NULL, 0,
15527 NULL, HFILL }},
15528 { &hf_e2ap_RICserviceUpdateAcknowledge_PDU,
15529 { "RICserviceUpdateAcknowledge", "e2ap.RICserviceUpdateAcknowledge_element",
15530 FT_NONE, BASE_NONE, NULL, 0,
15531 NULL, HFILL }},
15532 { &hf_e2ap_RANfunctionsIDcause_List_PDU,
15533 { "RANfunctionsIDcause-List", "e2ap.RANfunctionsIDcause_List",
15534 FT_UINT32, BASE_DEC, NULL, 0,
15535 NULL, HFILL }},
15536 { &hf_e2ap_RANfunctionIDcause_Item_PDU,
15537 { "RANfunctionIDcause-Item", "e2ap.RANfunctionIDcause_Item_element",
15538 FT_NONE, BASE_NONE, NULL, 0,
15539 NULL, HFILL }},
15540 { &hf_e2ap_RICserviceUpdateFailure_PDU,
15541 { "RICserviceUpdateFailure", "e2ap.RICserviceUpdateFailure_element",
15542 FT_NONE, BASE_NONE, NULL, 0,
15543 NULL, HFILL }},
15544 { &hf_e2ap_RICserviceQuery_PDU,
15545 { "RICserviceQuery", "e2ap.RICserviceQuery_element",
15546 FT_NONE, BASE_NONE, NULL, 0,
15547 NULL, HFILL }},
15548 { &hf_e2ap_E2RemovalRequest_PDU,
15549 { "E2RemovalRequest", "e2ap.E2RemovalRequest_element",
15550 FT_NONE, BASE_NONE, NULL, 0,
15551 NULL, HFILL }},
15552 { &hf_e2ap_E2RemovalResponse_PDU,
15553 { "E2RemovalResponse", "e2ap.E2RemovalResponse_element",
15554 FT_NONE, BASE_NONE, NULL, 0,
15555 NULL, HFILL }},
15556 { &hf_e2ap_E2RemovalFailure_PDU,
15557 { "E2RemovalFailure", "e2ap.E2RemovalFailure_element",
15558 FT_NONE, BASE_NONE, NULL, 0,
15559 NULL, HFILL }},
15560 { &hf_e2ap_E2AP_PDU_PDU,
15561 { "E2AP-PDU", "e2ap.E2AP_PDU",
15562 FT_UINT32, BASE_DEC, VALS(e2ap_E2AP_PDU_vals), 0,
15563 NULL, HFILL }},
15564 { &hf_e2ap_E2SM_RC_EventTrigger_PDU,
15565 { "E2SM-RC-EventTrigger", "e2ap.E2SM_RC_EventTrigger_element",
15566 FT_NONE, BASE_NONE, NULL, 0,
15567 NULL, HFILL }},
15568 { &hf_e2ap_E2SM_RC_ActionDefinition_PDU,
15569 { "E2SM-RC-ActionDefinition", "e2ap.E2SM_RC_ActionDefinition_element",
15570 FT_NONE, BASE_NONE, NULL, 0,
15571 NULL, HFILL }},
15572 { &hf_e2ap_E2SM_RC_IndicationHeader_PDU,
15573 { "E2SM-RC-IndicationHeader", "e2ap.E2SM_RC_IndicationHeader_element",
15574 FT_NONE, BASE_NONE, NULL, 0,
15575 NULL, HFILL }},
15576 { &hf_e2ap_E2SM_RC_IndicationMessage_PDU,
15577 { "E2SM-RC-IndicationMessage", "e2ap.E2SM_RC_IndicationMessage_element",
15578 FT_NONE, BASE_NONE, NULL, 0,
15579 NULL, HFILL }},
15580 { &hf_e2ap_E2SM_RC_CallProcessID_PDU,
15581 { "E2SM-RC-CallProcessID", "e2ap.E2SM_RC_CallProcessID_element",
15582 FT_NONE, BASE_NONE, NULL, 0,
15583 NULL, HFILL }},
15584 { &hf_e2ap_E2SM_RC_ControlHeader_PDU,
15585 { "E2SM-RC-ControlHeader", "e2ap.E2SM_RC_ControlHeader_element",
15586 FT_NONE, BASE_NONE, NULL, 0,
15587 NULL, HFILL }},
15588 { &hf_e2ap_E2SM_RC_ControlMessage_PDU,
15589 { "E2SM-RC-ControlMessage", "e2ap.E2SM_RC_ControlMessage_element",
15590 FT_NONE, BASE_NONE, NULL, 0,
15591 NULL, HFILL }},
15592 { &hf_e2ap_E2SM_RC_ControlOutcome_PDU,
15593 { "E2SM-RC-ControlOutcome", "e2ap.E2SM_RC_ControlOutcome_element",
15594 FT_NONE, BASE_NONE, NULL, 0,
15595 NULL, HFILL }},
15596 { &hf_e2ap_E2SM_RC_RANFunctionDefinition_PDU,
15597 { "E2SM-RC-RANFunctionDefinition", "e2ap.E2SM_RC_RANFunctionDefinition_element",
15598 FT_NONE, BASE_NONE, NULL, 0,
15599 NULL, HFILL }},
15600 { &hf_e2ap_E2SM_KPM_EventTriggerDefinition_PDU,
15601 { "E2SM-KPM-EventTriggerDefinition", "e2ap.E2SM_KPM_EventTriggerDefinition_element",
15602 FT_NONE, BASE_NONE, NULL, 0,
15603 NULL, HFILL }},
15604 { &hf_e2ap_E2SM_KPM_ActionDefinition_PDU,
15605 { "E2SM-KPM-ActionDefinition", "e2ap.E2SM_KPM_ActionDefinition_element",
15606 FT_NONE, BASE_NONE, NULL, 0,
15607 NULL, HFILL }},
15608 { &hf_e2ap_E2SM_KPM_IndicationHeader_PDU,
15609 { "E2SM-KPM-IndicationHeader", "e2ap.E2SM_KPM_IndicationHeader_element",
15610 FT_NONE, BASE_NONE, NULL, 0,
15611 NULL, HFILL }},
15612 { &hf_e2ap_E2SM_KPM_IndicationMessage_PDU,
15613 { "E2SM-KPM-IndicationMessage", "e2ap.E2SM_KPM_IndicationMessage_element",
15614 FT_NONE, BASE_NONE, NULL, 0,
15615 NULL, HFILL }},
15616 { &hf_e2ap_E2SM_KPM_RANfunction_Description_PDU,
15617 { "E2SM-KPM-RANfunction-Description", "e2ap.E2SM_KPM_RANfunction_Description_element",
15618 FT_NONE, BASE_NONE, NULL, 0,
15619 NULL, HFILL }},
15620 { &hf_e2ap_E2SM_NI_EventTriggerDefinition_PDU,
15621 { "E2SM-NI-EventTriggerDefinition", "e2ap.E2SM_NI_EventTriggerDefinition",
15622 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_EventTriggerDefinition_vals), 0,
15623 NULL, HFILL }},
15624 { &hf_e2ap_E2SM_NI_ActionDefinition_PDU,
15625 { "E2SM-NI-ActionDefinition", "e2ap.E2SM_NI_ActionDefinition_element",
15626 FT_NONE, BASE_NONE, NULL, 0,
15627 NULL, HFILL }},
15628 { &hf_e2ap_E2SM_NI_IndicationHeader_PDU,
15629 { "E2SM-NI-IndicationHeader", "e2ap.E2SM_NI_IndicationHeader",
15630 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_IndicationHeader_vals), 0,
15631 NULL, HFILL }},
15632 { &hf_e2ap_E2SM_NI_IndicationMessage_PDU,
15633 { "E2SM-NI-IndicationMessage", "e2ap.E2SM_NI_IndicationMessage",
15634 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_IndicationMessage_vals), 0,
15635 NULL, HFILL }},
15636 { &hf_e2ap_E2SM_NI_CallProcessID_PDU,
15637 { "E2SM-NI-CallProcessID", "e2ap.E2SM_NI_CallProcessID",
15638 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_CallProcessID_vals), 0,
15639 NULL, HFILL }},
15640 { &hf_e2ap_E2SM_NI_ControlHeader_PDU,
15641 { "E2SM-NI-ControlHeader", "e2ap.E2SM_NI_ControlHeader",
15642 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlHeader_vals), 0,
15643 NULL, HFILL }},
15644 { &hf_e2ap_E2SM_NI_ControlMessage_PDU,
15645 { "E2SM-NI-ControlMessage", "e2ap.E2SM_NI_ControlMessage",
15646 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlMessage_vals), 0,
15647 NULL, HFILL }},
15648 { &hf_e2ap_E2SM_NI_ControlOutcome_PDU,
15649 { "E2SM-NI-ControlOutcome", "e2ap.E2SM_NI_ControlOutcome",
15650 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ControlOutcome_vals), 0,
15651 NULL, HFILL }},
15652 { &hf_e2ap_E2SM_NI_RANfunction_Description_PDU,
15653 { "E2SM-NI-RANfunction-Description", "e2ap.E2SM_NI_RANfunction_Description_element",
15654 FT_NONE, BASE_NONE, NULL, 0,
15655 NULL, HFILL }},
15656 { &hf_e2ap_ProtocolIE_Container_item,
15657 { "ProtocolIE-Field", "e2ap.ProtocolIE_Field_element",
15658 FT_NONE, BASE_NONE, NULL, 0,
15659 NULL, HFILL }},
15660 { &hf_e2ap_id,
15661 { "id", "e2ap.id",
15662 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
15663 "ProtocolIE_ID", HFILL }},
15664 { &hf_e2ap_criticality,
15665 { "criticality", "e2ap.criticality",
15666 FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15667 NULL, HFILL }},
15668 { &hf_e2ap_value,
15669 { "value", "e2ap.value_element",
15670 FT_NONE, BASE_NONE, NULL, 0,
15671 NULL, HFILL }},
15672 { &hf_e2ap_ricRequest,
15673 { "ricRequest", "e2ap.ricRequest",
15674 FT_UINT32, BASE_DEC, VALS(e2ap_CauseRICrequest_vals), 0,
15675 "CauseRICrequest", HFILL }},
15676 { &hf_e2ap_ricService,
15677 { "ricService", "e2ap.ricService",
15678 FT_UINT32, BASE_DEC, VALS(e2ap_CauseRICservice_vals), 0,
15679 "CauseRICservice", HFILL }},
15680 { &hf_e2ap_e2Node,
15681 { "e2Node", "e2ap.e2Node",
15682 FT_UINT32, BASE_DEC, VALS(e2ap_CauseE2node_vals), 0,
15683 "CauseE2node", HFILL }},
15684 { &hf_e2ap_transport,
15685 { "transport", "e2ap.transport",
15686 FT_UINT32, BASE_DEC, VALS(e2ap_CauseTransport_vals), 0,
15687 "CauseTransport", HFILL }},
15688 { &hf_e2ap_protocol,
15689 { "protocol", "e2ap.protocol",
15690 FT_UINT32, BASE_DEC, VALS(e2ap_CauseProtocol_vals), 0,
15691 "CauseProtocol", HFILL }},
15692 { &hf_e2ap_misc,
15693 { "misc", "e2ap.misc",
15694 FT_UINT32, BASE_DEC, VALS(e2ap_CauseMisc_vals), 0,
15695 "CauseMisc", HFILL }},
15696 { &hf_e2ap_procedureCode,
15697 { "procedureCode", "e2ap.procedureCode",
15698 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProcedureCode_vals_ext, 0,
15699 NULL, HFILL }},
15700 { &hf_e2ap_triggeringMessage,
15701 { "triggeringMessage", "e2ap.triggeringMessage",
15702 FT_UINT32, BASE_DEC, VALS(e2ap_TriggeringMessage_vals), 0,
15703 NULL, HFILL }},
15704 { &hf_e2ap_procedureCriticality,
15705 { "procedureCriticality", "e2ap.procedureCriticality",
15706 FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15707 "Criticality", HFILL }},
15708 { &hf_e2ap_ricRequestorID,
15709 { "ricRequestorID", "e2ap.ricRequestorID_element",
15710 FT_NONE, BASE_NONE, NULL, 0,
15711 "RICrequestID", HFILL }},
15712 { &hf_e2ap_iEsCriticalityDiagnostics,
15713 { "iEsCriticalityDiagnostics", "e2ap.iEsCriticalityDiagnostics",
15714 FT_UINT32, BASE_DEC, NULL, 0,
15715 "CriticalityDiagnostics_IE_List", HFILL }},
15716 { &hf_e2ap_CriticalityDiagnostics_IE_List_item,
15717 { "CriticalityDiagnostics-IE-Item", "e2ap.CriticalityDiagnostics_IE_Item_element",
15718 FT_NONE, BASE_NONE, NULL, 0,
15719 NULL, HFILL }},
15720 { &hf_e2ap_iECriticality,
15721 { "iECriticality", "e2ap.iECriticality",
15722 FT_UINT32, BASE_DEC, VALS(e2ap_Criticality_vals), 0,
15723 "Criticality", HFILL }},
15724 { &hf_e2ap_iE_ID,
15725 { "iE-ID", "e2ap.iE_ID",
15726 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
15727 "ProtocolIE_ID", HFILL }},
15728 { &hf_e2ap_typeOfError,
15729 { "typeOfError", "e2ap.typeOfError",
15730 FT_UINT32, BASE_DEC, VALS(e2ap_TypeOfError_vals), 0,
15731 NULL, HFILL }},
15732 { &hf_e2ap_e2nodeComponentRequestPart,
15733 { "e2nodeComponentRequestPart", "e2ap.e2nodeComponentRequestPart",
15734 FT_BYTES, BASE_NONE, NULL, 0,
15735 NULL, HFILL }},
15736 { &hf_e2ap_e2nodeComponentResponsePart,
15737 { "e2nodeComponentResponsePart", "e2ap.e2nodeComponentResponsePart",
15738 FT_BYTES, BASE_NONE, NULL, 0,
15739 NULL, HFILL }},
15740 { &hf_e2ap_updateOutcome,
15741 { "updateOutcome", "e2ap.updateOutcome",
15742 FT_UINT32, BASE_DEC, VALS(e2ap_T_updateOutcome_vals), 0,
15743 NULL, HFILL }},
15744 { &hf_e2ap_failureCause,
15745 { "failureCause", "e2ap.failureCause",
15746 FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
15747 "Cause", HFILL }},
15748 { &hf_e2ap_e2nodeComponentInterfaceTypeNG,
15749 { "e2nodeComponentInterfaceTypeNG", "e2ap.e2nodeComponentInterfaceTypeNG_element",
15750 FT_NONE, BASE_NONE, NULL, 0,
15751 NULL, HFILL }},
15752 { &hf_e2ap_e2nodeComponentInterfaceTypeXn,
15753 { "e2nodeComponentInterfaceTypeXn", "e2ap.e2nodeComponentInterfaceTypeXn_element",
15754 FT_NONE, BASE_NONE, NULL, 0,
15755 NULL, HFILL }},
15756 { &hf_e2ap_e2nodeComponentInterfaceTypeE1,
15757 { "e2nodeComponentInterfaceTypeE1", "e2ap.e2nodeComponentInterfaceTypeE1_element",
15758 FT_NONE, BASE_NONE, NULL, 0,
15759 NULL, HFILL }},
15760 { &hf_e2ap_e2nodeComponentInterfaceTypeF1,
15761 { "e2nodeComponentInterfaceTypeF1", "e2ap.e2nodeComponentInterfaceTypeF1_element",
15762 FT_NONE, BASE_NONE, NULL, 0,
15763 NULL, HFILL }},
15764 { &hf_e2ap_e2nodeComponentInterfaceTypeW1,
15765 { "e2nodeComponentInterfaceTypeW1", "e2ap.e2nodeComponentInterfaceTypeW1_element",
15766 FT_NONE, BASE_NONE, NULL, 0,
15767 "E2nodeComponentInterfaceW1", HFILL }},
15768 { &hf_e2ap_e2nodeComponentInterfaceTypeS1,
15769 { "e2nodeComponentInterfaceTypeS1", "e2ap.e2nodeComponentInterfaceTypeS1_element",
15770 FT_NONE, BASE_NONE, NULL, 0,
15771 NULL, HFILL }},
15772 { &hf_e2ap_e2nodeComponentInterfaceTypeX2,
15773 { "e2nodeComponentInterfaceTypeX2", "e2ap.e2nodeComponentInterfaceTypeX2_element",
15774 FT_NONE, BASE_NONE, NULL, 0,
15775 NULL, HFILL }},
15776 { &hf_e2ap_gNB_CU_UP_ID,
15777 { "gNB-CU-UP-ID", "e2ap.gNB_CU_UP_ID",
15778 FT_UINT64, BASE_DEC, NULL, 0,
15779 NULL, HFILL }},
15780 { &hf_e2ap_gNB_DU_ID,
15781 { "gNB-DU-ID", "e2ap.gNB_DU_ID",
15782 FT_UINT64, BASE_DEC, NULL, 0,
15783 NULL, HFILL }},
15784 { &hf_e2ap_amf_name,
15785 { "amf-name", "e2ap.amf_name",
15786 FT_STRING, BASE_NONE, NULL, 0,
15787 "AMFName", HFILL }},
15788 { &hf_e2ap_mme_name,
15789 { "mme-name", "e2ap.mme_name",
15790 FT_STRING, BASE_NONE, NULL, 0,
15791 "MMEname", HFILL }},
15792 { &hf_e2ap_global_eNB_ID,
15793 { "global-eNB-ID", "e2ap.global_eNB_ID_element",
15794 FT_NONE, BASE_NONE, NULL, 0,
15795 "GlobalENB_ID", HFILL }},
15796 { &hf_e2ap_global_en_gNB_ID,
15797 { "global-en-gNB-ID", "e2ap.global_en_gNB_ID_element",
15798 FT_NONE, BASE_NONE, NULL, 0,
15799 "GlobalenGNB_ID", HFILL }},
15800 { &hf_e2ap_global_NG_RAN_Node_ID,
15801 { "global-NG-RAN-Node-ID", "e2ap.global_NG_RAN_Node_ID",
15802 FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNG_RANNode_ID_vals), 0,
15803 "GlobalNG_RANNode_ID", HFILL }},
15804 { &hf_e2ap_ng_eNB_DU_ID,
15805 { "ng-eNB-DU-ID", "e2ap.ng_eNB_DU_ID",
15806 FT_UINT64, BASE_DEC, NULL, 0,
15807 "NGENB_DU_ID", HFILL }},
15808 { &hf_e2ap_macro_eNB_ID,
15809 { "macro-eNB-ID", "e2ap.macro_eNB_ID",
15810 FT_BYTES, BASE_NONE, NULL, 0,
15811 "BIT_STRING_SIZE_20", HFILL }},
15812 { &hf_e2ap_home_eNB_ID,
15813 { "home-eNB-ID", "e2ap.home_eNB_ID",
15814 FT_BYTES, BASE_NONE, NULL, 0,
15815 "BIT_STRING_SIZE_28", HFILL }},
15816 { &hf_e2ap_short_Macro_eNB_ID,
15817 { "short-Macro-eNB-ID", "e2ap.short_Macro_eNB_ID",
15818 FT_BYTES, BASE_NONE, NULL, 0,
15819 "BIT_STRING_SIZE_18", HFILL }},
15820 { &hf_e2ap_long_Macro_eNB_ID,
15821 { "long-Macro-eNB-ID", "e2ap.long_Macro_eNB_ID",
15822 FT_BYTES, BASE_NONE, NULL, 0,
15823 "BIT_STRING_SIZE_21", HFILL }},
15824 { &hf_e2ap_enb_ID_macro,
15825 { "enb-ID-macro", "e2ap.enb_ID_macro",
15826 FT_BYTES, BASE_NONE, NULL, 0,
15827 "BIT_STRING_SIZE_20", HFILL }},
15828 { &hf_e2ap_enb_ID_shortmacro,
15829 { "enb-ID-shortmacro", "e2ap.enb_ID_shortmacro",
15830 FT_BYTES, BASE_NONE, NULL, 0,
15831 "BIT_STRING_SIZE_18", HFILL }},
15832 { &hf_e2ap_enb_ID_longmacro,
15833 { "enb-ID-longmacro", "e2ap.enb_ID_longmacro",
15834 FT_BYTES, BASE_NONE, NULL, 0,
15835 "BIT_STRING_SIZE_21", HFILL }},
15836 { &hf_e2ap_gNB_ID,
15837 { "gNB-ID", "e2ap.gNB_ID",
15838 FT_BYTES, BASE_NONE, NULL, 0,
15839 "BIT_STRING_SIZE_22_32", HFILL }},
15840 { &hf_e2ap_gNB,
15841 { "gNB", "e2ap.gNB_element",
15842 FT_NONE, BASE_NONE, NULL, 0,
15843 "GlobalE2node_gNB_ID", HFILL }},
15844 { &hf_e2ap_en_gNB,
15845 { "en-gNB", "e2ap.en_gNB_element",
15846 FT_NONE, BASE_NONE, NULL, 0,
15847 "GlobalE2node_en_gNB_ID", HFILL }},
15848 { &hf_e2ap_ng_eNB,
15849 { "ng-eNB", "e2ap.ng_eNB_element",
15850 FT_NONE, BASE_NONE, NULL, 0,
15851 "GlobalE2node_ng_eNB_ID", HFILL }},
15852 { &hf_e2ap_eNB,
15853 { "eNB", "e2ap.eNB_element",
15854 FT_NONE, BASE_NONE, NULL, 0,
15855 "GlobalE2node_eNB_ID", HFILL }},
15856 { &hf_e2ap_en_gNB_CU_UP_ID,
15857 { "en-gNB-CU-UP-ID", "e2ap.en_gNB_CU_UP_ID",
15858 FT_UINT64, BASE_DEC, NULL, 0,
15859 "GNB_CU_UP_ID", HFILL }},
15860 { &hf_e2ap_en_gNB_DU_ID,
15861 { "en-gNB-DU-ID", "e2ap.en_gNB_DU_ID",
15862 FT_UINT64, BASE_DEC, NULL, 0,
15863 "GNB_DU_ID", HFILL }},
15864 { &hf_e2ap_global_gNB_ID,
15865 { "global-gNB-ID", "e2ap.global_gNB_ID_element",
15866 FT_NONE, BASE_NONE, NULL, 0,
15867 "GlobalgNB_ID", HFILL }},
15868 { &hf_e2ap_global_ng_eNB_ID,
15869 { "global-ng-eNB-ID", "e2ap.global_ng_eNB_ID_element",
15870 FT_NONE, BASE_NONE, NULL, 0,
15871 "GlobalngeNB_ID", HFILL }},
15872 { &hf_e2ap_ngENB_DU_ID,
15873 { "ngENB-DU-ID", "e2ap.ngENB_DU_ID",
15874 FT_UINT64, BASE_DEC, NULL, 0,
15875 NULL, HFILL }},
15876 { &hf_e2ap_pLMN_Identity,
15877 { "pLMN-Identity", "e2ap.pLMN_Identity",
15878 FT_BYTES, BASE_NONE, NULL, 0,
15879 NULL, HFILL }},
15880 { &hf_e2ap_eNB_ID,
15881 { "eNB-ID", "e2ap.eNB_ID",
15882 FT_UINT32, BASE_DEC, VALS(e2ap_ENB_ID_vals), 0,
15883 NULL, HFILL }},
15884 { &hf_e2ap_gNB_ID_01,
15885 { "gNB-ID", "e2ap.gNB_ID",
15886 FT_UINT32, BASE_DEC, VALS(e2ap_ENGNB_ID_vals), 0,
15887 "ENGNB_ID", HFILL }},
15888 { &hf_e2ap_plmn_id,
15889 { "plmn-id", "e2ap.plmn_id",
15890 FT_BYTES, BASE_NONE, NULL, 0,
15891 "PLMN_Identity", HFILL }},
15892 { &hf_e2ap_gnb_id,
15893 { "gnb-id", "e2ap.gnb_id",
15894 FT_UINT32, BASE_DEC, VALS(e2ap_GNB_ID_Choice_vals), 0,
15895 NULL, HFILL }},
15896 { &hf_e2ap_enb_id,
15897 { "enb-id", "e2ap.enb_id",
15898 FT_UINT32, BASE_DEC, VALS(e2ap_ENB_ID_Choice_vals), 0,
15899 "ENB_ID_Choice", HFILL }},
15900 { &hf_e2ap_gNB_01,
15901 { "gNB", "e2ap.gNB_element",
15902 FT_NONE, BASE_NONE, NULL, 0,
15903 "GlobalgNB_ID", HFILL }},
15904 { &hf_e2ap_ng_eNB_01,
15905 { "ng-eNB", "e2ap.ng_eNB_element",
15906 FT_NONE, BASE_NONE, NULL, 0,
15907 "GlobalngeNB_ID", HFILL }},
15908 { &hf_e2ap_ric_ID,
15909 { "ric-ID", "e2ap.ric_ID",
15910 FT_BYTES, BASE_NONE, NULL, 0,
15911 "BIT_STRING_SIZE_20", HFILL }},
15912 { &hf_e2ap_gnb_ID,
15913 { "gnb-ID", "e2ap.gnb_ID",
15914 FT_BYTES, BASE_NONE, NULL, 0,
15915 "BIT_STRING_SIZE_22_32", HFILL }},
15916 { &hf_e2ap_ricRequestorID_01,
15917 { "ricRequestorID", "e2ap.ricRequestorID",
15918 FT_UINT32, BASE_DEC, NULL, 0,
15919 "INTEGER_0_65535", HFILL }},
15920 { &hf_e2ap_ricInstanceID,
15921 { "ricInstanceID", "e2ap.ricInstanceID",
15922 FT_UINT32, BASE_DEC, NULL, 0,
15923 "INTEGER_0_65535", HFILL }},
15924 { &hf_e2ap_ricSubsequentActionType,
15925 { "ricSubsequentActionType", "e2ap.ricSubsequentActionType",
15926 FT_UINT32, BASE_DEC, VALS(e2ap_RICsubsequentActionType_vals), 0,
15927 NULL, HFILL }},
15928 { &hf_e2ap_ricTimeToWait,
15929 { "ricTimeToWait", "e2ap.ricTimeToWait",
15930 FT_UINT32, BASE_DEC, VALS(e2ap_RICtimeToWait_vals), 0,
15931 NULL, HFILL }},
15932 { &hf_e2ap_tnlAddress,
15933 { "tnlAddress", "e2ap.tnlAddress",
15934 FT_BYTES, BASE_NONE, NULL, 0,
15935 NULL, HFILL }},
15936 { &hf_e2ap_tnlPort,
15937 { "tnlPort", "e2ap.tnlPort",
15938 FT_BYTES, BASE_NONE, NULL, 0,
15939 NULL, HFILL }},
15940 { &hf_e2ap_protocolIEs,
15941 { "protocolIEs", "e2ap.protocolIEs",
15942 FT_UINT32, BASE_DEC, NULL, 0,
15943 "ProtocolIE_Container", HFILL }},
15944 { &hf_e2ap_ricEventTriggerDefinition,
15945 { "ricEventTriggerDefinition", "e2ap.ricEventTriggerDefinition",
15946 FT_BYTES, BASE_NONE, NULL, 0,
15947 NULL, HFILL }},
15948 { &hf_e2ap_ricAction_ToBeSetup_List,
15949 { "ricAction-ToBeSetup-List", "e2ap.ricAction_ToBeSetup_List",
15950 FT_UINT32, BASE_DEC, NULL, 0,
15951 "RICactions_ToBeSetup_List", HFILL }},
15952 { &hf_e2ap_RICactions_ToBeSetup_List_item,
15953 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15954 FT_NONE, BASE_NONE, NULL, 0,
15955 NULL, HFILL }},
15956 { &hf_e2ap_ricActionID,
15957 { "ricActionID", "e2ap.ricActionID",
15958 FT_UINT32, BASE_DEC, NULL, 0,
15959 NULL, HFILL }},
15960 { &hf_e2ap_ricActionType,
15961 { "ricActionType", "e2ap.ricActionType",
15962 FT_UINT32, BASE_DEC, VALS(e2ap_RICactionType_vals), 0,
15963 NULL, HFILL }},
15964 { &hf_e2ap_ricActionDefinition,
15965 { "ricActionDefinition", "e2ap.ricActionDefinition",
15966 FT_BYTES, BASE_NONE, NULL, 0,
15967 NULL, HFILL }},
15968 { &hf_e2ap_ricSubsequentAction,
15969 { "ricSubsequentAction", "e2ap.ricSubsequentAction_element",
15970 FT_NONE, BASE_NONE, NULL, 0,
15971 NULL, HFILL }},
15972 { &hf_e2ap_ricActionExecutionOrder,
15973 { "ricActionExecutionOrder", "e2ap.ricActionExecutionOrder",
15974 FT_UINT32, BASE_DEC, NULL, 0,
15975 NULL, HFILL }},
15976 { &hf_e2ap_RICaction_Admitted_List_item,
15977 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15978 FT_NONE, BASE_NONE, NULL, 0,
15979 NULL, HFILL }},
15980 { &hf_e2ap_RICaction_NotAdmitted_List_item,
15981 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15982 FT_NONE, BASE_NONE, NULL, 0,
15983 NULL, HFILL }},
15984 { &hf_e2ap_cause,
15985 { "cause", "e2ap.cause",
15986 FT_UINT32, BASE_DEC, VALS(e2ap_Cause_vals), 0,
15987 NULL, HFILL }},
15988 { &hf_e2ap_RICsubscription_List_withCause_item,
15989 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
15990 FT_NONE, BASE_NONE, NULL, 0,
15991 NULL, HFILL }},
15992 { &hf_e2ap_ricRequestID,
15993 { "ricRequestID", "e2ap.ricRequestID_element",
15994 FT_NONE, BASE_NONE, NULL, 0,
15995 NULL, HFILL }},
15996 { &hf_e2ap_ranFunctionID,
15997 { "ranFunctionID", "e2ap.ranFunctionID",
15998 FT_UINT32, BASE_DEC, NULL, 0,
15999 NULL, HFILL }},
16000 { &hf_e2ap_RICactions_ToBeRemovedForModification_List_item,
16001 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16002 FT_NONE, BASE_NONE, NULL, 0,
16003 NULL, HFILL }},
16004 { &hf_e2ap_RICactions_ToBeModifiedForModification_List_item,
16005 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16006 FT_NONE, BASE_NONE, NULL, 0,
16007 NULL, HFILL }},
16008 { &hf_e2ap_RICactions_ToBeAddedForModification_List_item,
16009 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16010 FT_NONE, BASE_NONE, NULL, 0,
16011 NULL, HFILL }},
16012 { &hf_e2ap_RICactions_RemovedForModification_List_item,
16013 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16014 FT_NONE, BASE_NONE, NULL, 0,
16015 NULL, HFILL }},
16016 { &hf_e2ap_RICactions_FailedToBeRemovedForModification_List_item,
16017 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16018 FT_NONE, BASE_NONE, NULL, 0,
16019 NULL, HFILL }},
16020 { &hf_e2ap_RICactions_ModifiedForModification_List_item,
16021 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16022 FT_NONE, BASE_NONE, NULL, 0,
16023 NULL, HFILL }},
16024 { &hf_e2ap_RICactions_FailedToBeModifiedForModification_List_item,
16025 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16026 FT_NONE, BASE_NONE, NULL, 0,
16027 NULL, HFILL }},
16028 { &hf_e2ap_RICactions_AddedForModification_List_item,
16029 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16030 FT_NONE, BASE_NONE, NULL, 0,
16031 NULL, HFILL }},
16032 { &hf_e2ap_RICactions_FailedToBeAddedForModification_List_item,
16033 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16034 FT_NONE, BASE_NONE, NULL, 0,
16035 NULL, HFILL }},
16036 { &hf_e2ap_RICactions_RequiredToBeModified_List_item,
16037 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16038 FT_NONE, BASE_NONE, NULL, 0,
16039 NULL, HFILL }},
16040 { &hf_e2ap_RICactions_RequiredToBeRemoved_List_item,
16041 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16042 FT_NONE, BASE_NONE, NULL, 0,
16043 NULL, HFILL }},
16044 { &hf_e2ap_RICactions_ConfirmedForModification_List_item,
16045 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16046 FT_NONE, BASE_NONE, NULL, 0,
16047 NULL, HFILL }},
16048 { &hf_e2ap_RICactions_RefusedToBeModified_List_item,
16049 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16050 FT_NONE, BASE_NONE, NULL, 0,
16051 NULL, HFILL }},
16052 { &hf_e2ap_RICactions_ConfirmedForRemoval_List_item,
16053 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16054 FT_NONE, BASE_NONE, NULL, 0,
16055 NULL, HFILL }},
16056 { &hf_e2ap_RICactions_RefusedToBeRemoved_List_item,
16057 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16058 FT_NONE, BASE_NONE, NULL, 0,
16059 NULL, HFILL }},
16060 { &hf_e2ap_E2connectionUpdate_List_item,
16061 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16062 FT_NONE, BASE_NONE, NULL, 0,
16063 NULL, HFILL }},
16064 { &hf_e2ap_tnlInformation,
16065 { "tnlInformation", "e2ap.tnlInformation_element",
16066 FT_NONE, BASE_NONE, NULL, 0,
16067 NULL, HFILL }},
16068 { &hf_e2ap_tnlUsage,
16069 { "tnlUsage", "e2ap.tnlUsage",
16070 FT_UINT32, BASE_DEC, VALS(e2ap_TNLusage_vals), 0,
16071 NULL, HFILL }},
16072 { &hf_e2ap_E2connectionUpdateRemove_List_item,
16073 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16074 FT_NONE, BASE_NONE, NULL, 0,
16075 NULL, HFILL }},
16076 { &hf_e2ap_E2connectionSetupFailed_List_item,
16077 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16078 FT_NONE, BASE_NONE, NULL, 0,
16079 NULL, HFILL }},
16080 { &hf_e2ap_E2nodeComponentConfigAddition_List_item,
16081 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16082 FT_NONE, BASE_NONE, NULL, 0,
16083 NULL, HFILL }},
16084 { &hf_e2ap_e2nodeComponentInterfaceType,
16085 { "e2nodeComponentInterfaceType", "e2ap.e2nodeComponentInterfaceType",
16086 FT_UINT32, BASE_DEC, VALS(e2ap_E2nodeComponentInterfaceType_vals), 0,
16087 NULL, HFILL }},
16088 { &hf_e2ap_e2nodeComponentID,
16089 { "e2nodeComponentID", "e2ap.e2nodeComponentID",
16090 FT_UINT32, BASE_DEC, VALS(e2ap_E2nodeComponentID_vals), 0,
16091 NULL, HFILL }},
16092 { &hf_e2ap_e2nodeComponentConfiguration,
16093 { "e2nodeComponentConfiguration", "e2ap.e2nodeComponentConfiguration_element",
16094 FT_NONE, BASE_NONE, NULL, 0,
16095 NULL, HFILL }},
16096 { &hf_e2ap_E2nodeComponentConfigUpdate_List_item,
16097 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16098 FT_NONE, BASE_NONE, NULL, 0,
16099 NULL, HFILL }},
16100 { &hf_e2ap_E2nodeComponentConfigRemoval_List_item,
16101 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16102 FT_NONE, BASE_NONE, NULL, 0,
16103 NULL, HFILL }},
16104 { &hf_e2ap_E2nodeTNLassociationRemoval_List_item,
16105 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16106 FT_NONE, BASE_NONE, NULL, 0,
16107 NULL, HFILL }},
16108 { &hf_e2ap_tnlInformationRIC,
16109 { "tnlInformationRIC", "e2ap.tnlInformationRIC_element",
16110 FT_NONE, BASE_NONE, NULL, 0,
16111 "TNLinformation", HFILL }},
16112 { &hf_e2ap_E2nodeComponentConfigAdditionAck_List_item,
16113 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16114 FT_NONE, BASE_NONE, NULL, 0,
16115 NULL, HFILL }},
16116 { &hf_e2ap_e2nodeComponentConfigurationAck,
16117 { "e2nodeComponentConfigurationAck", "e2ap.e2nodeComponentConfigurationAck_element",
16118 FT_NONE, BASE_NONE, NULL, 0,
16119 NULL, HFILL }},
16120 { &hf_e2ap_E2nodeComponentConfigUpdateAck_List_item,
16121 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16122 FT_NONE, BASE_NONE, NULL, 0,
16123 NULL, HFILL }},
16124 { &hf_e2ap_E2nodeComponentConfigRemovalAck_List_item,
16125 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16126 FT_NONE, BASE_NONE, NULL, 0,
16127 NULL, HFILL }},
16128 { &hf_e2ap_RANfunctions_List_item,
16129 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16130 FT_NONE, BASE_NONE, NULL, 0,
16131 NULL, HFILL }},
16132 { &hf_e2ap_ranFunctionDefinition,
16133 { "ranFunctionDefinition", "e2ap.ranFunctionDefinition",
16134 FT_BYTES, BASE_NONE, NULL, 0,
16135 NULL, HFILL }},
16136 { &hf_e2ap_ranFunctionRevision,
16137 { "ranFunctionRevision", "e2ap.ranFunctionRevision",
16138 FT_UINT32, BASE_DEC, NULL, 0,
16139 NULL, HFILL }},
16140 { &hf_e2ap_ranFunctionOID,
16141 { "ranFunctionOID", "e2ap.ranFunctionOID",
16142 FT_STRING, BASE_NONE, NULL, 0,
16143 NULL, HFILL }},
16144 { &hf_e2ap_RANfunctionsID_List_item,
16145 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16146 FT_NONE, BASE_NONE, NULL, 0,
16147 NULL, HFILL }},
16148 { &hf_e2ap_RANfunctionsIDcause_List_item,
16149 { "ProtocolIE-SingleContainer", "e2ap.ProtocolIE_SingleContainer_element",
16150 FT_NONE, BASE_NONE, NULL, 0,
16151 NULL, HFILL }},
16152 { &hf_e2ap_initiatingMessage,
16153 { "initiatingMessage", "e2ap.initiatingMessage_element",
16154 FT_NONE, BASE_NONE, NULL, 0,
16155 NULL, HFILL }},
16156 { &hf_e2ap_successfulOutcome,
16157 { "successfulOutcome", "e2ap.successfulOutcome_element",
16158 FT_NONE, BASE_NONE, NULL, 0,
16159 NULL, HFILL }},
16160 { &hf_e2ap_unsuccessfulOutcome,
16161 { "unsuccessfulOutcome", "e2ap.unsuccessfulOutcome_element",
16162 FT_NONE, BASE_NONE, NULL, 0,
16163 NULL, HFILL }},
16164 { &hf_e2ap_initiatingMessagevalue,
16165 { "value", "e2ap.value_element",
16166 FT_NONE, BASE_NONE, NULL, 0,
16167 "InitiatingMessage_value", HFILL }},
16168 { &hf_e2ap_successfulOutcome_value,
16169 { "value", "e2ap.value_element",
16170 FT_NONE, BASE_NONE, NULL, 0,
16171 "SuccessfulOutcome_value", HFILL }},
16172 { &hf_e2ap_unsuccessfulOutcome_value,
16173 { "value", "e2ap.value_element",
16174 FT_NONE, BASE_NONE, NULL, 0,
16175 "UnsuccessfulOutcome_value", HFILL }},
16176 { &hf_e2ap_nR_CGI,
16177 { "nR-CGI", "e2ap.nR_CGI_element",
16178 FT_NONE, BASE_NONE, NULL, 0,
16179 NULL, HFILL }},
16180 { &hf_e2ap_eUTRA_CGI,
16181 { "eUTRA-CGI", "e2ap.eUTRA_CGI_element",
16182 FT_NONE, BASE_NONE, NULL, 0,
16183 NULL, HFILL }},
16184 { &hf_e2ap_nG,
16185 { "nG", "e2ap.nG_element",
16186 FT_NONE, BASE_NONE, NULL, 0,
16187 "InterfaceID_NG", HFILL }},
16188 { &hf_e2ap_xN,
16189 { "xN", "e2ap.xN_element",
16190 FT_NONE, BASE_NONE, NULL, 0,
16191 "InterfaceID_Xn", HFILL }},
16192 { &hf_e2ap_f1,
16193 { "f1", "e2ap.f1_element",
16194 FT_NONE, BASE_NONE, NULL, 0,
16195 "InterfaceID_F1", HFILL }},
16196 { &hf_e2ap_e1,
16197 { "e1", "e2ap.e1_element",
16198 FT_NONE, BASE_NONE, NULL, 0,
16199 "InterfaceID_E1", HFILL }},
16200 { &hf_e2ap_s1,
16201 { "s1", "e2ap.s1_element",
16202 FT_NONE, BASE_NONE, NULL, 0,
16203 "InterfaceID_S1", HFILL }},
16204 { &hf_e2ap_x2,
16205 { "x2", "e2ap.x2_element",
16206 FT_NONE, BASE_NONE, NULL, 0,
16207 "InterfaceID_X2", HFILL }},
16208 { &hf_e2ap_w1,
16209 { "w1", "e2ap.w1_element",
16210 FT_NONE, BASE_NONE, NULL, 0,
16211 "InterfaceID_W1", HFILL }},
16212 { &hf_e2ap_guami,
16213 { "guami", "e2ap.guami_element",
16214 FT_NONE, BASE_NONE, NULL, 0,
16215 NULL, HFILL }},
16216 { &hf_e2ap_global_NG_RAN_ID,
16217 { "global-NG-RAN-ID", "e2ap.global_NG_RAN_ID",
16218 FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNGRANNodeID_vals), 0,
16219 "GlobalNGRANNodeID", HFILL }},
16220 { &hf_e2ap_globalGNB_ID,
16221 { "globalGNB-ID", "e2ap.globalGNB_ID_element",
16222 FT_NONE, BASE_NONE, NULL, 0,
16223 NULL, HFILL }},
16224 { &hf_e2ap_gUMMEI,
16225 { "gUMMEI", "e2ap.gUMMEI_element",
16226 FT_NONE, BASE_NONE, NULL, 0,
16227 NULL, HFILL }},
16228 { &hf_e2ap_nodeType,
16229 { "nodeType", "e2ap.nodeType",
16230 FT_UINT32, BASE_DEC, VALS(e2ap_T_nodeType_vals), 0,
16231 NULL, HFILL }},
16232 { &hf_e2ap_global_ng_eNB_ID_01,
16233 { "global-ng-eNB-ID", "e2ap.global_ng_eNB_ID_element",
16234 FT_NONE, BASE_NONE, NULL, 0,
16235 "GlobalNgENB_ID", HFILL }},
16236 { &hf_e2ap_interfaceProcedureID,
16237 { "interfaceProcedureID", "e2ap.interfaceProcedureID",
16238 FT_INT32, BASE_DEC, NULL, 0,
16239 "INTEGER", HFILL }},
16240 { &hf_e2ap_messageType,
16241 { "messageType", "e2ap.messageType",
16242 FT_UINT32, BASE_DEC, VALS(e2ap_T_messageType_vals), 0,
16243 NULL, HFILL }},
16244 { &hf_e2ap_ranFunction_ShortName,
16245 { "ranFunction-ShortName", "e2ap.ranFunction_ShortName",
16246 FT_STRING, BASE_NONE, NULL, 0,
16247 NULL, HFILL }},
16248 { &hf_e2ap_ranFunction_E2SM_OID,
16249 { "ranFunction-E2SM-OID", "e2ap.ranFunction_E2SM_OID",
16250 FT_STRING, BASE_NONE, NULL, 0,
16251 "PrintableString_SIZE_1_1000_", HFILL }},
16252 { &hf_e2ap_ranFunction_Description,
16253 { "ranFunction-Description", "e2ap.ranFunction_Description",
16254 FT_STRING, BASE_NONE, NULL, 0,
16255 "PrintableString_SIZE_1_150_", HFILL }},
16256 { &hf_e2ap_ranFunction_Instance,
16257 { "ranFunction-Instance", "e2ap.ranFunction_Instance",
16258 FT_INT32, BASE_DEC, NULL, 0,
16259 "INTEGER", HFILL }},
16260 { &hf_e2ap_rrcType,
16261 { "rrcType", "e2ap.rrcType",
16262 FT_UINT32, BASE_DEC, VALS(e2ap_T_rrcType_vals), 0,
16263 NULL, HFILL }},
16264 { &hf_e2ap_lTE,
16265 { "lTE", "e2ap.lTE",
16266 FT_UINT32, BASE_DEC, VALS(e2ap_RRCclass_LTE_vals), 0,
16267 "RRCclass_LTE", HFILL }},
16268 { &hf_e2ap_nR,
16269 { "nR", "e2ap.nR",
16270 FT_UINT32, BASE_DEC, VALS(e2ap_RRCclass_NR_vals), 0,
16271 "RRCclass_NR", HFILL }},
16272 { &hf_e2ap_messageID,
16273 { "messageID", "e2ap.messageID",
16274 FT_INT32, BASE_DEC, NULL, 0,
16275 "INTEGER", HFILL }},
16276 { &hf_e2ap_nR_01,
16277 { "nR", "e2ap.nR_element",
16278 FT_NONE, BASE_NONE, NULL, 0,
16279 "NR_ARFCN", HFILL }},
16280 { &hf_e2ap_eUTRA,
16281 { "eUTRA", "e2ap.eUTRA",
16282 FT_UINT32, BASE_DEC, NULL, 0,
16283 "E_UTRA_ARFCN", HFILL }},
16284 { &hf_e2ap_nR_02,
16285 { "nR", "e2ap.nR",
16286 FT_UINT32, BASE_DEC, NULL, 0,
16287 "NR_PCI", HFILL }},
16288 { &hf_e2ap_eUTRA_01,
16289 { "eUTRA", "e2ap.eUTRA",
16290 FT_UINT32, BASE_DEC, NULL, 0,
16291 "E_UTRA_PCI", HFILL }},
16292 { &hf_e2ap_gNB_UEID,
16293 { "gNB-UEID", "e2ap.gNB_UEID_element",
16294 FT_NONE, BASE_NONE, NULL, 0,
16295 "UEID_GNB", HFILL }},
16296 { &hf_e2ap_gNB_DU_UEID,
16297 { "gNB-DU-UEID", "e2ap.gNB_DU_UEID_element",
16298 FT_NONE, BASE_NONE, NULL, 0,
16299 "UEID_GNB_DU", HFILL }},
16300 { &hf_e2ap_gNB_CU_UP_UEID,
16301 { "gNB-CU-UP-UEID", "e2ap.gNB_CU_UP_UEID_element",
16302 FT_NONE, BASE_NONE, NULL, 0,
16303 "UEID_GNB_CU_UP", HFILL }},
16304 { &hf_e2ap_ng_eNB_UEID,
16305 { "ng-eNB-UEID", "e2ap.ng_eNB_UEID_element",
16306 FT_NONE, BASE_NONE, NULL, 0,
16307 "UEID_NG_ENB", HFILL }},
16308 { &hf_e2ap_ng_eNB_DU_UEID,
16309 { "ng-eNB-DU-UEID", "e2ap.ng_eNB_DU_UEID_element",
16310 FT_NONE, BASE_NONE, NULL, 0,
16311 "UEID_NG_ENB_DU", HFILL }},
16312 { &hf_e2ap_en_gNB_UEID,
16313 { "en-gNB-UEID", "e2ap.en_gNB_UEID_element",
16314 FT_NONE, BASE_NONE, NULL, 0,
16315 "UEID_EN_GNB", HFILL }},
16316 { &hf_e2ap_eNB_UEID,
16317 { "eNB-UEID", "e2ap.eNB_UEID_element",
16318 FT_NONE, BASE_NONE, NULL, 0,
16319 "UEID_ENB", HFILL }},
16320 { &hf_e2ap_amf_UE_NGAP_ID,
16321 { "amf-UE-NGAP-ID", "e2ap.amf_UE_NGAP_ID",
16322 FT_UINT64, BASE_DEC, NULL, 0,
16323 NULL, HFILL }},
16324 { &hf_e2ap_gNB_CU_UE_F1AP_ID_List,
16325 { "gNB-CU-UE-F1AP-ID-List", "e2ap.gNB_CU_UE_F1AP_ID_List",
16326 FT_UINT32, BASE_DEC, NULL, 0,
16327 "UEID_GNB_CU_F1AP_ID_List", HFILL }},
16328 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID_List,
16329 { "gNB-CU-CP-UE-E1AP-ID-List", "e2ap.gNB_CU_CP_UE_E1AP_ID_List",
16330 FT_UINT32, BASE_DEC, NULL, 0,
16331 "UEID_GNB_CU_CP_E1AP_ID_List", HFILL }},
16332 { &hf_e2ap_ran_UEID,
16333 { "ran-UEID", "e2ap.ran_UEID",
16334 FT_BYTES, BASE_NONE, NULL, 0,
16335 "RANUEID", HFILL }},
16336 { &hf_e2ap_m_NG_RAN_UE_XnAP_ID,
16337 { "m-NG-RAN-UE-XnAP-ID", "e2ap.m_NG_RAN_UE_XnAP_ID",
16338 FT_UINT32, BASE_DEC, NULL, 0,
16339 "NG_RANnodeUEXnAPID", HFILL }},
16340 { &hf_e2ap_globalNG_RANNode_ID,
16341 { "globalNG-RANNode-ID", "e2ap.globalNG_RANNode_ID",
16342 FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNGRANNodeID_vals), 0,
16343 "GlobalNGRANNodeID", HFILL }},
16344 { &hf_e2ap_UEID_GNB_CU_CP_E1AP_ID_List_item,
16345 { "UEID-GNB-CU-CP-E1AP-ID-Item", "e2ap.UEID_GNB_CU_CP_E1AP_ID_Item_element",
16346 FT_NONE, BASE_NONE, NULL, 0,
16347 NULL, HFILL }},
16348 { &hf_e2ap_gNB_CU_CP_UE_E1AP_ID,
16349 { "gNB-CU-CP-UE-E1AP-ID", "e2ap.gNB_CU_CP_UE_E1AP_ID",
16350 FT_UINT32, BASE_DEC, NULL, 0,
16351 NULL, HFILL }},
16352 { &hf_e2ap_UEID_GNB_CU_F1AP_ID_List_item,
16353 { "UEID-GNB-CU-CP-F1AP-ID-Item", "e2ap.UEID_GNB_CU_CP_F1AP_ID_Item_element",
16354 FT_NONE, BASE_NONE, NULL, 0,
16355 NULL, HFILL }},
16356 { &hf_e2ap_gNB_CU_UE_F1AP_ID,
16357 { "gNB-CU-UE-F1AP-ID", "e2ap.gNB_CU_UE_F1AP_ID",
16358 FT_UINT32, BASE_DEC, NULL, 0,
16359 NULL, HFILL }},
16360 { &hf_e2ap_ng_eNB_CU_UE_W1AP_ID,
16361 { "ng-eNB-CU-UE-W1AP-ID", "e2ap.ng_eNB_CU_UE_W1AP_ID",
16362 FT_UINT32, BASE_DEC, NULL, 0,
16363 "NGENB_CU_UE_W1AP_ID", HFILL }},
16364 { &hf_e2ap_globalNgENB_ID,
16365 { "globalNgENB-ID", "e2ap.globalNgENB_ID_element",
16366 FT_NONE, BASE_NONE, NULL, 0,
16367 NULL, HFILL }},
16368 { &hf_e2ap_m_eNB_UE_X2AP_ID,
16369 { "m-eNB-UE-X2AP-ID", "e2ap.m_eNB_UE_X2AP_ID",
16370 FT_UINT32, BASE_DEC, NULL, 0,
16371 "ENB_UE_X2AP_ID", HFILL }},
16372 { &hf_e2ap_m_eNB_UE_X2AP_ID_Extension,
16373 { "m-eNB-UE-X2AP-ID-Extension", "e2ap.m_eNB_UE_X2AP_ID_Extension",
16374 FT_UINT32, BASE_DEC, NULL, 0,
16375 "ENB_UE_X2AP_ID_Extension", HFILL }},
16376 { &hf_e2ap_globalENB_ID,
16377 { "globalENB-ID", "e2ap.globalENB_ID_element",
16378 FT_NONE, BASE_NONE, NULL, 0,
16379 NULL, HFILL }},
16380 { &hf_e2ap_mME_UE_S1AP_ID,
16381 { "mME-UE-S1AP-ID", "e2ap.mME_UE_S1AP_ID",
16382 FT_UINT32, BASE_DEC, NULL, 0,
16383 NULL, HFILL }},
16384 { &hf_e2ap_pLMN_Identity_01,
16385 { "pLMN-Identity", "e2ap.pLMN_Identity",
16386 FT_BYTES, BASE_NONE, NULL, 0,
16387 "PLMNIdentity", HFILL }},
16388 { &hf_e2ap_mME_Group_ID,
16389 { "mME-Group-ID", "e2ap.mME_Group_ID",
16390 FT_BYTES, BASE_NONE, NULL, 0,
16391 NULL, HFILL }},
16392 { &hf_e2ap_mME_Code,
16393 { "mME-Code", "e2ap.mME_Code",
16394 FT_BYTES, BASE_NONE, NULL, 0,
16395 NULL, HFILL }},
16396 { &hf_e2ap_pLMNIdentity,
16397 { "pLMNIdentity", "e2ap.pLMNIdentity",
16398 FT_BYTES, BASE_NONE, NULL, 0,
16399 NULL, HFILL }},
16400 { &hf_e2ap_eUTRACellIdentity,
16401 { "eUTRACellIdentity", "e2ap.eUTRACellIdentity",
16402 FT_BYTES, BASE_NONE, NULL, 0,
16403 NULL, HFILL }},
16404 { &hf_e2ap_gNB_ID_02,
16405 { "gNB-ID", "e2ap.gNB_ID",
16406 FT_UINT32, BASE_DEC, VALS(e2ap_GNB_ID_vals), 0,
16407 NULL, HFILL }},
16408 { &hf_e2ap_ngENB_ID,
16409 { "ngENB-ID", "e2ap.ngENB_ID",
16410 FT_UINT32, BASE_DEC, VALS(e2ap_NgENB_ID_vals), 0,
16411 NULL, HFILL }},
16412 { &hf_e2ap_aMFRegionID,
16413 { "aMFRegionID", "e2ap.aMFRegionID",
16414 FT_BYTES, BASE_NONE, NULL, 0,
16415 NULL, HFILL }},
16416 { &hf_e2ap_aMFSetID,
16417 { "aMFSetID", "e2ap.aMFSetID",
16418 FT_BYTES, BASE_NONE, NULL, 0,
16419 NULL, HFILL }},
16420 { &hf_e2ap_aMFPointer,
16421 { "aMFPointer", "e2ap.aMFPointer",
16422 FT_BYTES, BASE_NONE, NULL, 0,
16423 NULL, HFILL }},
16424 { &hf_e2ap_macroNgENB_ID,
16425 { "macroNgENB-ID", "e2ap.macroNgENB_ID",
16426 FT_BYTES, BASE_NONE, NULL, 0,
16427 "BIT_STRING_SIZE_20", HFILL }},
16428 { &hf_e2ap_shortMacroNgENB_ID,
16429 { "shortMacroNgENB-ID", "e2ap.shortMacroNgENB_ID",
16430 FT_BYTES, BASE_NONE, NULL, 0,
16431 "BIT_STRING_SIZE_18", HFILL }},
16432 { &hf_e2ap_longMacroNgENB_ID,
16433 { "longMacroNgENB-ID", "e2ap.longMacroNgENB_ID",
16434 FT_BYTES, BASE_NONE, NULL, 0,
16435 "BIT_STRING_SIZE_21", HFILL }},
16436 { &hf_e2ap_nRCellIdentity,
16437 { "nRCellIdentity", "e2ap.nRCellIdentity",
16438 FT_BYTES, BASE_NONE, NULL, 0,
16439 NULL, HFILL }},
16440 { &hf_e2ap_sST,
16441 { "sST", "e2ap.sST",
16442 FT_BYTES, BASE_NONE, NULL, 0,
16443 NULL, HFILL }},
16444 { &hf_e2ap_sD,
16445 { "sD", "e2ap.sD",
16446 FT_BYTES, BASE_NONE, NULL, 0,
16447 NULL, HFILL }},
16448 { &hf_e2ap_gNB_02,
16449 { "gNB", "e2ap.gNB_element",
16450 FT_NONE, BASE_NONE, NULL, 0,
16451 "GlobalGNB_ID", HFILL }},
16452 { &hf_e2ap_ng_eNB_02,
16453 { "ng-eNB", "e2ap.ng_eNB_element",
16454 FT_NONE, BASE_NONE, NULL, 0,
16455 "GlobalNgENB_ID", HFILL }},
16456 { &hf_e2ap_nRARFCN,
16457 { "nRARFCN", "e2ap.nRARFCN",
16458 FT_UINT32, BASE_DEC, NULL, 0,
16459 "INTEGER_0_maxNRARFCN", HFILL }},
16460 { &hf_e2ap_NRFrequencyBand_List_item,
16461 { "NRFrequencyBandItem", "e2ap.NRFrequencyBandItem_element",
16462 FT_NONE, BASE_NONE, NULL, 0,
16463 NULL, HFILL }},
16464 { &hf_e2ap_freqBandIndicatorNr,
16465 { "freqBandIndicatorNr", "e2ap.freqBandIndicatorNr",
16466 FT_UINT32, BASE_DEC, NULL, 0,
16467 "INTEGER_1_1024_", HFILL }},
16468 { &hf_e2ap_supportedSULBandList,
16469 { "supportedSULBandList", "e2ap.supportedSULBandList",
16470 FT_UINT32, BASE_DEC, NULL, 0,
16471 NULL, HFILL }},
16472 { &hf_e2ap_nrARFCN,
16473 { "nrARFCN", "e2ap.nrARFCN_element",
16474 FT_NONE, BASE_NONE, NULL, 0,
16475 "NR_ARFCN", HFILL }},
16476 { &hf_e2ap_frequencyBand_List,
16477 { "frequencyBand-List", "e2ap.frequencyBand_List",
16478 FT_UINT32, BASE_DEC, NULL, 0,
16479 "NRFrequencyBand_List", HFILL }},
16480 { &hf_e2ap_frequencyShift7p5khz,
16481 { "frequencyShift7p5khz", "e2ap.frequencyShift7p5khz",
16482 FT_UINT32, BASE_DEC, VALS(e2ap_NRFrequencyShift7p5khz_vals), 0,
16483 "NRFrequencyShift7p5khz", HFILL }},
16484 { &hf_e2ap_SupportedSULBandList_item,
16485 { "SupportedSULFreqBandItem", "e2ap.SupportedSULFreqBandItem_element",
16486 FT_NONE, BASE_NONE, NULL, 0,
16487 NULL, HFILL }},
16488 { &hf_e2ap_NeighborCell_List_item,
16489 { "NeighborCell-Item", "e2ap.NeighborCell_Item",
16490 FT_UINT32, BASE_DEC, VALS(e2ap_NeighborCell_Item_vals), 0,
16491 NULL, HFILL }},
16492 { &hf_e2ap_ranType_Choice_NR,
16493 { "ranType-Choice-NR", "e2ap.ranType_Choice_NR_element",
16494 FT_NONE, BASE_NONE, NULL, 0,
16495 "NeighborCell_Item_Choice_NR", HFILL }},
16496 { &hf_e2ap_ranType_Choice_EUTRA,
16497 { "ranType-Choice-EUTRA", "e2ap.ranType_Choice_EUTRA_element",
16498 FT_NONE, BASE_NONE, NULL, 0,
16499 "NeighborCell_Item_Choice_E_UTRA", HFILL }},
16500 { &hf_e2ap_nR_PCI,
16501 { "nR-PCI", "e2ap.nR_PCI",
16502 FT_UINT32, BASE_DEC, NULL, 0,
16503 NULL, HFILL }},
16504 { &hf_e2ap_fiveGS_TAC,
16505 { "fiveGS-TAC", "e2ap.fiveGS_TAC",
16506 FT_BYTES, BASE_NONE, NULL, 0,
16507 NULL, HFILL }},
16508 { &hf_e2ap_nR_mode_info,
16509 { "nR-mode-info", "e2ap.nR_mode_info",
16510 FT_UINT32, BASE_DEC, VALS(e2ap_T_nR_mode_info_vals), 0,
16511 NULL, HFILL }},
16512 { &hf_e2ap_nR_FreqInfo,
16513 { "nR-FreqInfo", "e2ap.nR_FreqInfo_element",
16514 FT_NONE, BASE_NONE, NULL, 0,
16515 "NRFrequencyInfo", HFILL }},
16516 { &hf_e2ap_x2_Xn_established,
16517 { "x2-Xn-established", "e2ap.x2_Xn_established",
16518 FT_UINT32, BASE_DEC, VALS(e2ap_T_x2_Xn_established_vals), 0,
16519 NULL, HFILL }},
16520 { &hf_e2ap_hO_validated,
16521 { "hO-validated", "e2ap.hO_validated",
16522 FT_UINT32, BASE_DEC, VALS(e2ap_T_hO_validated_vals), 0,
16523 NULL, HFILL }},
16524 { &hf_e2ap_version,
16525 { "version", "e2ap.version",
16526 FT_UINT32, BASE_DEC, NULL, 0,
16527 "INTEGER_1_65535_", HFILL }},
16528 { &hf_e2ap_eUTRA_PCI,
16529 { "eUTRA-PCI", "e2ap.eUTRA_PCI",
16530 FT_UINT32, BASE_DEC, NULL, 0,
16531 "E_UTRA_PCI", HFILL }},
16532 { &hf_e2ap_eUTRA_ARFCN,
16533 { "eUTRA-ARFCN", "e2ap.eUTRA_ARFCN",
16534 FT_UINT32, BASE_DEC, NULL, 0,
16535 "E_UTRA_ARFCN", HFILL }},
16536 { &hf_e2ap_eUTRA_TAC,
16537 { "eUTRA-TAC", "e2ap.eUTRA_TAC",
16538 FT_BYTES, BASE_NONE, NULL, 0,
16539 "E_UTRA_TAC", HFILL }},
16540 { &hf_e2ap_x2_Xn_established_01,
16541 { "x2-Xn-established", "e2ap.x2_Xn_established",
16542 FT_UINT32, BASE_DEC, VALS(e2ap_T_x2_Xn_established_01_vals), 0,
16543 "T_x2_Xn_established_01", HFILL }},
16544 { &hf_e2ap_hO_validated_01,
16545 { "hO-validated", "e2ap.hO_validated",
16546 FT_UINT32, BASE_DEC, VALS(e2ap_T_hO_validated_01_vals), 0,
16547 "T_hO_validated_01", HFILL }},
16548 { &hf_e2ap_servingCellPCI,
16549 { "servingCellPCI", "e2ap.servingCellPCI",
16550 FT_UINT32, BASE_DEC, VALS(e2ap_ServingCell_PCI_vals), 0,
16551 "ServingCell_PCI", HFILL }},
16552 { &hf_e2ap_servingCellARFCN,
16553 { "servingCellARFCN", "e2ap.servingCellARFCN",
16554 FT_UINT32, BASE_DEC, VALS(e2ap_ServingCell_ARFCN_vals), 0,
16555 "ServingCell_ARFCN", HFILL }},
16556 { &hf_e2ap_neighborCell_List,
16557 { "neighborCell-List", "e2ap.neighborCell_List",
16558 FT_UINT32, BASE_DEC, NULL, 0,
16559 NULL, HFILL }},
16560 { &hf_e2ap_cellInfo_List,
16561 { "cellInfo-List", "e2ap.cellInfo_List",
16562 FT_UINT32, BASE_DEC, NULL, 0,
16563 "SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item", HFILL }},
16564 { &hf_e2ap_cellInfo_List_item,
16565 { "EventTrigger-Cell-Info-Item", "e2ap.EventTrigger_Cell_Info_Item_element",
16566 FT_NONE, BASE_NONE, NULL, 0,
16567 NULL, HFILL }},
16568 { &hf_e2ap_eventTriggerCellID,
16569 { "eventTriggerCellID", "e2ap.eventTriggerCellID",
16570 FT_UINT32, BASE_DEC, NULL, 0,
16571 "RIC_EventTrigger_Cell_ID", HFILL }},
16572 { &hf_e2ap_cellType,
16573 { "cellType", "e2ap.cellType",
16574 FT_UINT32, BASE_DEC, VALS(e2ap_T_cellType_vals), 0,
16575 NULL, HFILL }},
16576 { &hf_e2ap_cellType_Choice_Individual,
16577 { "cellType-Choice-Individual", "e2ap.cellType_Choice_Individual_element",
16578 FT_NONE, BASE_NONE, NULL, 0,
16579 "EventTrigger_Cell_Info_Item_Choice_Individual", HFILL }},
16580 { &hf_e2ap_cellType_Choice_Group,
16581 { "cellType-Choice-Group", "e2ap.cellType_Choice_Group_element",
16582 FT_NONE, BASE_NONE, NULL, 0,
16583 "EventTrigger_Cell_Info_Item_Choice_Group", HFILL }},
16584 { &hf_e2ap_logicalOR,
16585 { "logicalOR", "e2ap.logicalOR",
16586 FT_UINT32, BASE_DEC, VALS(e2ap_LogicalOR_vals), 0,
16587 NULL, HFILL }},
16588 { &hf_e2ap_cellGlobalID,
16589 { "cellGlobalID", "e2ap.cellGlobalID",
16590 FT_UINT32, BASE_DEC, VALS(e2ap_CGI_vals), 0,
16591 "CGI", HFILL }},
16592 { &hf_e2ap_ranParameterTesting,
16593 { "ranParameterTesting", "e2ap.ranParameterTesting",
16594 FT_UINT32, BASE_DEC, NULL, 0,
16595 "RANParameter_Testing", HFILL }},
16596 { &hf_e2ap_ueInfo_List,
16597 { "ueInfo-List", "e2ap.ueInfo_List",
16598 FT_UINT32, BASE_DEC, NULL, 0,
16599 "SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item", HFILL }},
16600 { &hf_e2ap_ueInfo_List_item,
16601 { "EventTrigger-UE-Info-Item", "e2ap.EventTrigger_UE_Info_Item_element",
16602 FT_NONE, BASE_NONE, NULL, 0,
16603 NULL, HFILL }},
16604 { &hf_e2ap_eventTriggerUEID,
16605 { "eventTriggerUEID", "e2ap.eventTriggerUEID",
16606 FT_UINT32, BASE_DEC, NULL, 0,
16607 "RIC_EventTrigger_UE_ID", HFILL }},
16608 { &hf_e2ap_ueType,
16609 { "ueType", "e2ap.ueType",
16610 FT_UINT32, BASE_DEC, VALS(e2ap_T_ueType_vals), 0,
16611 NULL, HFILL }},
16612 { &hf_e2ap_ueType_Choice_Individual,
16613 { "ueType-Choice-Individual", "e2ap.ueType_Choice_Individual_element",
16614 FT_NONE, BASE_NONE, NULL, 0,
16615 "EventTrigger_UE_Info_Item_Choice_Individual", HFILL }},
16616 { &hf_e2ap_ueType_Choice_Group,
16617 { "ueType-Choice-Group", "e2ap.ueType_Choice_Group_element",
16618 FT_NONE, BASE_NONE, NULL, 0,
16619 "EventTrigger_UE_Info_Item_Choice_Group", HFILL }},
16620 { &hf_e2ap_ueID,
16621 { "ueID", "e2ap.ueID",
16622 FT_UINT32, BASE_DEC, VALS(e2ap_UEID_vals), 0,
16623 NULL, HFILL }},
16624 { &hf_e2ap_ueEvent_List,
16625 { "ueEvent-List", "e2ap.ueEvent_List",
16626 FT_UINT32, BASE_DEC, NULL, 0,
16627 "SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item", HFILL }},
16628 { &hf_e2ap_ueEvent_List_item,
16629 { "EventTrigger-UEevent-Info-Item", "e2ap.EventTrigger_UEevent_Info_Item_element",
16630 FT_NONE, BASE_NONE, NULL, 0,
16631 NULL, HFILL }},
16632 { &hf_e2ap_ueEventID,
16633 { "ueEventID", "e2ap.ueEventID",
16634 FT_UINT32, BASE_DEC, NULL, 0,
16635 "RIC_EventTrigger_UEevent_ID", HFILL }},
16636 { &hf_e2ap_ranParameter_Definition_Choice,
16637 { "ranParameter-Definition-Choice", "e2ap.ranParameter_Definition_Choice",
16638 FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Definition_Choice_vals), 0,
16639 NULL, HFILL }},
16640 { &hf_e2ap_choiceLIST,
16641 { "choiceLIST", "e2ap.choiceLIST_element",
16642 FT_NONE, BASE_NONE, NULL, 0,
16643 "RANParameter_Definition_Choice_LIST", HFILL }},
16644 { &hf_e2ap_choiceSTRUCTURE,
16645 { "choiceSTRUCTURE", "e2ap.choiceSTRUCTURE_element",
16646 FT_NONE, BASE_NONE, NULL, 0,
16647 "RANParameter_Definition_Choice_STRUCTURE", HFILL }},
16648 { &hf_e2ap_ranParameter_List,
16649 { "ranParameter-List", "e2ap.ranParameter_List",
16650 FT_UINT32, BASE_DEC, NULL, 0,
16651 "SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item", HFILL }},
16652 { &hf_e2ap_ranParameter_List_item,
16653 { "RANParameter-Definition-Choice-LIST-Item", "e2ap.RANParameter_Definition_Choice_LIST_Item_element",
16654 FT_NONE, BASE_NONE, NULL, 0,
16655 NULL, HFILL }},
16656 { &hf_e2ap_ranParameter_ID,
16657 { "ranParameter-ID", "e2ap.ranParameter_ID",
16658 FT_UINT64, BASE_DEC, NULL, 0,
16659 NULL, HFILL }},
16660 { &hf_e2ap_ranParameter_name,
16661 { "ranParameter-name", "e2ap.ranParameter_name",
16662 FT_STRING, BASE_NONE, NULL, 0,
16663 NULL, HFILL }},
16664 { &hf_e2ap_ranParameter_Definition,
16665 { "ranParameter-Definition", "e2ap.ranParameter_Definition_element",
16666 FT_NONE, BASE_NONE, NULL, 0,
16667 NULL, HFILL }},
16668 { &hf_e2ap_ranParameter_STRUCTURE,
16669 { "ranParameter-STRUCTURE", "e2ap.ranParameter_STRUCTURE",
16670 FT_UINT32, BASE_DEC, NULL, 0,
16671 "SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item", HFILL }},
16672 { &hf_e2ap_ranParameter_STRUCTURE_item,
16673 { "RANParameter-Definition-Choice-STRUCTURE-Item", "e2ap.RANParameter_Definition_Choice_STRUCTURE_Item_element",
16674 FT_NONE, BASE_NONE, NULL, 0,
16675 NULL, HFILL }},
16676 { &hf_e2ap_valueBoolean,
16677 { "valueBoolean", "e2ap.valueBoolean",
16678 FT_BOOLEAN, BASE_NONE, NULL, 0,
16679 "BOOLEAN", HFILL }},
16680 { &hf_e2ap_valueInt,
16681 { "valueInt", "e2ap.valueInt",
16682 FT_INT32, BASE_DEC, NULL, 0,
16683 "INTEGER", HFILL }},
16684 { &hf_e2ap_valueReal,
16685 { "valueReal", "e2ap.valueReal",
16686 FT_DOUBLE, BASE_NONE, NULL, 0,
16687 "REAL", HFILL }},
16688 { &hf_e2ap_valueBitS,
16689 { "valueBitS", "e2ap.valueBitS",
16690 FT_BYTES, BASE_NONE, NULL, 0,
16691 "BIT_STRING", HFILL }},
16692 { &hf_e2ap_valueOctS,
16693 { "valueOctS", "e2ap.valueOctS",
16694 FT_BYTES, BASE_NONE, NULL, 0,
16695 "OCTET_STRING", HFILL }},
16696 { &hf_e2ap_valuePrintableString,
16697 { "valuePrintableString", "e2ap.valuePrintableString",
16698 FT_STRING, BASE_NONE, NULL, 0,
16699 "PrintableString", HFILL }},
16700 { &hf_e2ap_ranP_Choice_ElementTrue,
16701 { "ranP-Choice-ElementTrue", "e2ap.ranP_Choice_ElementTrue_element",
16702 FT_NONE, BASE_NONE, NULL, 0,
16703 "RANParameter_ValueType_Choice_ElementTrue", HFILL }},
16704 { &hf_e2ap_ranP_Choice_ElementFalse,
16705 { "ranP-Choice-ElementFalse", "e2ap.ranP_Choice_ElementFalse_element",
16706 FT_NONE, BASE_NONE, NULL, 0,
16707 "RANParameter_ValueType_Choice_ElementFalse", HFILL }},
16708 { &hf_e2ap_ranP_Choice_Structure,
16709 { "ranP-Choice-Structure", "e2ap.ranP_Choice_Structure_element",
16710 FT_NONE, BASE_NONE, NULL, 0,
16711 "RANParameter_ValueType_Choice_Structure", HFILL }},
16712 { &hf_e2ap_ranP_Choice_List,
16713 { "ranP-Choice-List", "e2ap.ranP_Choice_List_element",
16714 FT_NONE, BASE_NONE, NULL, 0,
16715 "RANParameter_ValueType_Choice_List", HFILL }},
16716 { &hf_e2ap_ranParameter_value,
16717 { "ranParameter-value", "e2ap.ranParameter_value",
16718 FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Value_vals), 0,
16719 NULL, HFILL }},
16720 { &hf_e2ap_ranParameter_Structure,
16721 { "ranParameter-Structure", "e2ap.ranParameter_Structure_element",
16722 FT_NONE, BASE_NONE, NULL, 0,
16723 NULL, HFILL }},
16724 { &hf_e2ap_ranParameter_List_01,
16725 { "ranParameter-List", "e2ap.ranParameter_List_element",
16726 FT_NONE, BASE_NONE, NULL, 0,
16727 NULL, HFILL }},
16728 { &hf_e2ap_sequence_of_ranParameters,
16729 { "sequence-of-ranParameters", "e2ap.sequence_of_ranParameters",
16730 FT_UINT32, BASE_DEC, NULL, 0,
16731 "SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item", HFILL }},
16732 { &hf_e2ap_sequence_of_ranParameters_item,
16733 { "RANParameter-STRUCTURE-Item", "e2ap.RANParameter_STRUCTURE_Item_element",
16734 FT_NONE, BASE_NONE, NULL, 0,
16735 NULL, HFILL }},
16736 { &hf_e2ap_ranParameter_valueType,
16737 { "ranParameter-valueType", "e2ap.ranParameter_valueType",
16738 FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_ValueType_vals), 0,
16739 NULL, HFILL }},
16740 { &hf_e2ap_list_of_ranParameter,
16741 { "list-of-ranParameter", "e2ap.list_of_ranParameter",
16742 FT_UINT32, BASE_DEC, NULL, 0,
16743 "SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE", HFILL }},
16744 { &hf_e2ap_list_of_ranParameter_item,
16745 { "RANParameter-STRUCTURE", "e2ap.RANParameter_STRUCTURE_element",
16746 FT_NONE, BASE_NONE, NULL, 0,
16747 NULL, HFILL }},
16748 { &hf_e2ap_RANParameter_Testing_item,
16749 { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16750 FT_NONE, BASE_NONE, NULL, 0,
16751 NULL, HFILL }},
16752 { &hf_e2ap_ranP_Choice_comparison,
16753 { "ranP-Choice-comparison", "e2ap.ranP_Choice_comparison",
16754 FT_UINT32, BASE_DEC, VALS(e2ap_T_ranP_Choice_comparison_vals), 0,
16755 NULL, HFILL }},
16756 { &hf_e2ap_ranP_Choice_presence,
16757 { "ranP-Choice-presence", "e2ap.ranP_Choice_presence",
16758 FT_UINT32, BASE_DEC, VALS(e2ap_T_ranP_Choice_presence_vals), 0,
16759 NULL, HFILL }},
16760 { &hf_e2ap_ranParameter_Type,
16761 { "ranParameter-Type", "e2ap.ranParameter_Type",
16762 FT_UINT32, BASE_DEC, VALS(e2ap_T_ranParameter_Type_vals), 0,
16763 NULL, HFILL }},
16764 { &hf_e2ap_ranP_Choice_List_01,
16765 { "ranP-Choice-List", "e2ap.ranP_Choice_List_element",
16766 FT_NONE, BASE_NONE, NULL, 0,
16767 "RANParameter_Testing_Item_Choice_List", HFILL }},
16768 { &hf_e2ap_ranP_Choice_Structure_01,
16769 { "ranP-Choice-Structure", "e2ap.ranP_Choice_Structure_element",
16770 FT_NONE, BASE_NONE, NULL, 0,
16771 "RANParameter_Testing_Item_Choice_Structure", HFILL }},
16772 { &hf_e2ap_ranP_Choice_ElementTrue_01,
16773 { "ranP-Choice-ElementTrue", "e2ap.ranP_Choice_ElementTrue_element",
16774 FT_NONE, BASE_NONE, NULL, 0,
16775 "RANParameter_Testing_Item_Choice_ElementTrue", HFILL }},
16776 { &hf_e2ap_ranP_Choice_ElementFalse_01,
16777 { "ranP-Choice-ElementFalse", "e2ap.ranP_Choice_ElementFalse_element",
16778 FT_NONE, BASE_NONE, NULL, 0,
16779 "RANParameter_Testing_Item_Choice_ElementFalse", HFILL }},
16780 { &hf_e2ap_ranParameter_List_02,
16781 { "ranParameter-List", "e2ap.ranParameter_List",
16782 FT_UINT32, BASE_DEC, NULL, 0,
16783 "RANParameter_Testing_LIST", HFILL }},
16784 { &hf_e2ap_ranParameter_Structure_01,
16785 { "ranParameter-Structure", "e2ap.ranParameter_Structure",
16786 FT_UINT32, BASE_DEC, NULL, 0,
16787 "RANParameter_Testing_STRUCTURE", HFILL }},
16788 { &hf_e2ap_ranParameter_TestCondition,
16789 { "ranParameter-TestCondition", "e2ap.ranParameter_TestCondition",
16790 FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_TestingCondition_vals), 0,
16791 "RANParameter_TestingCondition", HFILL }},
16792 { &hf_e2ap_ranParameter_Value,
16793 { "ranParameter-Value", "e2ap.ranParameter_Value",
16794 FT_UINT32, BASE_DEC, VALS(e2ap_RANParameter_Value_vals), 0,
16795 NULL, HFILL }},
16796 { &hf_e2ap_RANParameter_Testing_LIST_item,
16797 { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16798 FT_NONE, BASE_NONE, NULL, 0,
16799 NULL, HFILL }},
16800 { &hf_e2ap_RANParameter_Testing_STRUCTURE_item,
16801 { "RANParameter-Testing-Item", "e2ap.RANParameter_Testing_Item_element",
16802 FT_NONE, BASE_NONE, NULL, 0,
16803 NULL, HFILL }},
16804 { &hf_e2ap_ric_PolicyAction_ID,
16805 { "ric-PolicyAction-ID", "e2ap.ric_PolicyAction_ID",
16806 FT_UINT32, BASE_DEC, NULL, 0,
16807 "RIC_ControlAction_ID", HFILL }},
16808 { &hf_e2ap_ranParameters_List,
16809 { "ranParameters-List", "e2ap.ranParameters_List",
16810 FT_UINT32, BASE_DEC, NULL, 0,
16811 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item", HFILL }},
16812 { &hf_e2ap_ranParameters_List_item,
16813 { "RIC-PolicyAction-RANParameter-Item", "e2ap.RIC_PolicyAction_RANParameter_Item_element",
16814 FT_NONE, BASE_NONE, NULL, 0,
16815 NULL, HFILL }},
16816 { &hf_e2ap_ric_PolicyDecision,
16817 { "ric-PolicyDecision", "e2ap.ric_PolicyDecision",
16818 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_PolicyDecision_vals), 0,
16819 NULL, HFILL }},
16820 { &hf_e2ap_ric_eventTrigger_formats,
16821 { "ric-eventTrigger-formats", "e2ap.ric_eventTrigger_formats",
16822 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_eventTrigger_formats_vals), 0,
16823 NULL, HFILL }},
16824 { &hf_e2ap_eventTrigger_Format1,
16825 { "eventTrigger-Format1", "e2ap.eventTrigger_Format1_element",
16826 FT_NONE, BASE_NONE, NULL, 0,
16827 "E2SM_RC_EventTrigger_Format1", HFILL }},
16828 { &hf_e2ap_eventTrigger_Format2,
16829 { "eventTrigger-Format2", "e2ap.eventTrigger_Format2_element",
16830 FT_NONE, BASE_NONE, NULL, 0,
16831 "E2SM_RC_EventTrigger_Format2", HFILL }},
16832 { &hf_e2ap_eventTrigger_Format3,
16833 { "eventTrigger-Format3", "e2ap.eventTrigger_Format3_element",
16834 FT_NONE, BASE_NONE, NULL, 0,
16835 "E2SM_RC_EventTrigger_Format3", HFILL }},
16836 { &hf_e2ap_eventTrigger_Format4,
16837 { "eventTrigger-Format4", "e2ap.eventTrigger_Format4_element",
16838 FT_NONE, BASE_NONE, NULL, 0,
16839 "E2SM_RC_EventTrigger_Format4", HFILL }},
16840 { &hf_e2ap_eventTrigger_Format5,
16841 { "eventTrigger-Format5", "e2ap.eventTrigger_Format5_element",
16842 FT_NONE, BASE_NONE, NULL, 0,
16843 "E2SM_RC_EventTrigger_Format5", HFILL }},
16844 { &hf_e2ap_message_List,
16845 { "message-List", "e2ap.message_List",
16846 FT_UINT32, BASE_DEC, NULL, 0,
16847 "SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item", HFILL }},
16848 { &hf_e2ap_message_List_item,
16849 { "E2SM-RC-EventTrigger-Format1-Item", "e2ap.E2SM_RC_EventTrigger_Format1_Item_element",
16850 FT_NONE, BASE_NONE, NULL, 0,
16851 NULL, HFILL }},
16852 { &hf_e2ap_globalAssociatedUEInfo,
16853 { "globalAssociatedUEInfo", "e2ap.globalAssociatedUEInfo_element",
16854 FT_NONE, BASE_NONE, NULL, 0,
16855 "EventTrigger_UE_Info", HFILL }},
16856 { &hf_e2ap_ric_eventTriggerCondition_ID,
16857 { "ric-eventTriggerCondition-ID", "e2ap.ric_eventTriggerCondition_ID",
16858 FT_UINT32, BASE_DEC, NULL, 0,
16859 NULL, HFILL }},
16860 { &hf_e2ap_messageType_01,
16861 { "messageType", "e2ap.messageType",
16862 FT_UINT32, BASE_DEC, VALS(e2ap_MessageType_Choice_vals), 0,
16863 "MessageType_Choice", HFILL }},
16864 { &hf_e2ap_messageDirection,
16865 { "messageDirection", "e2ap.messageDirection",
16866 FT_UINT32, BASE_DEC, VALS(e2ap_T_messageDirection_vals), 0,
16867 NULL, HFILL }},
16868 { &hf_e2ap_associatedUEInfo,
16869 { "associatedUEInfo", "e2ap.associatedUEInfo_element",
16870 FT_NONE, BASE_NONE, NULL, 0,
16871 "EventTrigger_UE_Info", HFILL }},
16872 { &hf_e2ap_associatedUEEvent,
16873 { "associatedUEEvent", "e2ap.associatedUEEvent_element",
16874 FT_NONE, BASE_NONE, NULL, 0,
16875 "EventTrigger_UEevent_Info", HFILL }},
16876 { &hf_e2ap_messageType_Choice_NI,
16877 { "messageType-Choice-NI", "e2ap.messageType_Choice_NI_element",
16878 FT_NONE, BASE_NONE, NULL, 0,
16879 NULL, HFILL }},
16880 { &hf_e2ap_messageType_Choice_RRC,
16881 { "messageType-Choice-RRC", "e2ap.messageType_Choice_RRC_element",
16882 FT_NONE, BASE_NONE, NULL, 0,
16883 NULL, HFILL }},
16884 { &hf_e2ap_nI_Type,
16885 { "nI-Type", "e2ap.nI_Type",
16886 FT_UINT32, BASE_DEC, VALS(e2ap_InterfaceType_vals), 0,
16887 "InterfaceType", HFILL }},
16888 { &hf_e2ap_nI_Identifier,
16889 { "nI-Identifier", "e2ap.nI_Identifier",
16890 FT_UINT32, BASE_DEC, VALS(e2ap_InterfaceIdentifier_vals), 0,
16891 "InterfaceIdentifier", HFILL }},
16892 { &hf_e2ap_nI_Message,
16893 { "nI-Message", "e2ap.nI_Message_element",
16894 FT_NONE, BASE_NONE, NULL, 0,
16895 "Interface_MessageID", HFILL }},
16896 { &hf_e2ap_rRC_Message,
16897 { "rRC-Message", "e2ap.rRC_Message_element",
16898 FT_NONE, BASE_NONE, NULL, 0,
16899 "RRC_MessageID", HFILL }},
16900 { &hf_e2ap_ric_callProcessType_ID,
16901 { "ric-callProcessType-ID", "e2ap.ric_callProcessType_ID",
16902 FT_UINT32, BASE_DEC, NULL, 0,
16903 NULL, HFILL }},
16904 { &hf_e2ap_ric_callProcessBreakpoint_ID,
16905 { "ric-callProcessBreakpoint-ID", "e2ap.ric_callProcessBreakpoint_ID",
16906 FT_UINT32, BASE_DEC, NULL, 0,
16907 NULL, HFILL }},
16908 { &hf_e2ap_associatedE2NodeInfo,
16909 { "associatedE2NodeInfo", "e2ap.associatedE2NodeInfo",
16910 FT_UINT32, BASE_DEC, NULL, 0,
16911 "RANParameter_Testing", HFILL }},
16912 { &hf_e2ap_e2NodeInfoChange_List,
16913 { "e2NodeInfoChange-List", "e2ap.e2NodeInfoChange_List",
16914 FT_UINT32, BASE_DEC, NULL, 0,
16915 "SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item", HFILL }},
16916 { &hf_e2ap_e2NodeInfoChange_List_item,
16917 { "E2SM-RC-EventTrigger-Format3-Item", "e2ap.E2SM_RC_EventTrigger_Format3_Item_element",
16918 FT_NONE, BASE_NONE, NULL, 0,
16919 NULL, HFILL }},
16920 { &hf_e2ap_e2NodeInfoChange_ID,
16921 { "e2NodeInfoChange-ID", "e2ap.e2NodeInfoChange_ID",
16922 FT_UINT32, BASE_DEC, NULL, 0,
16923 "INTEGER_1_512_", HFILL }},
16924 { &hf_e2ap_associatedCellInfo,
16925 { "associatedCellInfo", "e2ap.associatedCellInfo_element",
16926 FT_NONE, BASE_NONE, NULL, 0,
16927 "EventTrigger_Cell_Info", HFILL }},
16928 { &hf_e2ap_uEInfoChange_List,
16929 { "uEInfoChange-List", "e2ap.uEInfoChange_List",
16930 FT_UINT32, BASE_DEC, NULL, 0,
16931 "SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item", HFILL }},
16932 { &hf_e2ap_uEInfoChange_List_item,
16933 { "E2SM-RC-EventTrigger-Format4-Item", "e2ap.E2SM_RC_EventTrigger_Format4_Item_element",
16934 FT_NONE, BASE_NONE, NULL, 0,
16935 NULL, HFILL }},
16936 { &hf_e2ap_triggerType,
16937 { "triggerType", "e2ap.triggerType",
16938 FT_UINT32, BASE_DEC, VALS(e2ap_TriggerType_Choice_vals), 0,
16939 "TriggerType_Choice", HFILL }},
16940 { &hf_e2ap_triggerType_Choice_RRCstate,
16941 { "triggerType-Choice-RRCstate", "e2ap.triggerType_Choice_RRCstate_element",
16942 FT_NONE, BASE_NONE, NULL, 0,
16943 NULL, HFILL }},
16944 { &hf_e2ap_triggerType_Choice_UEID,
16945 { "triggerType-Choice-UEID", "e2ap.triggerType_Choice_UEID_element",
16946 FT_NONE, BASE_NONE, NULL, 0,
16947 NULL, HFILL }},
16948 { &hf_e2ap_triggerType_Choice_L2state,
16949 { "triggerType-Choice-L2state", "e2ap.triggerType_Choice_L2state_element",
16950 FT_NONE, BASE_NONE, NULL, 0,
16951 NULL, HFILL }},
16952 { &hf_e2ap_rrcState_List,
16953 { "rrcState-List", "e2ap.rrcState_List",
16954 FT_UINT32, BASE_DEC, NULL, 0,
16955 "SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item", HFILL }},
16956 { &hf_e2ap_rrcState_List_item,
16957 { "TriggerType-Choice-RRCstate-Item", "e2ap.TriggerType_Choice_RRCstate_Item_element",
16958 FT_NONE, BASE_NONE, NULL, 0,
16959 NULL, HFILL }},
16960 { &hf_e2ap_stateChangedTo,
16961 { "stateChangedTo", "e2ap.stateChangedTo",
16962 FT_UINT32, BASE_DEC, VALS(e2ap_RRC_State_vals), 0,
16963 "RRC_State", HFILL }},
16964 { &hf_e2ap_ueIDchange_ID,
16965 { "ueIDchange-ID", "e2ap.ueIDchange_ID",
16966 FT_UINT32, BASE_DEC, NULL, 0,
16967 "INTEGER_1_512_", HFILL }},
16968 { &hf_e2ap_associatedL2variables,
16969 { "associatedL2variables", "e2ap.associatedL2variables",
16970 FT_UINT32, BASE_DEC, NULL, 0,
16971 "RANParameter_Testing", HFILL }},
16972 { &hf_e2ap_onDemand,
16973 { "onDemand", "e2ap.onDemand",
16974 FT_UINT32, BASE_DEC, VALS(e2ap_T_onDemand_vals), 0,
16975 NULL, HFILL }},
16976 { &hf_e2ap_ric_Style_Type,
16977 { "ric-Style-Type", "e2ap.ric_Style_Type",
16978 FT_INT32, BASE_DEC, NULL, 0,
16979 NULL, HFILL }},
16980 { &hf_e2ap_ric_actionDefinition_formats,
16981 { "ric-actionDefinition-formats", "e2ap.ric_actionDefinition_formats",
16982 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_actionDefinition_formats_vals), 0,
16983 NULL, HFILL }},
16984 { &hf_e2ap_actionDefinition_Format1,
16985 { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
16986 FT_NONE, BASE_NONE, NULL, 0,
16987 "E2SM_RC_ActionDefinition_Format1", HFILL }},
16988 { &hf_e2ap_actionDefinition_Format2,
16989 { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
16990 FT_NONE, BASE_NONE, NULL, 0,
16991 "E2SM_RC_ActionDefinition_Format2", HFILL }},
16992 { &hf_e2ap_actionDefinition_Format3,
16993 { "actionDefinition-Format3", "e2ap.actionDefinition_Format3_element",
16994 FT_NONE, BASE_NONE, NULL, 0,
16995 "E2SM_RC_ActionDefinition_Format3", HFILL }},
16996 { &hf_e2ap_actionDefinition_Format4,
16997 { "actionDefinition-Format4", "e2ap.actionDefinition_Format4_element",
16998 FT_NONE, BASE_NONE, NULL, 0,
16999 "E2SM_RC_ActionDefinition_Format4", HFILL }},
17000 { &hf_e2ap_ranP_ToBeReported_List,
17001 { "ranP-ToBeReported-List", "e2ap.ranP_ToBeReported_List",
17002 FT_UINT32, BASE_DEC, NULL, 0,
17003 "SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item", HFILL }},
17004 { &hf_e2ap_ranP_ToBeReported_List_item,
17005 { "E2SM-RC-ActionDefinition-Format1-Item", "e2ap.E2SM_RC_ActionDefinition_Format1_Item_element",
17006 FT_NONE, BASE_NONE, NULL, 0,
17007 NULL, HFILL }},
17008 { &hf_e2ap_ric_PolicyConditions_List,
17009 { "ric-PolicyConditions-List", "e2ap.ric_PolicyConditions_List",
17010 FT_UINT32, BASE_DEC, NULL, 0,
17011 "SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item", HFILL }},
17012 { &hf_e2ap_ric_PolicyConditions_List_item,
17013 { "E2SM-RC-ActionDefinition-Format2-Item", "e2ap.E2SM_RC_ActionDefinition_Format2_Item_element",
17014 FT_NONE, BASE_NONE, NULL, 0,
17015 NULL, HFILL }},
17016 { &hf_e2ap_ric_PolicyAction,
17017 { "ric-PolicyAction", "e2ap.ric_PolicyAction_element",
17018 FT_NONE, BASE_NONE, NULL, 0,
17019 NULL, HFILL }},
17020 { &hf_e2ap_ric_PolicyConditionDefinition,
17021 { "ric-PolicyConditionDefinition", "e2ap.ric_PolicyConditionDefinition",
17022 FT_UINT32, BASE_DEC, NULL, 0,
17023 "RANParameter_Testing", HFILL }},
17024 { &hf_e2ap_ric_InsertIndication_ID,
17025 { "ric-InsertIndication-ID", "e2ap.ric_InsertIndication_ID",
17026 FT_UINT32, BASE_DEC, NULL, 0,
17027 NULL, HFILL }},
17028 { &hf_e2ap_ranP_InsertIndication_List,
17029 { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17030 FT_UINT32, BASE_DEC, NULL, 0,
17031 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item", HFILL }},
17032 { &hf_e2ap_ranP_InsertIndication_List_item,
17033 { "E2SM-RC-ActionDefinition-Format3-Item", "e2ap.E2SM_RC_ActionDefinition_Format3_Item_element",
17034 FT_NONE, BASE_NONE, NULL, 0,
17035 NULL, HFILL }},
17036 { &hf_e2ap_ric_InsertStyle_List,
17037 { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17038 FT_UINT32, BASE_DEC, NULL, 0,
17039 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item", HFILL }},
17040 { &hf_e2ap_ric_InsertStyle_List_item,
17041 { "E2SM-RC-ActionDefinition-Format4-Style-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_Style_Item_element",
17042 FT_NONE, BASE_NONE, NULL, 0,
17043 NULL, HFILL }},
17044 { &hf_e2ap_requested_Insert_Style_Type,
17045 { "requested-Insert-Style-Type", "e2ap.requested_Insert_Style_Type",
17046 FT_INT32, BASE_DEC, NULL, 0,
17047 "RIC_Style_Type", HFILL }},
17048 { &hf_e2ap_ric_InsertIndication_List,
17049 { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17050 FT_UINT32, BASE_DEC, NULL, 0,
17051 "SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item", HFILL }},
17052 { &hf_e2ap_ric_InsertIndication_List_item,
17053 { "E2SM-RC-ActionDefinition-Format4-Indication-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_Indication_Item_element",
17054 FT_NONE, BASE_NONE, NULL, 0,
17055 NULL, HFILL }},
17056 { &hf_e2ap_ranP_InsertIndication_List_01,
17057 { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17058 FT_UINT32, BASE_DEC, NULL, 0,
17059 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item", HFILL }},
17060 { &hf_e2ap_ranP_InsertIndication_List_item_01,
17061 { "E2SM-RC-ActionDefinition-Format4-RANP-Item", "e2ap.E2SM_RC_ActionDefinition_Format4_RANP_Item_element",
17062 FT_NONE, BASE_NONE, NULL, 0,
17063 NULL, HFILL }},
17064 { &hf_e2ap_ric_indicationHeader_formats,
17065 { "ric-indicationHeader-formats", "e2ap.ric_indicationHeader_formats",
17066 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_indicationHeader_formats_vals), 0,
17067 NULL, HFILL }},
17068 { &hf_e2ap_indicationHeader_Format1,
17069 { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
17070 FT_NONE, BASE_NONE, NULL, 0,
17071 "E2SM_RC_IndicationHeader_Format1", HFILL }},
17072 { &hf_e2ap_indicationHeader_Format2,
17073 { "indicationHeader-Format2", "e2ap.indicationHeader_Format2_element",
17074 FT_NONE, BASE_NONE, NULL, 0,
17075 "E2SM_RC_IndicationHeader_Format2", HFILL }},
17076 { &hf_e2ap_indicationHeader_Format3,
17077 { "indicationHeader-Format3", "e2ap.indicationHeader_Format3_element",
17078 FT_NONE, BASE_NONE, NULL, 0,
17079 "E2SM_RC_IndicationHeader_Format3", HFILL }},
17080 { &hf_e2ap_ric_InsertStyle_Type,
17081 { "ric-InsertStyle-Type", "e2ap.ric_InsertStyle_Type",
17082 FT_INT32, BASE_DEC, NULL, 0,
17083 "RIC_Style_Type", HFILL }},
17084 { &hf_e2ap_ric_indicationMessage_formats,
17085 { "ric-indicationMessage-formats", "e2ap.ric_indicationMessage_formats",
17086 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_indicationMessage_formats_vals), 0,
17087 NULL, HFILL }},
17088 { &hf_e2ap_indicationMessage_Format1,
17089 { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
17090 FT_NONE, BASE_NONE, NULL, 0,
17091 "E2SM_RC_IndicationMessage_Format1", HFILL }},
17092 { &hf_e2ap_indicationMessage_Format2,
17093 { "indicationMessage-Format2", "e2ap.indicationMessage_Format2_element",
17094 FT_NONE, BASE_NONE, NULL, 0,
17095 "E2SM_RC_IndicationMessage_Format2", HFILL }},
17096 { &hf_e2ap_indicationMessage_Format3,
17097 { "indicationMessage-Format3", "e2ap.indicationMessage_Format3_element",
17098 FT_NONE, BASE_NONE, NULL, 0,
17099 "E2SM_RC_IndicationMessage_Format3", HFILL }},
17100 { &hf_e2ap_indicationMessage_Format4,
17101 { "indicationMessage-Format4", "e2ap.indicationMessage_Format4_element",
17102 FT_NONE, BASE_NONE, NULL, 0,
17103 "E2SM_RC_IndicationMessage_Format4", HFILL }},
17104 { &hf_e2ap_indicationMessage_Format5,
17105 { "indicationMessage-Format5", "e2ap.indicationMessage_Format5_element",
17106 FT_NONE, BASE_NONE, NULL, 0,
17107 "E2SM_RC_IndicationMessage_Format5", HFILL }},
17108 { &hf_e2ap_indicationMessage_Format6,
17109 { "indicationMessage-Format6", "e2ap.indicationMessage_Format6_element",
17110 FT_NONE, BASE_NONE, NULL, 0,
17111 "E2SM_RC_IndicationMessage_Format6", HFILL }},
17112 { &hf_e2ap_ranP_Reported_List,
17113 { "ranP-Reported-List", "e2ap.ranP_Reported_List",
17114 FT_UINT32, BASE_DEC, NULL, 0,
17115 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item", HFILL }},
17116 { &hf_e2ap_ranP_Reported_List_item,
17117 { "E2SM-RC-IndicationMessage-Format1-Item", "e2ap.E2SM_RC_IndicationMessage_Format1_Item_element",
17118 FT_NONE, BASE_NONE, NULL, 0,
17119 NULL, HFILL }},
17120 { &hf_e2ap_ueParameter_List,
17121 { "ueParameter-List", "e2ap.ueParameter_List",
17122 FT_UINT32, BASE_DEC, NULL, 0,
17123 "SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item", HFILL }},
17124 { &hf_e2ap_ueParameter_List_item,
17125 { "E2SM-RC-IndicationMessage-Format2-Item", "e2ap.E2SM_RC_IndicationMessage_Format2_Item_element",
17126 FT_NONE, BASE_NONE, NULL, 0,
17127 NULL, HFILL }},
17128 { &hf_e2ap_ranP_List,
17129 { "ranP-List", "e2ap.ranP_List",
17130 FT_UINT32, BASE_DEC, NULL, 0,
17131 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item", HFILL }},
17132 { &hf_e2ap_ranP_List_item,
17133 { "E2SM-RC-IndicationMessage-Format2-RANParameter-Item", "e2ap.E2SM_RC_IndicationMessage_Format2_RANParameter_Item_element",
17134 FT_NONE, BASE_NONE, NULL, 0,
17135 NULL, HFILL }},
17136 { &hf_e2ap_cellInfo_List_01,
17137 { "cellInfo-List", "e2ap.cellInfo_List",
17138 FT_UINT32, BASE_DEC, NULL, 0,
17139 "SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item", HFILL }},
17140 { &hf_e2ap_cellInfo_List_item_01,
17141 { "E2SM-RC-IndicationMessage-Format3-Item", "e2ap.E2SM_RC_IndicationMessage_Format3_Item_element",
17142 FT_NONE, BASE_NONE, NULL, 0,
17143 NULL, HFILL }},
17144 { &hf_e2ap_cellGlobal_ID,
17145 { "cellGlobal-ID", "e2ap.cellGlobal_ID",
17146 FT_UINT32, BASE_DEC, VALS(e2ap_CGI_vals), 0,
17147 "CGI", HFILL }},
17148 { &hf_e2ap_cellContextInfo,
17149 { "cellContextInfo", "e2ap.cellContextInfo",
17150 FT_BYTES, BASE_NONE, NULL, 0,
17151 "OCTET_STRING", HFILL }},
17152 { &hf_e2ap_cellDeleted,
17153 { "cellDeleted", "e2ap.cellDeleted",
17154 FT_BOOLEAN, BASE_NONE, NULL, 0,
17155 "BOOLEAN", HFILL }},
17156 { &hf_e2ap_neighborRelation_Table,
17157 { "neighborRelation-Table", "e2ap.neighborRelation_Table_element",
17158 FT_NONE, BASE_NONE, NULL, 0,
17159 "NeighborRelation_Info", HFILL }},
17160 { &hf_e2ap_ueInfo_List_01,
17161 { "ueInfo-List", "e2ap.ueInfo_List",
17162 FT_UINT32, BASE_DEC, NULL, 0,
17163 "SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE", HFILL }},
17164 { &hf_e2ap_ueInfo_List_item_01,
17165 { "E2SM-RC-IndicationMessage-Format4-ItemUE", "e2ap.E2SM_RC_IndicationMessage_Format4_ItemUE_element",
17166 FT_NONE, BASE_NONE, NULL, 0,
17167 NULL, HFILL }},
17168 { &hf_e2ap_cellInfo_List_02,
17169 { "cellInfo-List", "e2ap.cellInfo_List",
17170 FT_UINT32, BASE_DEC, NULL, 0,
17171 "SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell", HFILL }},
17172 { &hf_e2ap_cellInfo_List_item_02,
17173 { "E2SM-RC-IndicationMessage-Format4-ItemCell", "e2ap.E2SM_RC_IndicationMessage_Format4_ItemCell_element",
17174 FT_NONE, BASE_NONE, NULL, 0,
17175 NULL, HFILL }},
17176 { &hf_e2ap_ueContextInfo,
17177 { "ueContextInfo", "e2ap.ueContextInfo",
17178 FT_BYTES, BASE_NONE, NULL, 0,
17179 "OCTET_STRING", HFILL }},
17180 { &hf_e2ap_ranP_Requested_List,
17181 { "ranP-Requested-List", "e2ap.ranP_Requested_List",
17182 FT_UINT32, BASE_DEC, NULL, 0,
17183 "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item", HFILL }},
17184 { &hf_e2ap_ranP_Requested_List_item,
17185 { "E2SM-RC-IndicationMessage-Format5-Item", "e2ap.E2SM_RC_IndicationMessage_Format5_Item_element",
17186 FT_NONE, BASE_NONE, NULL, 0,
17187 NULL, HFILL }},
17188 { &hf_e2ap_ric_InsertStyle_List_01,
17189 { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17190 FT_UINT32, BASE_DEC, NULL, 0,
17191 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item", HFILL }},
17192 { &hf_e2ap_ric_InsertStyle_List_item_01,
17193 { "E2SM-RC-IndicationMessage-Format6-Style-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_Style_Item_element",
17194 FT_NONE, BASE_NONE, NULL, 0,
17195 NULL, HFILL }},
17196 { &hf_e2ap_indicated_Insert_Style_Type,
17197 { "indicated-Insert-Style-Type", "e2ap.indicated_Insert_Style_Type",
17198 FT_INT32, BASE_DEC, NULL, 0,
17199 "RIC_Style_Type", HFILL }},
17200 { &hf_e2ap_ric_InsertIndication_List_01,
17201 { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17202 FT_UINT32, BASE_DEC, NULL, 0,
17203 "SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item", HFILL }},
17204 { &hf_e2ap_ric_InsertIndication_List_item_01,
17205 { "E2SM-RC-IndicationMessage-Format6-Indication-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_Indication_Item_element",
17206 FT_NONE, BASE_NONE, NULL, 0,
17207 NULL, HFILL }},
17208 { &hf_e2ap_ranP_InsertIndication_List_02,
17209 { "ranP-InsertIndication-List", "e2ap.ranP_InsertIndication_List",
17210 FT_UINT32, BASE_DEC, NULL, 0,
17211 "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item", HFILL }},
17212 { &hf_e2ap_ranP_InsertIndication_List_item_02,
17213 { "E2SM-RC-IndicationMessage-Format6-RANP-Item", "e2ap.E2SM_RC_IndicationMessage_Format6_RANP_Item_element",
17214 FT_NONE, BASE_NONE, NULL, 0,
17215 NULL, HFILL }},
17216 { &hf_e2ap_ric_callProcessID_formats,
17217 { "ric-callProcessID-formats", "e2ap.ric_callProcessID_formats",
17218 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_callProcessID_formats_vals), 0,
17219 NULL, HFILL }},
17220 { &hf_e2ap_callProcessID_Format1,
17221 { "callProcessID-Format1", "e2ap.callProcessID_Format1_element",
17222 FT_NONE, BASE_NONE, NULL, 0,
17223 "E2SM_RC_CallProcessID_Format1", HFILL }},
17224 { &hf_e2ap_ric_callProcess_ID,
17225 { "ric-callProcess-ID", "e2ap.ric_callProcess_ID",
17226 FT_UINT32, BASE_DEC, NULL, 0,
17227 "RAN_CallProcess_ID", HFILL }},
17228 { &hf_e2ap_ric_controlHeader_formats,
17229 { "ric-controlHeader-formats", "e2ap.ric_controlHeader_formats",
17230 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlHeader_formats_vals), 0,
17231 NULL, HFILL }},
17232 { &hf_e2ap_controlHeader_Format1,
17233 { "controlHeader-Format1", "e2ap.controlHeader_Format1_element",
17234 FT_NONE, BASE_NONE, NULL, 0,
17235 "E2SM_RC_ControlHeader_Format1", HFILL }},
17236 { &hf_e2ap_controlHeader_Format2,
17237 { "controlHeader-Format2", "e2ap.controlHeader_Format2_element",
17238 FT_NONE, BASE_NONE, NULL, 0,
17239 "E2SM_RC_ControlHeader_Format2", HFILL }},
17240 { &hf_e2ap_ric_ControlAction_ID,
17241 { "ric-ControlAction-ID", "e2ap.ric_ControlAction_ID",
17242 FT_UINT32, BASE_DEC, NULL, 0,
17243 NULL, HFILL }},
17244 { &hf_e2ap_ric_ControlDecision,
17245 { "ric-ControlDecision", "e2ap.ric_ControlDecision",
17246 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_ControlDecision_vals), 0,
17247 NULL, HFILL }},
17248 { &hf_e2ap_ric_ControlDecision_01,
17249 { "ric-ControlDecision", "e2ap.ric_ControlDecision",
17250 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_ControlDecision_01_vals), 0,
17251 "T_ric_ControlDecision_01", HFILL }},
17252 { &hf_e2ap_ric_controlMessage_formats,
17253 { "ric-controlMessage-formats", "e2ap.ric_controlMessage_formats",
17254 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlMessage_formats_vals), 0,
17255 NULL, HFILL }},
17256 { &hf_e2ap_controlMessage_Format1,
17257 { "controlMessage-Format1", "e2ap.controlMessage_Format1_element",
17258 FT_NONE, BASE_NONE, NULL, 0,
17259 "E2SM_RC_ControlMessage_Format1", HFILL }},
17260 { &hf_e2ap_controlMessage_Format2,
17261 { "controlMessage-Format2", "e2ap.controlMessage_Format2_element",
17262 FT_NONE, BASE_NONE, NULL, 0,
17263 "E2SM_RC_ControlMessage_Format2", HFILL }},
17264 { &hf_e2ap_ranP_List_01,
17265 { "ranP-List", "e2ap.ranP_List",
17266 FT_UINT32, BASE_DEC, NULL, 0,
17267 "SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item", HFILL }},
17268 { &hf_e2ap_ranP_List_item_01,
17269 { "E2SM-RC-ControlMessage-Format1-Item", "e2ap.E2SM_RC_ControlMessage_Format1_Item_element",
17270 FT_NONE, BASE_NONE, NULL, 0,
17271 NULL, HFILL }},
17272 { &hf_e2ap_ric_ControlStyle_List,
17273 { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17274 FT_UINT32, BASE_DEC, NULL, 0,
17275 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item", HFILL }},
17276 { &hf_e2ap_ric_ControlStyle_List_item,
17277 { "E2SM-RC-ControlMessage-Format2-Style-Item", "e2ap.E2SM_RC_ControlMessage_Format2_Style_Item_element",
17278 FT_NONE, BASE_NONE, NULL, 0,
17279 NULL, HFILL }},
17280 { &hf_e2ap_indicated_Control_Style_Type,
17281 { "indicated-Control-Style-Type", "e2ap.indicated_Control_Style_Type",
17282 FT_INT32, BASE_DEC, NULL, 0,
17283 "RIC_Style_Type", HFILL }},
17284 { &hf_e2ap_ric_ControlAction_List,
17285 { "ric-ControlAction-List", "e2ap.ric_ControlAction_List",
17286 FT_UINT32, BASE_DEC, NULL, 0,
17287 "SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item", HFILL }},
17288 { &hf_e2ap_ric_ControlAction_List_item,
17289 { "E2SM-RC-ControlMessage-Format2-ControlAction-Item", "e2ap.E2SM_RC_ControlMessage_Format2_ControlAction_Item_element",
17290 FT_NONE, BASE_NONE, NULL, 0,
17291 NULL, HFILL }},
17292 { &hf_e2ap_ranP_List_02,
17293 { "ranP-List", "e2ap.ranP_List_element",
17294 FT_NONE, BASE_NONE, NULL, 0,
17295 "E2SM_RC_ControlMessage_Format1", HFILL }},
17296 { &hf_e2ap_ric_controlOutcome_formats,
17297 { "ric-controlOutcome-formats", "e2ap.ric_controlOutcome_formats",
17298 FT_UINT32, BASE_DEC, VALS(e2ap_T_ric_controlOutcome_formats_vals), 0,
17299 NULL, HFILL }},
17300 { &hf_e2ap_controlOutcome_Format1,
17301 { "controlOutcome-Format1", "e2ap.controlOutcome_Format1_element",
17302 FT_NONE, BASE_NONE, NULL, 0,
17303 "E2SM_RC_ControlOutcome_Format1", HFILL }},
17304 { &hf_e2ap_controlOutcome_Format2,
17305 { "controlOutcome-Format2", "e2ap.controlOutcome_Format2_element",
17306 FT_NONE, BASE_NONE, NULL, 0,
17307 "E2SM_RC_ControlOutcome_Format2", HFILL }},
17308 { &hf_e2ap_controlOutcome_Format3,
17309 { "controlOutcome-Format3", "e2ap.controlOutcome_Format3_element",
17310 FT_NONE, BASE_NONE, NULL, 0,
17311 "E2SM_RC_ControlOutcome_Format3", HFILL }},
17312 { &hf_e2ap_ranP_List_03,
17313 { "ranP-List", "e2ap.ranP_List",
17314 FT_UINT32, BASE_DEC, NULL, 0,
17315 "SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item", HFILL }},
17316 { &hf_e2ap_ranP_List_item_02,
17317 { "E2SM-RC-ControlOutcome-Format1-Item", "e2ap.E2SM_RC_ControlOutcome_Format1_Item_element",
17318 FT_NONE, BASE_NONE, NULL, 0,
17319 NULL, HFILL }},
17320 { &hf_e2ap_ric_ControlStyle_List_01,
17321 { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17322 FT_UINT32, BASE_DEC, NULL, 0,
17323 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item", HFILL }},
17324 { &hf_e2ap_ric_ControlStyle_List_item_01,
17325 { "E2SM-RC-ControlOutcome-Format2-Style-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_Style_Item_element",
17326 FT_NONE, BASE_NONE, NULL, 0,
17327 NULL, HFILL }},
17328 { &hf_e2ap_ric_ControlOutcome_List,
17329 { "ric-ControlOutcome-List", "e2ap.ric_ControlOutcome_List",
17330 FT_UINT32, BASE_DEC, NULL, 0,
17331 "SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item", HFILL }},
17332 { &hf_e2ap_ric_ControlOutcome_List_item,
17333 { "E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item_element",
17334 FT_NONE, BASE_NONE, NULL, 0,
17335 NULL, HFILL }},
17336 { &hf_e2ap_ranP_List_04,
17337 { "ranP-List", "e2ap.ranP_List",
17338 FT_UINT32, BASE_DEC, NULL, 0,
17339 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item", HFILL }},
17340 { &hf_e2ap_ranP_List_item_03,
17341 { "E2SM-RC-ControlOutcome-Format2-RANP-Item", "e2ap.E2SM_RC_ControlOutcome_Format2_RANP_Item_element",
17342 FT_NONE, BASE_NONE, NULL, 0,
17343 NULL, HFILL }},
17344 { &hf_e2ap_ranP_List_05,
17345 { "ranP-List", "e2ap.ranP_List",
17346 FT_UINT32, BASE_DEC, NULL, 0,
17347 "SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item", HFILL }},
17348 { &hf_e2ap_ranP_List_item_04,
17349 { "E2SM-RC-ControlOutcome-Format3-Item", "e2ap.E2SM_RC_ControlOutcome_Format3_Item_element",
17350 FT_NONE, BASE_NONE, NULL, 0,
17351 NULL, HFILL }},
17352 { &hf_e2ap_ranFunction_Name,
17353 { "ranFunction-Name", "e2ap.ranFunction_Name_element",
17354 FT_NONE, BASE_NONE, NULL, 0,
17355 NULL, HFILL }},
17356 { &hf_e2ap_ranFunctionDefinition_EventTrigger,
17357 { "ranFunctionDefinition-EventTrigger", "e2ap.ranFunctionDefinition_EventTrigger_element",
17358 FT_NONE, BASE_NONE, NULL, 0,
17359 NULL, HFILL }},
17360 { &hf_e2ap_ranFunctionDefinition_Report,
17361 { "ranFunctionDefinition-Report", "e2ap.ranFunctionDefinition_Report_element",
17362 FT_NONE, BASE_NONE, NULL, 0,
17363 NULL, HFILL }},
17364 { &hf_e2ap_ranFunctionDefinition_Insert,
17365 { "ranFunctionDefinition-Insert", "e2ap.ranFunctionDefinition_Insert_element",
17366 FT_NONE, BASE_NONE, NULL, 0,
17367 NULL, HFILL }},
17368 { &hf_e2ap_ranFunctionDefinition_Control,
17369 { "ranFunctionDefinition-Control", "e2ap.ranFunctionDefinition_Control_element",
17370 FT_NONE, BASE_NONE, NULL, 0,
17371 NULL, HFILL }},
17372 { &hf_e2ap_ranFunctionDefinition_Policy,
17373 { "ranFunctionDefinition-Policy", "e2ap.ranFunctionDefinition_Policy_element",
17374 FT_NONE, BASE_NONE, NULL, 0,
17375 NULL, HFILL }},
17376 { &hf_e2ap_ric_EventTriggerStyle_List,
17377 { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
17378 FT_UINT32, BASE_DEC, NULL, 0,
17379 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item", HFILL }},
17380 { &hf_e2ap_ric_EventTriggerStyle_List_item,
17381 { "RANFunctionDefinition-EventTrigger-Style-Item", "e2ap.RANFunctionDefinition_EventTrigger_Style_Item_element",
17382 FT_NONE, BASE_NONE, NULL, 0,
17383 NULL, HFILL }},
17384 { &hf_e2ap_ran_L2Parameters_List,
17385 { "ran-L2Parameters-List", "e2ap.ran_L2Parameters_List",
17386 FT_UINT32, BASE_DEC, NULL, 0,
17387 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item", HFILL }},
17388 { &hf_e2ap_ran_L2Parameters_List_item,
17389 { "L2Parameters-RANParameter-Item", "e2ap.L2Parameters_RANParameter_Item_element",
17390 FT_NONE, BASE_NONE, NULL, 0,
17391 NULL, HFILL }},
17392 { &hf_e2ap_ran_CallProcessTypes_List,
17393 { "ran-CallProcessTypes-List", "e2ap.ran_CallProcessTypes_List",
17394 FT_UINT32, BASE_DEC, NULL, 0,
17395 "SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item", HFILL }},
17396 { &hf_e2ap_ran_CallProcessTypes_List_item,
17397 { "RANFunctionDefinition-EventTrigger-CallProcess-Item", "e2ap.RANFunctionDefinition_EventTrigger_CallProcess_Item_element",
17398 FT_NONE, BASE_NONE, NULL, 0,
17399 NULL, HFILL }},
17400 { &hf_e2ap_ran_UEIdentificationParameters_List,
17401 { "ran-UEIdentificationParameters-List", "e2ap.ran_UEIdentificationParameters_List",
17402 FT_UINT32, BASE_DEC, NULL, 0,
17403 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item", HFILL }},
17404 { &hf_e2ap_ran_UEIdentificationParameters_List_item,
17405 { "UEIdentification-RANParameter-Item", "e2ap.UEIdentification_RANParameter_Item_element",
17406 FT_NONE, BASE_NONE, NULL, 0,
17407 NULL, HFILL }},
17408 { &hf_e2ap_ran_CellIdentificationParameters_List,
17409 { "ran-CellIdentificationParameters-List", "e2ap.ran_CellIdentificationParameters_List",
17410 FT_UINT32, BASE_DEC, NULL, 0,
17411 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item", HFILL }},
17412 { &hf_e2ap_ran_CellIdentificationParameters_List_item,
17413 { "CellIdentification-RANParameter-Item", "e2ap.CellIdentification_RANParameter_Item_element",
17414 FT_NONE, BASE_NONE, NULL, 0,
17415 NULL, HFILL }},
17416 { &hf_e2ap_ric_EventTriggerStyle_Type,
17417 { "ric-EventTriggerStyle-Type", "e2ap.ric_EventTriggerStyle_Type",
17418 FT_INT32, BASE_DEC, NULL, 0,
17419 "RIC_Style_Type", HFILL }},
17420 { &hf_e2ap_ric_EventTriggerStyle_Name,
17421 { "ric-EventTriggerStyle-Name", "e2ap.ric_EventTriggerStyle_Name",
17422 FT_STRING, BASE_NONE, NULL, 0,
17423 "RIC_Style_Name", HFILL }},
17424 { &hf_e2ap_ric_EventTriggerFormat_Type,
17425 { "ric-EventTriggerFormat-Type", "e2ap.ric_EventTriggerFormat_Type",
17426 FT_INT32, BASE_DEC, NULL, 0,
17427 "RIC_Format_Type", HFILL }},
17428 { &hf_e2ap_callProcessType_ID,
17429 { "callProcessType-ID", "e2ap.callProcessType_ID",
17430 FT_UINT32, BASE_DEC, NULL, 0,
17431 "RIC_CallProcessType_ID", HFILL }},
17432 { &hf_e2ap_callProcessType_Name,
17433 { "callProcessType-Name", "e2ap.callProcessType_Name",
17434 FT_STRING, BASE_NONE, NULL, 0,
17435 "RIC_CallProcessType_Name", HFILL }},
17436 { &hf_e2ap_callProcessBreakpoints_List,
17437 { "callProcessBreakpoints-List", "e2ap.callProcessBreakpoints_List",
17438 FT_UINT32, BASE_DEC, NULL, 0,
17439 "SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item", HFILL }},
17440 { &hf_e2ap_callProcessBreakpoints_List_item,
17441 { "RANFunctionDefinition-EventTrigger-Breakpoint-Item", "e2ap.RANFunctionDefinition_EventTrigger_Breakpoint_Item_element",
17442 FT_NONE, BASE_NONE, NULL, 0,
17443 NULL, HFILL }},
17444 { &hf_e2ap_callProcessBreakpoint_ID,
17445 { "callProcessBreakpoint-ID", "e2ap.callProcessBreakpoint_ID",
17446 FT_UINT32, BASE_DEC, NULL, 0,
17447 "RIC_CallProcessBreakpoint_ID", HFILL }},
17448 { &hf_e2ap_callProcessBreakpoint_Name,
17449 { "callProcessBreakpoint-Name", "e2ap.callProcessBreakpoint_Name",
17450 FT_STRING, BASE_NONE, NULL, 0,
17451 "RIC_CallProcessBreakpoint_Name", HFILL }},
17452 { &hf_e2ap_ran_CallProcessBreakpointParameters_List,
17453 { "ran-CallProcessBreakpointParameters-List", "e2ap.ran_CallProcessBreakpointParameters_List",
17454 FT_UINT32, BASE_DEC, NULL, 0,
17455 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item", HFILL }},
17456 { &hf_e2ap_ran_CallProcessBreakpointParameters_List_item,
17457 { "CallProcessBreakpoint-RANParameter-Item", "e2ap.CallProcessBreakpoint_RANParameter_Item_element",
17458 FT_NONE, BASE_NONE, NULL, 0,
17459 NULL, HFILL }},
17460 { &hf_e2ap_ric_ReportStyle_List,
17461 { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
17462 FT_UINT32, BASE_DEC, NULL, 0,
17463 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item", HFILL }},
17464 { &hf_e2ap_ric_ReportStyle_List_item,
17465 { "RANFunctionDefinition-Report-Item", "e2ap.RANFunctionDefinition_Report_Item_element",
17466 FT_NONE, BASE_NONE, NULL, 0,
17467 NULL, HFILL }},
17468 { &hf_e2ap_ric_ReportStyle_Type,
17469 { "ric-ReportStyle-Type", "e2ap.ric_ReportStyle_Type",
17470 FT_INT32, BASE_DEC, NULL, 0,
17471 "RIC_Style_Type", HFILL }},
17472 { &hf_e2ap_ric_ReportStyle_Name,
17473 { "ric-ReportStyle-Name", "e2ap.ric_ReportStyle_Name",
17474 FT_STRING, BASE_NONE, NULL, 0,
17475 "RIC_Style_Name", HFILL }},
17476 { &hf_e2ap_ric_SupportedEventTriggerStyle_Type,
17477 { "ric-SupportedEventTriggerStyle-Type", "e2ap.ric_SupportedEventTriggerStyle_Type",
17478 FT_INT32, BASE_DEC, NULL, 0,
17479 "RIC_Style_Type", HFILL }},
17480 { &hf_e2ap_ric_ReportActionFormat_Type,
17481 { "ric-ReportActionFormat-Type", "e2ap.ric_ReportActionFormat_Type",
17482 FT_INT32, BASE_DEC, NULL, 0,
17483 "RIC_Format_Type", HFILL }},
17484 { &hf_e2ap_ric_IndicationHeaderFormat_Type,
17485 { "ric-IndicationHeaderFormat-Type", "e2ap.ric_IndicationHeaderFormat_Type",
17486 FT_INT32, BASE_DEC, NULL, 0,
17487 "RIC_Format_Type", HFILL }},
17488 { &hf_e2ap_ric_IndicationMessageFormat_Type,
17489 { "ric-IndicationMessageFormat-Type", "e2ap.ric_IndicationMessageFormat_Type",
17490 FT_INT32, BASE_DEC, NULL, 0,
17491 "RIC_Format_Type", HFILL }},
17492 { &hf_e2ap_ran_ReportParameters_List,
17493 { "ran-ReportParameters-List", "e2ap.ran_ReportParameters_List",
17494 FT_UINT32, BASE_DEC, NULL, 0,
17495 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item", HFILL }},
17496 { &hf_e2ap_ran_ReportParameters_List_item,
17497 { "Report-RANParameter-Item", "e2ap.Report_RANParameter_Item_element",
17498 FT_NONE, BASE_NONE, NULL, 0,
17499 NULL, HFILL }},
17500 { &hf_e2ap_ric_InsertStyle_List_02,
17501 { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
17502 FT_UINT32, BASE_DEC, NULL, 0,
17503 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item", HFILL }},
17504 { &hf_e2ap_ric_InsertStyle_List_item_02,
17505 { "RANFunctionDefinition-Insert-Item", "e2ap.RANFunctionDefinition_Insert_Item_element",
17506 FT_NONE, BASE_NONE, NULL, 0,
17507 NULL, HFILL }},
17508 { &hf_e2ap_ric_InsertStyle_Name,
17509 { "ric-InsertStyle-Name", "e2ap.ric_InsertStyle_Name",
17510 FT_STRING, BASE_NONE, NULL, 0,
17511 "RIC_Style_Name", HFILL }},
17512 { &hf_e2ap_ric_ActionDefinitionFormat_Type,
17513 { "ric-ActionDefinitionFormat-Type", "e2ap.ric_ActionDefinitionFormat_Type",
17514 FT_INT32, BASE_DEC, NULL, 0,
17515 "RIC_Format_Type", HFILL }},
17516 { &hf_e2ap_ric_InsertIndication_List_02,
17517 { "ric-InsertIndication-List", "e2ap.ric_InsertIndication_List",
17518 FT_UINT32, BASE_DEC, NULL, 0,
17519 "SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item", HFILL }},
17520 { &hf_e2ap_ric_InsertIndication_List_item_02,
17521 { "RANFunctionDefinition-Insert-Indication-Item", "e2ap.RANFunctionDefinition_Insert_Indication_Item_element",
17522 FT_NONE, BASE_NONE, NULL, 0,
17523 NULL, HFILL }},
17524 { &hf_e2ap_ric_CallProcessIDFormat_Type,
17525 { "ric-CallProcessIDFormat-Type", "e2ap.ric_CallProcessIDFormat_Type",
17526 FT_INT32, BASE_DEC, NULL, 0,
17527 "RIC_Format_Type", HFILL }},
17528 { &hf_e2ap_ric_InsertIndication_Name,
17529 { "ric-InsertIndication-Name", "e2ap.ric_InsertIndication_Name",
17530 FT_STRING, BASE_NONE, NULL, 0,
17531 NULL, HFILL }},
17532 { &hf_e2ap_ran_InsertIndicationParameters_List,
17533 { "ran-InsertIndicationParameters-List", "e2ap.ran_InsertIndicationParameters_List",
17534 FT_UINT32, BASE_DEC, NULL, 0,
17535 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item", HFILL }},
17536 { &hf_e2ap_ran_InsertIndicationParameters_List_item,
17537 { "InsertIndication-RANParameter-Item", "e2ap.InsertIndication_RANParameter_Item_element",
17538 FT_NONE, BASE_NONE, NULL, 0,
17539 NULL, HFILL }},
17540 { &hf_e2ap_ric_ControlStyle_List_02,
17541 { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
17542 FT_UINT32, BASE_DEC, NULL, 0,
17543 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item", HFILL }},
17544 { &hf_e2ap_ric_ControlStyle_List_item_02,
17545 { "RANFunctionDefinition-Control-Item", "e2ap.RANFunctionDefinition_Control_Item_element",
17546 FT_NONE, BASE_NONE, NULL, 0,
17547 NULL, HFILL }},
17548 { &hf_e2ap_ric_ControlStyle_Type,
17549 { "ric-ControlStyle-Type", "e2ap.ric_ControlStyle_Type",
17550 FT_INT32, BASE_DEC, NULL, 0,
17551 "RIC_Style_Type", HFILL }},
17552 { &hf_e2ap_ric_ControlStyle_Name,
17553 { "ric-ControlStyle-Name", "e2ap.ric_ControlStyle_Name",
17554 FT_STRING, BASE_NONE, NULL, 0,
17555 "RIC_Style_Name", HFILL }},
17556 { &hf_e2ap_ric_ControlAction_List_01,
17557 { "ric-ControlAction-List", "e2ap.ric_ControlAction_List",
17558 FT_UINT32, BASE_DEC, NULL, 0,
17559 "SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item", HFILL }},
17560 { &hf_e2ap_ric_ControlAction_List_item_01,
17561 { "RANFunctionDefinition-Control-Action-Item", "e2ap.RANFunctionDefinition_Control_Action_Item_element",
17562 FT_NONE, BASE_NONE, NULL, 0,
17563 NULL, HFILL }},
17564 { &hf_e2ap_ric_ControlHeaderFormat_Type,
17565 { "ric-ControlHeaderFormat-Type", "e2ap.ric_ControlHeaderFormat_Type",
17566 FT_INT32, BASE_DEC, NULL, 0,
17567 "RIC_Format_Type", HFILL }},
17568 { &hf_e2ap_ric_ControlMessageFormat_Type,
17569 { "ric-ControlMessageFormat-Type", "e2ap.ric_ControlMessageFormat_Type",
17570 FT_INT32, BASE_DEC, NULL, 0,
17571 "RIC_Format_Type", HFILL }},
17572 { &hf_e2ap_ric_ControlOutcomeFormat_Type,
17573 { "ric-ControlOutcomeFormat-Type", "e2ap.ric_ControlOutcomeFormat_Type",
17574 FT_INT32, BASE_DEC, NULL, 0,
17575 "RIC_Format_Type", HFILL }},
17576 { &hf_e2ap_ran_ControlOutcomeParameters_List,
17577 { "ran-ControlOutcomeParameters-List", "e2ap.ran_ControlOutcomeParameters_List",
17578 FT_UINT32, BASE_DEC, NULL, 0,
17579 "SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item", HFILL }},
17580 { &hf_e2ap_ran_ControlOutcomeParameters_List_item,
17581 { "ControlOutcome-RANParameter-Item", "e2ap.ControlOutcome_RANParameter_Item_element",
17582 FT_NONE, BASE_NONE, NULL, 0,
17583 NULL, HFILL }},
17584 { &hf_e2ap_ric_ControlAction_Name,
17585 { "ric-ControlAction-Name", "e2ap.ric_ControlAction_Name",
17586 FT_STRING, BASE_NONE, NULL, 0,
17587 NULL, HFILL }},
17588 { &hf_e2ap_ran_ControlActionParameters_List,
17589 { "ran-ControlActionParameters-List", "e2ap.ran_ControlActionParameters_List",
17590 FT_UINT32, BASE_DEC, NULL, 0,
17591 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item", HFILL }},
17592 { &hf_e2ap_ran_ControlActionParameters_List_item,
17593 { "ControlAction-RANParameter-Item", "e2ap.ControlAction_RANParameter_Item_element",
17594 FT_NONE, BASE_NONE, NULL, 0,
17595 NULL, HFILL }},
17596 { &hf_e2ap_ric_PolicyStyle_List,
17597 { "ric-PolicyStyle-List", "e2ap.ric_PolicyStyle_List",
17598 FT_UINT32, BASE_DEC, NULL, 0,
17599 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item", HFILL }},
17600 { &hf_e2ap_ric_PolicyStyle_List_item,
17601 { "RANFunctionDefinition-Policy-Item", "e2ap.RANFunctionDefinition_Policy_Item_element",
17602 FT_NONE, BASE_NONE, NULL, 0,
17603 NULL, HFILL }},
17604 { &hf_e2ap_ric_PolicyStyle_Type,
17605 { "ric-PolicyStyle-Type", "e2ap.ric_PolicyStyle_Type",
17606 FT_INT32, BASE_DEC, NULL, 0,
17607 "RIC_Style_Type", HFILL }},
17608 { &hf_e2ap_ric_PolicyStyle_Name,
17609 { "ric-PolicyStyle-Name", "e2ap.ric_PolicyStyle_Name",
17610 FT_STRING, BASE_NONE, NULL, 0,
17611 "RIC_Style_Name", HFILL }},
17612 { &hf_e2ap_ric_PolicyAction_List,
17613 { "ric-PolicyAction-List", "e2ap.ric_PolicyAction_List",
17614 FT_UINT32, BASE_DEC, NULL, 0,
17615 "SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item", HFILL }},
17616 { &hf_e2ap_ric_PolicyAction_List_item,
17617 { "RANFunctionDefinition-Policy-Action-Item", "e2ap.RANFunctionDefinition_Policy_Action_Item_element",
17618 FT_NONE, BASE_NONE, NULL, 0,
17619 NULL, HFILL }},
17620 { &hf_e2ap_ric_PolicyAction_Name,
17621 { "ric-PolicyAction-Name", "e2ap.ric_PolicyAction_Name",
17622 FT_STRING, BASE_NONE, NULL, 0,
17623 "RIC_ControlAction_Name", HFILL }},
17624 { &hf_e2ap_ran_PolicyActionParameters_List,
17625 { "ran-PolicyActionParameters-List", "e2ap.ran_PolicyActionParameters_List",
17626 FT_UINT32, BASE_DEC, NULL, 0,
17627 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item", HFILL }},
17628 { &hf_e2ap_ran_PolicyActionParameters_List_item,
17629 { "PolicyAction-RANParameter-Item", "e2ap.PolicyAction_RANParameter_Item_element",
17630 FT_NONE, BASE_NONE, NULL, 0,
17631 NULL, HFILL }},
17632 { &hf_e2ap_ran_PolicyConditionParameters_List,
17633 { "ran-PolicyConditionParameters-List", "e2ap.ran_PolicyConditionParameters_List",
17634 FT_UINT32, BASE_DEC, NULL, 0,
17635 "SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item", HFILL }},
17636 { &hf_e2ap_ran_PolicyConditionParameters_List_item,
17637 { "PolicyCondition-RANParameter-Item", "e2ap.PolicyCondition_RANParameter_Item_element",
17638 FT_NONE, BASE_NONE, NULL, 0,
17639 NULL, HFILL }},
17640 { &hf_e2ap_measName,
17641 { "measName", "e2ap.measName",
17642 FT_STRING, BASE_NONE, NULL, 0,
17643 "MeasurementTypeName", HFILL }},
17644 { &hf_e2ap_measID,
17645 { "measID", "e2ap.measID",
17646 FT_UINT32, BASE_DEC, NULL, 0,
17647 "MeasurementTypeID", HFILL }},
17648 { &hf_e2ap_noLabel,
17649 { "noLabel", "e2ap.noLabel",
17650 FT_UINT32, BASE_DEC, VALS(e2ap_T_noLabel_vals), 0,
17651 NULL, HFILL }},
17652 { &hf_e2ap_plmnID,
17653 { "plmnID", "e2ap.plmnID",
17654 FT_BYTES, BASE_NONE, NULL, 0,
17655 "PLMNIdentity", HFILL }},
17656 { &hf_e2ap_sliceID,
17657 { "sliceID", "e2ap.sliceID_element",
17658 FT_NONE, BASE_NONE, NULL, 0,
17659 "S_NSSAI", HFILL }},
17660 { &hf_e2ap_fiveQI,
17661 { "fiveQI", "e2ap.fiveQI",
17662 FT_UINT32, BASE_DEC, NULL, 0,
17663 NULL, HFILL }},
17664 { &hf_e2ap_qFI,
17665 { "qFI", "e2ap.qFI",
17666 FT_UINT32, BASE_DEC, NULL, 0,
17667 "QosFlowIdentifier", HFILL }},
17668 { &hf_e2ap_qCI,
17669 { "qCI", "e2ap.qCI",
17670 FT_UINT32, BASE_DEC, NULL, 0,
17671 NULL, HFILL }},
17672 { &hf_e2ap_qCImax,
17673 { "qCImax", "e2ap.qCImax",
17674 FT_UINT32, BASE_DEC, NULL, 0,
17675 "QCI", HFILL }},
17676 { &hf_e2ap_qCImin,
17677 { "qCImin", "e2ap.qCImin",
17678 FT_UINT32, BASE_DEC, NULL, 0,
17679 "QCI", HFILL }},
17680 { &hf_e2ap_aRPmax,
17681 { "aRPmax", "e2ap.aRPmax",
17682 FT_UINT32, BASE_DEC, NULL, 0,
17683 "INTEGER_1_15_", HFILL }},
17684 { &hf_e2ap_aRPmin,
17685 { "aRPmin", "e2ap.aRPmin",
17686 FT_UINT32, BASE_DEC, NULL, 0,
17687 "INTEGER_1_15_", HFILL }},
17688 { &hf_e2ap_bitrateRange,
17689 { "bitrateRange", "e2ap.bitrateRange",
17690 FT_UINT32, BASE_DEC, NULL, 0,
17691 "INTEGER_1_65535_", HFILL }},
17692 { &hf_e2ap_layerMU_MIMO,
17693 { "layerMU-MIMO", "e2ap.layerMU_MIMO",
17694 FT_UINT32, BASE_DEC, NULL, 0,
17695 "INTEGER_1_65535_", HFILL }},
17696 { &hf_e2ap_sUM,
17697 { "sUM", "e2ap.sUM",
17698 FT_UINT32, BASE_DEC, VALS(e2ap_T_sUM_vals), 0,
17699 NULL, HFILL }},
17700 { &hf_e2ap_distBinX,
17701 { "distBinX", "e2ap.distBinX",
17702 FT_UINT32, BASE_DEC, NULL, 0,
17703 "INTEGER_1_65535_", HFILL }},
17704 { &hf_e2ap_distBinY,
17705 { "distBinY", "e2ap.distBinY",
17706 FT_UINT32, BASE_DEC, NULL, 0,
17707 "INTEGER_1_65535_", HFILL }},
17708 { &hf_e2ap_distBinZ,
17709 { "distBinZ", "e2ap.distBinZ",
17710 FT_UINT32, BASE_DEC, NULL, 0,
17711 "INTEGER_1_65535_", HFILL }},
17712 { &hf_e2ap_preLabelOverride,
17713 { "preLabelOverride", "e2ap.preLabelOverride",
17714 FT_UINT32, BASE_DEC, VALS(e2ap_T_preLabelOverride_vals), 0,
17715 NULL, HFILL }},
17716 { &hf_e2ap_startEndInd,
17717 { "startEndInd", "e2ap.startEndInd",
17718 FT_UINT32, BASE_DEC, VALS(e2ap_T_startEndInd_vals), 0,
17719 NULL, HFILL }},
17720 { &hf_e2ap_min,
17721 { "min", "e2ap.min",
17722 FT_UINT32, BASE_DEC, VALS(e2ap_T_min_vals), 0,
17723 NULL, HFILL }},
17724 { &hf_e2ap_max,
17725 { "max", "e2ap.max",
17726 FT_UINT32, BASE_DEC, VALS(e2ap_T_max_vals), 0,
17727 NULL, HFILL }},
17728 { &hf_e2ap_avg,
17729 { "avg", "e2ap.avg",
17730 FT_UINT32, BASE_DEC, VALS(e2ap_T_avg_vals), 0,
17731 NULL, HFILL }},
17732 { &hf_e2ap_ssbIndex,
17733 { "ssbIndex", "e2ap.ssbIndex",
17734 FT_UINT32, BASE_DEC, NULL, 0,
17735 "INTEGER_1_65535_", HFILL }},
17736 { &hf_e2ap_nonGoB_BFmode_Index,
17737 { "nonGoB-BFmode-Index", "e2ap.nonGoB_BFmode_Index",
17738 FT_UINT32, BASE_DEC, NULL, 0,
17739 "INTEGER_1_65535_", HFILL }},
17740 { &hf_e2ap_mIMO_mode_Index,
17741 { "mIMO-mode-Index", "e2ap.mIMO_mode_Index",
17742 FT_UINT32, BASE_DEC, NULL, 0,
17743 "INTEGER_1_2_", HFILL }},
17744 { &hf_e2ap_testType,
17745 { "testType", "e2ap.testType",
17746 FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Type_vals), 0,
17747 "TestCond_Type", HFILL }},
17748 { &hf_e2ap_testExpr,
17749 { "testExpr", "e2ap.testExpr",
17750 FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Expression_vals), 0,
17751 "TestCond_Expression", HFILL }},
17752 { &hf_e2ap_testValue,
17753 { "testValue", "e2ap.testValue",
17754 FT_UINT32, BASE_DEC, VALS(e2ap_TestCond_Value_vals), 0,
17755 "TestCond_Value", HFILL }},
17756 { &hf_e2ap_gBR,
17757 { "gBR", "e2ap.gBR",
17758 FT_UINT32, BASE_DEC, VALS(e2ap_T_gBR_vals), 0,
17759 NULL, HFILL }},
17760 { &hf_e2ap_aMBR,
17761 { "aMBR", "e2ap.aMBR",
17762 FT_UINT32, BASE_DEC, VALS(e2ap_T_aMBR_vals), 0,
17763 NULL, HFILL }},
17764 { &hf_e2ap_isStat,
17765 { "isStat", "e2ap.isStat",
17766 FT_UINT32, BASE_DEC, VALS(e2ap_T_isStat_vals), 0,
17767 NULL, HFILL }},
17768 { &hf_e2ap_isCatM,
17769 { "isCatM", "e2ap.isCatM",
17770 FT_UINT32, BASE_DEC, VALS(e2ap_T_isCatM_vals), 0,
17771 NULL, HFILL }},
17772 { &hf_e2ap_rSRP,
17773 { "rSRP", "e2ap.rSRP",
17774 FT_UINT32, BASE_DEC, VALS(e2ap_T_rSRP_vals), 0,
17775 NULL, HFILL }},
17776 { &hf_e2ap_rSRQ,
17777 { "rSRQ", "e2ap.rSRQ",
17778 FT_UINT32, BASE_DEC, VALS(e2ap_T_rSRQ_vals), 0,
17779 NULL, HFILL }},
17780 { &hf_e2ap_ul_rSRP,
17781 { "ul-rSRP", "e2ap.ul_rSRP",
17782 FT_UINT32, BASE_DEC, VALS(e2ap_T_ul_rSRP_vals), 0,
17783 NULL, HFILL }},
17784 { &hf_e2ap_cQI,
17785 { "cQI", "e2ap.cQI",
17786 FT_UINT32, BASE_DEC, VALS(e2ap_T_cQI_vals), 0,
17787 NULL, HFILL }},
17788 { &hf_e2ap_fiveQI_01,
17789 { "fiveQI", "e2ap.fiveQI",
17790 FT_UINT32, BASE_DEC, VALS(e2ap_T_fiveQI_vals), 0,
17791 NULL, HFILL }},
17792 { &hf_e2ap_qCI_01,
17793 { "qCI", "e2ap.qCI",
17794 FT_UINT32, BASE_DEC, VALS(e2ap_T_qCI_vals), 0,
17795 NULL, HFILL }},
17796 { &hf_e2ap_sNSSAI,
17797 { "sNSSAI", "e2ap.sNSSAI",
17798 FT_UINT32, BASE_DEC, VALS(e2ap_T_sNSSAI_vals), 0,
17799 NULL, HFILL }},
17800 { &hf_e2ap_valueEnum,
17801 { "valueEnum", "e2ap.valueEnum",
17802 FT_INT32, BASE_DEC, NULL, 0,
17803 "INTEGER", HFILL }},
17804 { &hf_e2ap_valueBool,
17805 { "valueBool", "e2ap.valueBool",
17806 FT_BOOLEAN, BASE_NONE, NULL, 0,
17807 "BOOLEAN", HFILL }},
17808 { &hf_e2ap_valuePrtS,
17809 { "valuePrtS", "e2ap.valuePrtS",
17810 FT_STRING, BASE_NONE, NULL, 0,
17811 "PrintableString", HFILL }},
17812 { &hf_e2ap_binRangeListX,
17813 { "binRangeListX", "e2ap.binRangeListX",
17814 FT_UINT32, BASE_DEC, NULL, 0,
17815 "BinRangeList", HFILL }},
17816 { &hf_e2ap_binRangeListY,
17817 { "binRangeListY", "e2ap.binRangeListY",
17818 FT_UINT32, BASE_DEC, NULL, 0,
17819 "BinRangeList", HFILL }},
17820 { &hf_e2ap_binRangeListZ,
17821 { "binRangeListZ", "e2ap.binRangeListZ",
17822 FT_UINT32, BASE_DEC, NULL, 0,
17823 "BinRangeList", HFILL }},
17824 { &hf_e2ap_BinRangeList_item,
17825 { "BinRangeItem", "e2ap.BinRangeItem_element",
17826 FT_NONE, BASE_NONE, NULL, 0,
17827 NULL, HFILL }},
17828 { &hf_e2ap_binIndex,
17829 { "binIndex", "e2ap.binIndex",
17830 FT_UINT32, BASE_DEC, NULL, 0,
17831 NULL, HFILL }},
17832 { &hf_e2ap_startValue,
17833 { "startValue", "e2ap.startValue",
17834 FT_UINT32, BASE_DEC, VALS(e2ap_BinRangeValue_vals), 0,
17835 "BinRangeValue", HFILL }},
17836 { &hf_e2ap_endValue,
17837 { "endValue", "e2ap.endValue",
17838 FT_UINT32, BASE_DEC, VALS(e2ap_BinRangeValue_vals), 0,
17839 "BinRangeValue", HFILL }},
17840 { &hf_e2ap_DistMeasurementBinRangeList_item,
17841 { "DistMeasurementBinRangeItem", "e2ap.DistMeasurementBinRangeItem_element",
17842 FT_NONE, BASE_NONE, NULL, 0,
17843 NULL, HFILL }},
17844 { &hf_e2ap_measType,
17845 { "measType", "e2ap.measType",
17846 FT_UINT32, BASE_DEC, VALS(e2ap_MeasurementType_vals), 0,
17847 "MeasurementType", HFILL }},
17848 { &hf_e2ap_binRangeDef,
17849 { "binRangeDef", "e2ap.binRangeDef_element",
17850 FT_NONE, BASE_NONE, NULL, 0,
17851 "BinRangeDefinition", HFILL }},
17852 { &hf_e2ap_MeasurementInfoList_item,
17853 { "MeasurementInfoItem", "e2ap.MeasurementInfoItem_element",
17854 FT_NONE, BASE_NONE, NULL, 0,
17855 NULL, HFILL }},
17856 { &hf_e2ap_labelInfoList,
17857 { "labelInfoList", "e2ap.labelInfoList",
17858 FT_UINT32, BASE_DEC, NULL, 0,
17859 NULL, HFILL }},
17860 { &hf_e2ap_LabelInfoList_item,
17861 { "LabelInfoItem", "e2ap.LabelInfoItem_element",
17862 FT_NONE, BASE_NONE, NULL, 0,
17863 NULL, HFILL }},
17864 { &hf_e2ap_measLabel,
17865 { "measLabel", "e2ap.measLabel_element",
17866 FT_NONE, BASE_NONE, NULL, 0,
17867 "MeasurementLabel", HFILL }},
17868 { &hf_e2ap_MeasurementData_item,
17869 { "MeasurementDataItem", "e2ap.MeasurementDataItem_element",
17870 FT_NONE, BASE_NONE, NULL, 0,
17871 NULL, HFILL }},
17872 { &hf_e2ap_measRecord,
17873 { "measRecord", "e2ap.measRecord",
17874 FT_UINT32, BASE_DEC, NULL, 0,
17875 "MeasurementRecord", HFILL }},
17876 { &hf_e2ap_incompleteFlag,
17877 { "incompleteFlag", "e2ap.incompleteFlag",
17878 FT_UINT32, BASE_DEC, VALS(e2ap_T_incompleteFlag_vals), 0,
17879 NULL, HFILL }},
17880 { &hf_e2ap_MeasurementRecord_item,
17881 { "MeasurementRecordItem", "e2ap.MeasurementRecordItem",
17882 FT_UINT32, BASE_DEC, VALS(e2ap_MeasurementRecordItem_vals), 0,
17883 NULL, HFILL }},
17884 { &hf_e2ap_integer,
17885 { "integer", "e2ap.integer",
17886 FT_UINT32, BASE_DEC, NULL, 0,
17887 "INTEGER_0_4294967295", HFILL }},
17888 { &hf_e2ap_real,
17889 { "real", "e2ap.real",
17890 FT_DOUBLE, BASE_NONE, NULL, 0,
17891 NULL, HFILL }},
17892 { &hf_e2ap_noValue,
17893 { "noValue", "e2ap.noValue_element",
17894 FT_NONE, BASE_NONE, NULL, 0,
17895 NULL, HFILL }},
17896 { &hf_e2ap_MeasurementInfo_Action_List_item,
17897 { "MeasurementInfo-Action-Item", "e2ap.MeasurementInfo_Action_Item_element",
17898 FT_NONE, BASE_NONE, NULL, 0,
17899 NULL, HFILL }},
17900 { &hf_e2ap_MeasurementCondList_item,
17901 { "MeasurementCondItem", "e2ap.MeasurementCondItem_element",
17902 FT_NONE, BASE_NONE, NULL, 0,
17903 NULL, HFILL }},
17904 { &hf_e2ap_matchingCond,
17905 { "matchingCond", "e2ap.matchingCond",
17906 FT_UINT32, BASE_DEC, NULL, 0,
17907 "MatchingCondList", HFILL }},
17908 { &hf_e2ap_MeasurementCondUEidList_item,
17909 { "MeasurementCondUEidItem", "e2ap.MeasurementCondUEidItem_element",
17910 FT_NONE, BASE_NONE, NULL, 0,
17911 NULL, HFILL }},
17912 { &hf_e2ap_matchingUEidList,
17913 { "matchingUEidList", "e2ap.matchingUEidList",
17914 FT_UINT32, BASE_DEC, NULL, 0,
17915 NULL, HFILL }},
17916 { &hf_e2ap_matchingUEidPerGP,
17917 { "matchingUEidPerGP", "e2ap.matchingUEidPerGP",
17918 FT_UINT32, BASE_DEC, NULL, 0,
17919 NULL, HFILL }},
17920 { &hf_e2ap_MatchingCondList_item,
17921 { "MatchingCondItem", "e2ap.MatchingCondItem_element",
17922 FT_NONE, BASE_NONE, NULL, 0,
17923 NULL, HFILL }},
17924 { &hf_e2ap_matchingCondChoice,
17925 { "matchingCondChoice", "e2ap.matchingCondChoice",
17926 FT_UINT32, BASE_DEC, VALS(e2ap_MatchingCondItem_Choice_vals), 0,
17927 "MatchingCondItem_Choice", HFILL }},
17928 { &hf_e2ap_testCondInfo,
17929 { "testCondInfo", "e2ap.testCondInfo_element",
17930 FT_NONE, BASE_NONE, NULL, 0,
17931 NULL, HFILL }},
17932 { &hf_e2ap_MatchingUEidList_item,
17933 { "MatchingUEidItem", "e2ap.MatchingUEidItem_element",
17934 FT_NONE, BASE_NONE, NULL, 0,
17935 NULL, HFILL }},
17936 { &hf_e2ap_MatchingUEidPerGP_item,
17937 { "MatchingUEidPerGP-Item", "e2ap.MatchingUEidPerGP_Item_element",
17938 FT_NONE, BASE_NONE, NULL, 0,
17939 NULL, HFILL }},
17940 { &hf_e2ap_matchedPerGP,
17941 { "matchedPerGP", "e2ap.matchedPerGP",
17942 FT_UINT32, BASE_DEC, VALS(e2ap_T_matchedPerGP_vals), 0,
17943 NULL, HFILL }},
17944 { &hf_e2ap_noUEmatched,
17945 { "noUEmatched", "e2ap.noUEmatched",
17946 FT_UINT32, BASE_DEC, VALS(e2ap_T_noUEmatched_vals), 0,
17947 NULL, HFILL }},
17948 { &hf_e2ap_oneOrMoreUEmatched,
17949 { "oneOrMoreUEmatched", "e2ap.oneOrMoreUEmatched",
17950 FT_UINT32, BASE_DEC, NULL, 0,
17951 "MatchingUEidList_PerGP", HFILL }},
17952 { &hf_e2ap_MatchingUEidList_PerGP_item,
17953 { "MatchingUEidItem-PerGP", "e2ap.MatchingUEidItem_PerGP_element",
17954 FT_NONE, BASE_NONE, NULL, 0,
17955 NULL, HFILL }},
17956 { &hf_e2ap_MatchingUeCondPerSubList_item,
17957 { "MatchingUeCondPerSubItem", "e2ap.MatchingUeCondPerSubItem_element",
17958 FT_NONE, BASE_NONE, NULL, 0,
17959 NULL, HFILL }},
17960 { &hf_e2ap_MatchingUEidPerSubList_item,
17961 { "MatchingUEidPerSubItem", "e2ap.MatchingUEidPerSubItem_element",
17962 FT_NONE, BASE_NONE, NULL, 0,
17963 NULL, HFILL }},
17964 { &hf_e2ap_UEMeasurementReportList_item,
17965 { "UEMeasurementReportItem", "e2ap.UEMeasurementReportItem_element",
17966 FT_NONE, BASE_NONE, NULL, 0,
17967 NULL, HFILL }},
17968 { &hf_e2ap_measReport,
17969 { "measReport", "e2ap.measReport_element",
17970 FT_NONE, BASE_NONE, NULL, 0,
17971 "E2SM_KPM_IndicationMessage_Format1", HFILL }},
17972 { &hf_e2ap_eventDefinition_formats,
17973 { "eventDefinition-formats", "e2ap.eventDefinition_formats",
17974 FT_UINT32, BASE_DEC, VALS(e2ap_T_eventDefinition_formats_vals), 0,
17975 NULL, HFILL }},
17976 { &hf_e2ap_eventDefinition_Format1,
17977 { "eventDefinition-Format1", "e2ap.eventDefinition_Format1_element",
17978 FT_NONE, BASE_NONE, NULL, 0,
17979 "E2SM_KPM_EventTriggerDefinition_Format1", HFILL }},
17980 { &hf_e2ap_reportingPeriod,
17981 { "reportingPeriod", "e2ap.reportingPeriod",
17982 FT_UINT32, BASE_DEC, NULL, 0,
17983 "INTEGER_1_4294967295", HFILL }},
17984 { &hf_e2ap_actionDefinition_formats,
17985 { "actionDefinition-formats", "e2ap.actionDefinition_formats",
17986 FT_UINT32, BASE_DEC, VALS(e2ap_T_actionDefinition_formats_vals), 0,
17987 NULL, HFILL }},
17988 { &hf_e2ap_actionDefinition_Format1_01,
17989 { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
17990 FT_NONE, BASE_NONE, NULL, 0,
17991 "E2SM_KPM_ActionDefinition_Format1", HFILL }},
17992 { &hf_e2ap_actionDefinition_Format2_01,
17993 { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
17994 FT_NONE, BASE_NONE, NULL, 0,
17995 "E2SM_KPM_ActionDefinition_Format2", HFILL }},
17996 { &hf_e2ap_actionDefinition_Format3_01,
17997 { "actionDefinition-Format3", "e2ap.actionDefinition_Format3_element",
17998 FT_NONE, BASE_NONE, NULL, 0,
17999 "E2SM_KPM_ActionDefinition_Format3", HFILL }},
18000 { &hf_e2ap_actionDefinition_Format4_01,
18001 { "actionDefinition-Format4", "e2ap.actionDefinition_Format4_element",
18002 FT_NONE, BASE_NONE, NULL, 0,
18003 "E2SM_KPM_ActionDefinition_Format4", HFILL }},
18004 { &hf_e2ap_actionDefinition_Format5,
18005 { "actionDefinition-Format5", "e2ap.actionDefinition_Format5_element",
18006 FT_NONE, BASE_NONE, NULL, 0,
18007 "E2SM_KPM_ActionDefinition_Format5", HFILL }},
18008 { &hf_e2ap_measInfoList,
18009 { "measInfoList", "e2ap.measInfoList",
18010 FT_UINT32, BASE_DEC, NULL, 0,
18011 "MeasurementInfoList", HFILL }},
18012 { &hf_e2ap_granulPeriod,
18013 { "granulPeriod", "e2ap.granulPeriod",
18014 FT_UINT32, BASE_DEC, NULL, 0,
18015 "GranularityPeriod", HFILL }},
18016 { &hf_e2ap_distMeasBinRangeInfo,
18017 { "distMeasBinRangeInfo", "e2ap.distMeasBinRangeInfo",
18018 FT_UINT32, BASE_DEC, NULL, 0,
18019 "DistMeasurementBinRangeList", HFILL }},
18020 { &hf_e2ap_subscriptInfo,
18021 { "subscriptInfo", "e2ap.subscriptInfo_element",
18022 FT_NONE, BASE_NONE, NULL, 0,
18023 "E2SM_KPM_ActionDefinition_Format1", HFILL }},
18024 { &hf_e2ap_measCondList,
18025 { "measCondList", "e2ap.measCondList",
18026 FT_UINT32, BASE_DEC, NULL, 0,
18027 "MeasurementCondList", HFILL }},
18028 { &hf_e2ap_matchingUeCondList,
18029 { "matchingUeCondList", "e2ap.matchingUeCondList",
18030 FT_UINT32, BASE_DEC, NULL, 0,
18031 "MatchingUeCondPerSubList", HFILL }},
18032 { &hf_e2ap_subscriptionInfo,
18033 { "subscriptionInfo", "e2ap.subscriptionInfo_element",
18034 FT_NONE, BASE_NONE, NULL, 0,
18035 "E2SM_KPM_ActionDefinition_Format1", HFILL }},
18036 { &hf_e2ap_matchingUEidList_01,
18037 { "matchingUEidList", "e2ap.matchingUEidList",
18038 FT_UINT32, BASE_DEC, NULL, 0,
18039 "MatchingUEidPerSubList", HFILL }},
18040 { &hf_e2ap_indicationHeader_formats,
18041 { "indicationHeader-formats", "e2ap.indicationHeader_formats",
18042 FT_UINT32, BASE_DEC, VALS(e2ap_T_indicationHeader_formats_vals), 0,
18043 NULL, HFILL }},
18044 { &hf_e2ap_indicationHeader_Format1_01,
18045 { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
18046 FT_NONE, BASE_NONE, NULL, 0,
18047 "E2SM_KPM_IndicationHeader_Format1", HFILL }},
18048 { &hf_e2ap_colletStartTime,
18049 { "colletStartTime", "e2ap.colletStartTime",
18050 FT_BYTES, BASE_NONE, NULL, 0,
18051 NULL, HFILL }},
18052 { &hf_e2ap_fileFormatversion,
18053 { "fileFormatversion", "e2ap.fileFormatversion",
18054 FT_STRING, BASE_NONE, NULL, 0,
18055 "PrintableString_SIZE_0_15_", HFILL }},
18056 { &hf_e2ap_senderName,
18057 { "senderName", "e2ap.senderName",
18058 FT_STRING, BASE_NONE, NULL, 0,
18059 "PrintableString_SIZE_0_400_", HFILL }},
18060 { &hf_e2ap_senderType,
18061 { "senderType", "e2ap.senderType",
18062 FT_STRING, BASE_NONE, NULL, 0,
18063 "PrintableString_SIZE_0_8_", HFILL }},
18064 { &hf_e2ap_vendorName,
18065 { "vendorName", "e2ap.vendorName",
18066 FT_STRING, BASE_NONE, NULL, 0,
18067 "PrintableString_SIZE_0_32_", HFILL }},
18068 { &hf_e2ap_indicationMessage_formats,
18069 { "indicationMessage-formats", "e2ap.indicationMessage_formats",
18070 FT_UINT32, BASE_DEC, VALS(e2ap_T_indicationMessage_formats_vals), 0,
18071 NULL, HFILL }},
18072 { &hf_e2ap_indicationMessage_Format1_01,
18073 { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
18074 FT_NONE, BASE_NONE, NULL, 0,
18075 "E2SM_KPM_IndicationMessage_Format1", HFILL }},
18076 { &hf_e2ap_indicationMessage_Format2_01,
18077 { "indicationMessage-Format2", "e2ap.indicationMessage_Format2_element",
18078 FT_NONE, BASE_NONE, NULL, 0,
18079 "E2SM_KPM_IndicationMessage_Format2", HFILL }},
18080 { &hf_e2ap_indicationMessage_Format3_01,
18081 { "indicationMessage-Format3", "e2ap.indicationMessage_Format3_element",
18082 FT_NONE, BASE_NONE, NULL, 0,
18083 "E2SM_KPM_IndicationMessage_Format3", HFILL }},
18084 { &hf_e2ap_measData,
18085 { "measData", "e2ap.measData",
18086 FT_UINT32, BASE_DEC, NULL, 0,
18087 "MeasurementData", HFILL }},
18088 { &hf_e2ap_measCondUEidList,
18089 { "measCondUEidList", "e2ap.measCondUEidList",
18090 FT_UINT32, BASE_DEC, NULL, 0,
18091 "MeasurementCondUEidList", HFILL }},
18092 { &hf_e2ap_ueMeasReportList,
18093 { "ueMeasReportList", "e2ap.ueMeasReportList",
18094 FT_UINT32, BASE_DEC, NULL, 0,
18095 "UEMeasurementReportList", HFILL }},
18096 { &hf_e2ap_ric_EventTriggerStyle_List_01,
18097 { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
18098 FT_UINT32, BASE_DEC, NULL, 0,
18099 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item", HFILL }},
18100 { &hf_e2ap_ric_EventTriggerStyle_List_item_01,
18101 { "RIC-EventTriggerStyle-Item", "e2ap.RIC_EventTriggerStyle_Item_element",
18102 FT_NONE, BASE_NONE, NULL, 0,
18103 NULL, HFILL }},
18104 { &hf_e2ap_ric_ReportStyle_List_01,
18105 { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
18106 FT_UINT32, BASE_DEC, NULL, 0,
18107 "SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item", HFILL }},
18108 { &hf_e2ap_ric_ReportStyle_List_item_01,
18109 { "RIC-ReportStyle-Item", "e2ap.RIC_ReportStyle_Item_element",
18110 FT_NONE, BASE_NONE, NULL, 0,
18111 NULL, HFILL }},
18112 { &hf_e2ap_ric_ActionFormat_Type,
18113 { "ric-ActionFormat-Type", "e2ap.ric_ActionFormat_Type",
18114 FT_INT32, BASE_DEC, NULL, 0,
18115 "RIC_Format_Type", HFILL }},
18116 { &hf_e2ap_measInfo_Action_List,
18117 { "measInfo-Action-List", "e2ap.measInfo_Action_List",
18118 FT_UINT32, BASE_DEC, NULL, 0,
18119 "MeasurementInfo_Action_List", HFILL }},
18120 { &hf_e2ap_eventDefinition_Format1_01,
18121 { "eventDefinition-Format1", "e2ap.eventDefinition_Format1_element",
18122 FT_NONE, BASE_NONE, NULL, 0,
18123 "E2SM_NI_EventTriggerDefinition_Format1", HFILL }},
18124 { &hf_e2ap_interface_type,
18125 { "interface-type", "e2ap.interface_type",
18126 FT_UINT32, BASE_DEC, VALS(e2ap_NI_Type_vals), 0,
18127 "NI_Type", HFILL }},
18128 { &hf_e2ap_interface_ID,
18129 { "interface-ID", "e2ap.interface_ID",
18130 FT_UINT32, BASE_DEC, VALS(e2ap_NI_Identifier_vals), 0,
18131 "NI_Identifier", HFILL }},
18132 { &hf_e2ap_interfaceDirection,
18133 { "interfaceDirection", "e2ap.interfaceDirection",
18134 FT_UINT32, BASE_DEC, VALS(e2ap_NI_Direction_vals), 0,
18135 "NI_Direction", HFILL }},
18136 { &hf_e2ap_interfaceMessageType,
18137 { "interfaceMessageType", "e2ap.interfaceMessageType",
18138 FT_UINT32, BASE_DEC, VALS(e2ap_NI_MessageType_vals), 0,
18139 "NI_MessageType", HFILL }},
18140 { &hf_e2ap_interfaceProtocolIE_List,
18141 { "interfaceProtocolIE-List", "e2ap.interfaceProtocolIE_List",
18142 FT_UINT32, BASE_DEC, NULL, 0,
18143 "SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item", HFILL }},
18144 { &hf_e2ap_interfaceProtocolIE_List_item,
18145 { "NI-ProtocolIE-Item", "e2ap.NI_ProtocolIE_Item_element",
18146 FT_NONE, BASE_NONE, NULL, 0,
18147 NULL, HFILL }},
18148 { &hf_e2ap_action_Definition_Format,
18149 { "action-Definition-Format", "e2ap.action_Definition_Format",
18150 FT_UINT32, BASE_DEC, VALS(e2ap_E2SM_NI_ActionDefinitionFormat_vals), 0,
18151 "E2SM_NI_ActionDefinitionFormat", HFILL }},
18152 { &hf_e2ap_actionDefinition_Format1_02,
18153 { "actionDefinition-Format1", "e2ap.actionDefinition_Format1_element",
18154 FT_NONE, BASE_NONE, NULL, 0,
18155 "E2SM_NI_ActionDefinition_Format1", HFILL }},
18156 { &hf_e2ap_actionDefinition_Format2_02,
18157 { "actionDefinition-Format2", "e2ap.actionDefinition_Format2_element",
18158 FT_NONE, BASE_NONE, NULL, 0,
18159 "E2SM_NI_ActionDefinition_Format2", HFILL }},
18160 { &hf_e2ap_actionParameter_List,
18161 { "actionParameter-List", "e2ap.actionParameter_List",
18162 FT_UINT32, BASE_DEC, NULL, 0,
18163 "SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item", HFILL }},
18164 { &hf_e2ap_actionParameter_List_item,
18165 { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18166 FT_NONE, BASE_NONE, NULL, 0,
18167 NULL, HFILL }},
18168 { &hf_e2ap_ranUEgroup_List,
18169 { "ranUEgroup-List", "e2ap.ranUEgroup_List",
18170 FT_UINT32, BASE_DEC, NULL, 0,
18171 "SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item", HFILL }},
18172 { &hf_e2ap_ranUEgroup_List_item,
18173 { "RANueGroup-Item", "e2ap.RANueGroup_Item_element",
18174 FT_NONE, BASE_NONE, NULL, 0,
18175 NULL, HFILL }},
18176 { &hf_e2ap_indicationHeader_Format1_02,
18177 { "indicationHeader-Format1", "e2ap.indicationHeader_Format1_element",
18178 FT_NONE, BASE_NONE, NULL, 0,
18179 "E2SM_NI_IndicationHeader_Format1", HFILL }},
18180 { &hf_e2ap_timestamp,
18181 { "timestamp", "e2ap.timestamp",
18182 FT_BYTES, BASE_NONE, NULL, 0,
18183 "NI_TimeStamp", HFILL }},
18184 { &hf_e2ap_indicationMessage_Format1_02,
18185 { "indicationMessage-Format1", "e2ap.indicationMessage_Format1_element",
18186 FT_NONE, BASE_NONE, NULL, 0,
18187 "E2SM_NI_IndicationMessage_Format1", HFILL }},
18188 { &hf_e2ap_interfaceMessage,
18189 { "interfaceMessage", "e2ap.interfaceMessage",
18190 FT_BYTES, BASE_NONE, NULL, 0,
18191 "NI_Message", HFILL }},
18192 { &hf_e2ap_callProcessID_Format1_01,
18193 { "callProcessID-Format1", "e2ap.callProcessID_Format1_element",
18194 FT_NONE, BASE_NONE, NULL, 0,
18195 "E2SM_NI_CallProcessID_Format1", HFILL }},
18196 { &hf_e2ap_callProcessID_Format2,
18197 { "callProcessID-Format2", "e2ap.callProcessID_Format2_element",
18198 FT_NONE, BASE_NONE, NULL, 0,
18199 "E2SM_NI_CallProcessID_Format2", HFILL }},
18200 { &hf_e2ap_callProcess_ID,
18201 { "callProcess-ID", "e2ap.callProcess_ID",
18202 FT_INT32, BASE_DEC, NULL, 0,
18203 "RANcallProcess_ID_number", HFILL }},
18204 { &hf_e2ap_callProcess_ID_01,
18205 { "callProcess-ID", "e2ap.callProcess_ID",
18206 FT_STRING, BASE_NONE, NULL, 0,
18207 "RANcallProcess_ID_string", HFILL }},
18208 { &hf_e2ap_controlHeader_Format1_01,
18209 { "controlHeader-Format1", "e2ap.controlHeader_Format1_element",
18210 FT_NONE, BASE_NONE, NULL, 0,
18211 "E2SM_NI_ControlHeader_Format1", HFILL }},
18212 { &hf_e2ap_interface_Direction,
18213 { "interface-Direction", "e2ap.interface_Direction",
18214 FT_UINT32, BASE_DEC, VALS(e2ap_NI_Direction_vals), 0,
18215 "NI_Direction", HFILL }},
18216 { &hf_e2ap_ric_Control_Message_Priority,
18217 { "ric-Control-Message-Priority", "e2ap.ric_Control_Message_Priority",
18218 FT_INT32, BASE_DEC, NULL, 0,
18219 NULL, HFILL }},
18220 { &hf_e2ap_controlMessage_Format1_01,
18221 { "controlMessage-Format1", "e2ap.controlMessage_Format1_element",
18222 FT_NONE, BASE_NONE, NULL, 0,
18223 "E2SM_NI_ControlMessage_Format1", HFILL }},
18224 { &hf_e2ap_controlOutcome_Format1_01,
18225 { "controlOutcome-Format1", "e2ap.controlOutcome_Format1_element",
18226 FT_NONE, BASE_NONE, NULL, 0,
18227 "E2SM_NI_ControlOutcome_Format1", HFILL }},
18228 { &hf_e2ap_outcomeElement_List,
18229 { "outcomeElement-List", "e2ap.outcomeElement_List",
18230 FT_UINT32, BASE_DEC, NULL, 0,
18231 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item", HFILL }},
18232 { &hf_e2ap_outcomeElement_List_item,
18233 { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18234 FT_NONE, BASE_NONE, NULL, 0,
18235 NULL, HFILL }},
18236 { &hf_e2ap_ni_Type_List,
18237 { "ni-Type-List", "e2ap.ni_Type_List",
18238 FT_UINT32, BASE_DEC, NULL, 0,
18239 "SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item", HFILL }},
18240 { &hf_e2ap_ni_Type_List_item,
18241 { "E2SM-NI-RANfunction-Item", "e2ap.E2SM_NI_RANfunction_Item_element",
18242 FT_NONE, BASE_NONE, NULL, 0,
18243 NULL, HFILL }},
18244 { &hf_e2ap_ric_EventTriggerStyle_List_02,
18245 { "ric-EventTriggerStyle-List", "e2ap.ric_EventTriggerStyle_List",
18246 FT_UINT32, BASE_DEC, NULL, 0,
18247 "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List", HFILL }},
18248 { &hf_e2ap_ric_EventTriggerStyle_List_item_02,
18249 { "RIC-EventTriggerStyle-List", "e2ap.RIC_EventTriggerStyle_List_element",
18250 FT_NONE, BASE_NONE, NULL, 0,
18251 NULL, HFILL }},
18252 { &hf_e2ap_ric_ReportStyle_List_02,
18253 { "ric-ReportStyle-List", "e2ap.ric_ReportStyle_List",
18254 FT_UINT32, BASE_DEC, NULL, 0,
18255 "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List", HFILL }},
18256 { &hf_e2ap_ric_ReportStyle_List_item_02,
18257 { "RIC-ReportStyle-List", "e2ap.RIC_ReportStyle_List_element",
18258 FT_NONE, BASE_NONE, NULL, 0,
18259 NULL, HFILL }},
18260 { &hf_e2ap_ric_InsertStyle_List_03,
18261 { "ric-InsertStyle-List", "e2ap.ric_InsertStyle_List",
18262 FT_UINT32, BASE_DEC, NULL, 0,
18263 "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List", HFILL }},
18264 { &hf_e2ap_ric_InsertStyle_List_item_03,
18265 { "RIC-InsertStyle-List", "e2ap.RIC_InsertStyle_List_element",
18266 FT_NONE, BASE_NONE, NULL, 0,
18267 NULL, HFILL }},
18268 { &hf_e2ap_ric_ControlStyle_List_03,
18269 { "ric-ControlStyle-List", "e2ap.ric_ControlStyle_List",
18270 FT_UINT32, BASE_DEC, NULL, 0,
18271 "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List", HFILL }},
18272 { &hf_e2ap_ric_ControlStyle_List_item_03,
18273 { "RIC-ControlStyle-List", "e2ap.RIC_ControlStyle_List_element",
18274 FT_NONE, BASE_NONE, NULL, 0,
18275 NULL, HFILL }},
18276 { &hf_e2ap_ric_PolicyStyle_List_01,
18277 { "ric-PolicyStyle-List", "e2ap.ric_PolicyStyle_List",
18278 FT_UINT32, BASE_DEC, NULL, 0,
18279 "SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List", HFILL }},
18280 { &hf_e2ap_ric_PolicyStyle_List_item_01,
18281 { "RIC-PolicyStyle-List", "e2ap.RIC_PolicyStyle_List_element",
18282 FT_NONE, BASE_NONE, NULL, 0,
18283 NULL, HFILL }},
18284 { &hf_e2ap_global_ng_RAN_ID,
18285 { "global-ng-RAN-ID", "e2ap.global_ng_RAN_ID",
18286 FT_UINT32, BASE_DEC, VALS(e2ap_GlobalNG_RANNode_ID_vals), 0,
18287 NULL, HFILL }},
18288 { &hf_e2ap_global_eNB_ID_01,
18289 { "global-eNB-ID", "e2ap.global_eNB_ID_element",
18290 FT_NONE, BASE_NONE, NULL, 0,
18291 NULL, HFILL }},
18292 { &hf_e2ap_global_en_gNB_ID_01,
18293 { "global-en-gNB-ID", "e2ap.global_en_gNB_ID_element",
18294 FT_NONE, BASE_NONE, NULL, 0,
18295 NULL, HFILL }},
18296 { &hf_e2ap_global_gNB_DU_ID,
18297 { "global-gNB-DU-ID", "e2ap.global_gNB_DU_ID_element",
18298 FT_NONE, BASE_NONE, NULL, 0,
18299 NULL, HFILL }},
18300 { &hf_e2ap_global_gNB_CU_UP_ID,
18301 { "global-gNB-CU-UP-ID", "e2ap.global_gNB_CU_UP_ID_element",
18302 FT_NONE, BASE_NONE, NULL, 0,
18303 NULL, HFILL }},
18304 { &hf_e2ap_s1MessageType,
18305 { "s1MessageType", "e2ap.s1MessageType_element",
18306 FT_NONE, BASE_NONE, NULL, 0,
18307 "NI_MessageTypeS1", HFILL }},
18308 { &hf_e2ap_x2MessageType,
18309 { "x2MessageType", "e2ap.x2MessageType_element",
18310 FT_NONE, BASE_NONE, NULL, 0,
18311 "NI_MessageTypeX2", HFILL }},
18312 { &hf_e2ap_ngMessageType,
18313 { "ngMessageType", "e2ap.ngMessageType_element",
18314 FT_NONE, BASE_NONE, NULL, 0,
18315 "NI_MessageTypeNG", HFILL }},
18316 { &hf_e2ap_xnMessageType,
18317 { "xnMessageType", "e2ap.xnMessageType_element",
18318 FT_NONE, BASE_NONE, NULL, 0,
18319 "NI_MessageTypeXn", HFILL }},
18320 { &hf_e2ap_f1MessageType,
18321 { "f1MessageType", "e2ap.f1MessageType_element",
18322 FT_NONE, BASE_NONE, NULL, 0,
18323 "NI_MessageTypeF1", HFILL }},
18324 { &hf_e2ap_e1MessageType,
18325 { "e1MessageType", "e2ap.e1MessageType_element",
18326 FT_NONE, BASE_NONE, NULL, 0,
18327 "NI_MessageTypeE1", HFILL }},
18328 { &hf_e2ap_typeOfMessage,
18329 { "typeOfMessage", "e2ap.typeOfMessage",
18330 FT_UINT32, BASE_DEC, VALS(e2ap_TypeOfMessage_vals), 0,
18331 NULL, HFILL }},
18332 { &hf_e2ap_interfaceProtocolIE_ID,
18333 { "interfaceProtocolIE-ID", "e2ap.interfaceProtocolIE_ID",
18334 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &e2ap_ProtocolIE_ID_vals_ext, 0,
18335 "NI_ProtocolIE_ID", HFILL }},
18336 { &hf_e2ap_interfaceProtocolIE_Test,
18337 { "interfaceProtocolIE-Test", "e2ap.interfaceProtocolIE_Test",
18338 FT_UINT32, BASE_DEC, VALS(e2ap_NI_ProtocolIE_Test_vals), 0,
18339 "NI_ProtocolIE_Test", HFILL }},
18340 { &hf_e2ap_interfaceProtocolIE_Value,
18341 { "interfaceProtocolIE-Value", "e2ap.interfaceProtocolIE_Value",
18342 FT_UINT32, BASE_DEC, VALS(e2ap_NI_ProtocolIE_Value_vals), 0,
18343 "NI_ProtocolIE_Value", HFILL }},
18344 { &hf_e2ap_ranImperativePolicy_List,
18345 { "ranImperativePolicy-List", "e2ap.ranImperativePolicy_List",
18346 FT_UINT32, BASE_DEC, NULL, 0,
18347 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item", HFILL }},
18348 { &hf_e2ap_ranImperativePolicy_List_item,
18349 { "RANparameter-Item", "e2ap.RANparameter_Item_element",
18350 FT_NONE, BASE_NONE, NULL, 0,
18351 NULL, HFILL }},
18352 { &hf_e2ap_ranParameter_ID_01,
18353 { "ranParameter-ID", "e2ap.ranParameter_ID",
18354 FT_UINT32, BASE_DEC, NULL, 0,
18355 NULL, HFILL }},
18356 { &hf_e2ap_ranParameter_Value_01,
18357 { "ranParameter-Value", "e2ap.ranParameter_Value",
18358 FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Value_vals), 0,
18359 NULL, HFILL }},
18360 { &hf_e2ap_ranParameter_Name,
18361 { "ranParameter-Name", "e2ap.ranParameter_Name",
18362 FT_STRING, BASE_NONE, NULL, 0,
18363 NULL, HFILL }},
18364 { &hf_e2ap_ranParameter_Type_01,
18365 { "ranParameter-Type", "e2ap.ranParameter_Type",
18366 FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Type_vals), 0,
18367 NULL, HFILL }},
18368 { &hf_e2ap_ranUEgroupID,
18369 { "ranUEgroupID", "e2ap.ranUEgroupID",
18370 FT_UINT32, BASE_DEC, NULL, 0,
18371 NULL, HFILL }},
18372 { &hf_e2ap_ranUEgroupDefinition,
18373 { "ranUEgroupDefinition", "e2ap.ranUEgroupDefinition_element",
18374 FT_NONE, BASE_NONE, NULL, 0,
18375 NULL, HFILL }},
18376 { &hf_e2ap_ranPolicy,
18377 { "ranPolicy", "e2ap.ranPolicy_element",
18378 FT_NONE, BASE_NONE, NULL, 0,
18379 "RANimperativePolicy", HFILL }},
18380 { &hf_e2ap_ranUEgroupDef_List,
18381 { "ranUEgroupDef-List", "e2ap.ranUEgroupDef_List",
18382 FT_UINT32, BASE_DEC, NULL, 0,
18383 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item", HFILL }},
18384 { &hf_e2ap_ranUEgroupDef_List_item,
18385 { "RANueGroupDef-Item", "e2ap.RANueGroupDef_Item_element",
18386 FT_NONE, BASE_NONE, NULL, 0,
18387 NULL, HFILL }},
18388 { &hf_e2ap_ranParameter_Test,
18389 { "ranParameter-Test", "e2ap.ranParameter_Test",
18390 FT_UINT32, BASE_DEC, VALS(e2ap_RANparameter_Test_Condition_vals), 0,
18391 "RANparameter_Test_Condition", HFILL }},
18392 { &hf_e2ap_ric_ControlFormat_Type,
18393 { "ric-ControlFormat-Type", "e2ap.ric_ControlFormat_Type",
18394 FT_INT32, BASE_DEC, NULL, 0,
18395 "RIC_Format_Type", HFILL }},
18396 { &hf_e2ap_ric_ControlOutcomeRanParaDef_List,
18397 { "ric-ControlOutcomeRanParaDef-List", "e2ap.ric_ControlOutcomeRanParaDef_List",
18398 FT_UINT32, BASE_DEC, NULL, 0,
18399 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18400 { &hf_e2ap_ric_ControlOutcomeRanParaDef_List_item,
18401 { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18402 FT_NONE, BASE_NONE, NULL, 0,
18403 NULL, HFILL }},
18404 { &hf_e2ap_ric_InsertActionFormat_Type,
18405 { "ric-InsertActionFormat-Type", "e2ap.ric_InsertActionFormat_Type",
18406 FT_INT32, BASE_DEC, NULL, 0,
18407 "RIC_Format_Type", HFILL }},
18408 { &hf_e2ap_ric_InsertRanParameterDef_List,
18409 { "ric-InsertRanParameterDef-List", "e2ap.ric_InsertRanParameterDef_List",
18410 FT_UINT32, BASE_DEC, NULL, 0,
18411 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18412 { &hf_e2ap_ric_InsertRanParameterDef_List_item,
18413 { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18414 FT_NONE, BASE_NONE, NULL, 0,
18415 NULL, HFILL }},
18416 { &hf_e2ap_ric_PolicyActionFormat_Type,
18417 { "ric-PolicyActionFormat-Type", "e2ap.ric_PolicyActionFormat_Type",
18418 FT_INT32, BASE_DEC, NULL, 0,
18419 "RIC_Format_Type", HFILL }},
18420 { &hf_e2ap_ric_PolicyRanParameterDef_List,
18421 { "ric-PolicyRanParameterDef-List", "e2ap.ric_PolicyRanParameterDef_List",
18422 FT_UINT32, BASE_DEC, NULL, 0,
18423 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18424 { &hf_e2ap_ric_PolicyRanParameterDef_List_item,
18425 { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18426 FT_NONE, BASE_NONE, NULL, 0,
18427 NULL, HFILL }},
18428 { &hf_e2ap_ric_ReportRanParameterDef_List,
18429 { "ric-ReportRanParameterDef-List", "e2ap.ric_ReportRanParameterDef_List",
18430 FT_UINT32, BASE_DEC, NULL, 0,
18431 "SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item", HFILL }},
18432 { &hf_e2ap_ric_ReportRanParameterDef_List_item,
18433 { "RANparameterDef-Item", "e2ap.RANparameterDef_Item_element",
18434 FT_NONE, BASE_NONE, NULL, 0,
18435 NULL, HFILL }},
18436 { &hf_e2ap_unmapped_ran_function_id,
18437 { "Unmapped RANfunctionID", "e2ap.unmapped-ran-function-id",
18438 FT_NONE, BASE_NONE, NULL, 0x0,
18439 NULL, HFILL }},
18440 { &hf_e2ap_ran_function_name_not_recognised,
18441 { "RANfunction name not recognised", "e2ap.ran-function-name-not-recognised",
18442 FT_NONE, BASE_NONE, NULL, 0x0,
18443 NULL, HFILL }},
18444 { &hf_e2ap_ran_function_setup_frame,
18445 { "RANfunction setup frame", "e2ap.setup-frame",
18446 FT_FRAMENUM, BASE_NONE, NULL, 0x0,
18447 NULL, HFILL }},
18449 { &hf_e2ap_dissector_version,
18450 { "Version (dissector)", "e2ap.version.dissector",
18451 FT_STRING, BASE_NONE, NULL, 0x0,
18452 NULL, HFILL }},
18453 { &hf_e2ap_frame_version,
18454 { "Version (frame)", "e2ap.version.frame",
18455 FT_STRING, BASE_NONE, NULL, 0x0,
18456 NULL, HFILL }},
18458 { &hf_e2ap_timestamp_string,
18459 { "Timestamp string", "e2ap.timestamp-string",
18460 FT_STRING, BASE_NONE, NULL, 0x0,
18461 NULL, HFILL }},
18464 /* List of subtrees */
18465 static int *ett[] = {
18466 &ett_e2ap,
18467 &ett_e2ap_ProtocolIE_Container,
18468 &ett_e2ap_ProtocolIE_Field,
18469 &ett_e2ap_Cause,
18470 &ett_e2ap_CriticalityDiagnostics,
18471 &ett_e2ap_CriticalityDiagnostics_IE_List,
18472 &ett_e2ap_CriticalityDiagnostics_IE_Item,
18473 &ett_e2ap_E2nodeComponentConfiguration,
18474 &ett_e2ap_E2nodeComponentConfigurationAck,
18475 &ett_e2ap_E2nodeComponentID,
18476 &ett_e2ap_E2nodeComponentInterfaceE1,
18477 &ett_e2ap_E2nodeComponentInterfaceF1,
18478 &ett_e2ap_E2nodeComponentInterfaceNG,
18479 &ett_e2ap_E2nodeComponentInterfaceS1,
18480 &ett_e2ap_E2nodeComponentInterfaceX2,
18481 &ett_e2ap_E2nodeComponentInterfaceXn,
18482 &ett_e2ap_E2nodeComponentInterfaceW1,
18483 &ett_e2ap_ENB_ID,
18484 &ett_e2ap_ENB_ID_Choice,
18485 &ett_e2ap_ENGNB_ID,
18486 &ett_e2ap_GlobalE2node_ID,
18487 &ett_e2ap_GlobalE2node_en_gNB_ID,
18488 &ett_e2ap_GlobalE2node_eNB_ID,
18489 &ett_e2ap_GlobalE2node_gNB_ID,
18490 &ett_e2ap_GlobalE2node_ng_eNB_ID,
18491 &ett_e2ap_GlobalENB_ID,
18492 &ett_e2ap_GlobalenGNB_ID,
18493 &ett_e2ap_GlobalgNB_ID,
18494 &ett_e2ap_GlobalngeNB_ID,
18495 &ett_e2ap_GlobalNG_RANNode_ID,
18496 &ett_e2ap_GlobalRIC_ID,
18497 &ett_e2ap_GNB_ID_Choice,
18498 &ett_e2ap_RICrequestID,
18499 &ett_e2ap_RICsubsequentAction,
18500 &ett_e2ap_TNLinformation,
18501 &ett_e2ap_RICsubscriptionRequest,
18502 &ett_e2ap_RICsubscriptionDetails,
18503 &ett_e2ap_RICactions_ToBeSetup_List,
18504 &ett_e2ap_RICaction_ToBeSetup_Item,
18505 &ett_e2ap_RICsubscriptionResponse,
18506 &ett_e2ap_RICaction_Admitted_List,
18507 &ett_e2ap_RICaction_Admitted_Item,
18508 &ett_e2ap_RICaction_NotAdmitted_List,
18509 &ett_e2ap_RICaction_NotAdmitted_Item,
18510 &ett_e2ap_RICsubscriptionFailure,
18511 &ett_e2ap_RICsubscriptionDeleteRequest,
18512 &ett_e2ap_RICsubscriptionDeleteResponse,
18513 &ett_e2ap_RICsubscriptionDeleteFailure,
18514 &ett_e2ap_RICsubscriptionDeleteRequired,
18515 &ett_e2ap_RICsubscription_List_withCause,
18516 &ett_e2ap_RICsubscription_withCause_Item,
18517 &ett_e2ap_RICsubscriptionModificationRequest,
18518 &ett_e2ap_RICactions_ToBeRemovedForModification_List,
18519 &ett_e2ap_RICaction_ToBeRemovedForModification_Item,
18520 &ett_e2ap_RICactions_ToBeModifiedForModification_List,
18521 &ett_e2ap_RICaction_ToBeModifiedForModification_Item,
18522 &ett_e2ap_RICactions_ToBeAddedForModification_List,
18523 &ett_e2ap_RICaction_ToBeAddedForModification_Item,
18524 &ett_e2ap_RICsubscriptionModificationResponse,
18525 &ett_e2ap_RICactions_RemovedForModification_List,
18526 &ett_e2ap_RICaction_RemovedForModification_Item,
18527 &ett_e2ap_RICactions_FailedToBeRemovedForModification_List,
18528 &ett_e2ap_RICaction_FailedToBeRemovedForModification_Item,
18529 &ett_e2ap_RICactions_ModifiedForModification_List,
18530 &ett_e2ap_RICaction_ModifiedForModification_Item,
18531 &ett_e2ap_RICactions_FailedToBeModifiedForModification_List,
18532 &ett_e2ap_RICaction_FailedToBeModifiedForModification_Item,
18533 &ett_e2ap_RICactions_AddedForModification_List,
18534 &ett_e2ap_RICaction_AddedForModification_Item,
18535 &ett_e2ap_RICactions_FailedToBeAddedForModification_List,
18536 &ett_e2ap_RICaction_FailedToBeAddedForModification_Item,
18537 &ett_e2ap_RICsubscriptionModificationFailure,
18538 &ett_e2ap_RICsubscriptionModificationRequired,
18539 &ett_e2ap_RICactions_RequiredToBeModified_List,
18540 &ett_e2ap_RICaction_RequiredToBeModified_Item,
18541 &ett_e2ap_RICactions_RequiredToBeRemoved_List,
18542 &ett_e2ap_RICaction_RequiredToBeRemoved_Item,
18543 &ett_e2ap_RICsubscriptionModificationConfirm,
18544 &ett_e2ap_RICactions_ConfirmedForModification_List,
18545 &ett_e2ap_RICaction_ConfirmedForModification_Item,
18546 &ett_e2ap_RICactions_RefusedToBeModified_List,
18547 &ett_e2ap_RICaction_RefusedToBeModified_Item,
18548 &ett_e2ap_RICactions_ConfirmedForRemoval_List,
18549 &ett_e2ap_RICaction_ConfirmedForRemoval_Item,
18550 &ett_e2ap_RICactions_RefusedToBeRemoved_List,
18551 &ett_e2ap_RICaction_RefusedToBeRemoved_Item,
18552 &ett_e2ap_RICsubscriptionModificationRefuse,
18553 &ett_e2ap_RICindication,
18554 &ett_e2ap_RICcontrolRequest,
18555 &ett_e2ap_RICcontrolAcknowledge,
18556 &ett_e2ap_RICcontrolFailure,
18557 &ett_e2ap_RICQueryRequest,
18558 &ett_e2ap_RICQueryResponse,
18559 &ett_e2ap_RICQueryFailure,
18560 &ett_e2ap_ErrorIndication,
18561 &ett_e2ap_E2setupRequest,
18562 &ett_e2ap_E2setupResponse,
18563 &ett_e2ap_E2setupFailure,
18564 &ett_e2ap_E2connectionUpdate,
18565 &ett_e2ap_E2connectionUpdate_List,
18566 &ett_e2ap_E2connectionUpdate_Item,
18567 &ett_e2ap_E2connectionUpdateRemove_List,
18568 &ett_e2ap_E2connectionUpdateRemove_Item,
18569 &ett_e2ap_E2connectionUpdateAcknowledge,
18570 &ett_e2ap_E2connectionSetupFailed_List,
18571 &ett_e2ap_E2connectionSetupFailed_Item,
18572 &ett_e2ap_E2connectionUpdateFailure,
18573 &ett_e2ap_E2nodeConfigurationUpdate,
18574 &ett_e2ap_E2nodeComponentConfigAddition_List,
18575 &ett_e2ap_E2nodeComponentConfigAddition_Item,
18576 &ett_e2ap_E2nodeComponentConfigUpdate_List,
18577 &ett_e2ap_E2nodeComponentConfigUpdate_Item,
18578 &ett_e2ap_E2nodeComponentConfigRemoval_List,
18579 &ett_e2ap_E2nodeComponentConfigRemoval_Item,
18580 &ett_e2ap_E2nodeTNLassociationRemoval_List,
18581 &ett_e2ap_E2nodeTNLassociationRemoval_Item,
18582 &ett_e2ap_E2nodeConfigurationUpdateAcknowledge,
18583 &ett_e2ap_E2nodeComponentConfigAdditionAck_List,
18584 &ett_e2ap_E2nodeComponentConfigAdditionAck_Item,
18585 &ett_e2ap_E2nodeComponentConfigUpdateAck_List,
18586 &ett_e2ap_E2nodeComponentConfigUpdateAck_Item,
18587 &ett_e2ap_E2nodeComponentConfigRemovalAck_List,
18588 &ett_e2ap_E2nodeComponentConfigRemovalAck_Item,
18589 &ett_e2ap_E2nodeConfigurationUpdateFailure,
18590 &ett_e2ap_ResetRequest,
18591 &ett_e2ap_ResetResponse,
18592 &ett_e2ap_RICserviceUpdate,
18593 &ett_e2ap_RANfunctions_List,
18594 &ett_e2ap_RANfunction_Item,
18595 &ett_e2ap_RANfunctionsID_List,
18596 &ett_e2ap_RANfunctionID_Item,
18597 &ett_e2ap_RICserviceUpdateAcknowledge,
18598 &ett_e2ap_RANfunctionsIDcause_List,
18599 &ett_e2ap_RANfunctionIDcause_Item,
18600 &ett_e2ap_RICserviceUpdateFailure,
18601 &ett_e2ap_RICserviceQuery,
18602 &ett_e2ap_E2RemovalRequest,
18603 &ett_e2ap_E2RemovalResponse,
18604 &ett_e2ap_E2RemovalFailure,
18605 &ett_e2ap_E2AP_PDU,
18606 &ett_e2ap_InitiatingMessage,
18607 &ett_e2ap_SuccessfulOutcome,
18608 &ett_e2ap_UnsuccessfulOutcome,
18609 &ett_e2ap_CGI,
18610 &ett_e2ap_InterfaceIdentifier,
18611 &ett_e2ap_InterfaceID_NG,
18612 &ett_e2ap_InterfaceID_Xn,
18613 &ett_e2ap_InterfaceID_F1,
18614 &ett_e2ap_InterfaceID_E1,
18615 &ett_e2ap_InterfaceID_S1,
18616 &ett_e2ap_InterfaceID_X2,
18617 &ett_e2ap_T_nodeType,
18618 &ett_e2ap_InterfaceID_W1,
18619 &ett_e2ap_Interface_MessageID,
18620 &ett_e2ap_RANfunction_Name,
18621 &ett_e2ap_RRC_MessageID,
18622 &ett_e2ap_T_rrcType,
18623 &ett_e2ap_ServingCell_ARFCN,
18624 &ett_e2ap_ServingCell_PCI,
18625 &ett_e2ap_UEID,
18626 &ett_e2ap_UEID_GNB,
18627 &ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_List,
18628 &ett_e2ap_UEID_GNB_CU_CP_E1AP_ID_Item,
18629 &ett_e2ap_UEID_GNB_CU_F1AP_ID_List,
18630 &ett_e2ap_UEID_GNB_CU_CP_F1AP_ID_Item,
18631 &ett_e2ap_UEID_GNB_DU,
18632 &ett_e2ap_UEID_GNB_CU_UP,
18633 &ett_e2ap_UEID_NG_ENB,
18634 &ett_e2ap_UEID_NG_ENB_DU,
18635 &ett_e2ap_UEID_EN_GNB,
18636 &ett_e2ap_UEID_ENB,
18637 &ett_e2ap_GUMMEI,
18638 &ett_e2ap_EUTRA_CGI,
18639 &ett_e2ap_GlobalGNB_ID,
18640 &ett_e2ap_GlobalNgENB_ID,
18641 &ett_e2ap_GNB_ID,
18642 &ett_e2ap_GUAMI,
18643 &ett_e2ap_NgENB_ID,
18644 &ett_e2ap_NR_CGI,
18645 &ett_e2ap_S_NSSAI,
18646 &ett_e2ap_GlobalNGRANNodeID,
18647 &ett_e2ap_NR_ARFCN,
18648 &ett_e2ap_NRFrequencyBand_List,
18649 &ett_e2ap_NRFrequencyBandItem,
18650 &ett_e2ap_NRFrequencyInfo,
18651 &ett_e2ap_SupportedSULBandList,
18652 &ett_e2ap_SupportedSULFreqBandItem,
18653 &ett_e2ap_NeighborCell_List,
18654 &ett_e2ap_NeighborCell_Item,
18655 &ett_e2ap_NeighborCell_Item_Choice_NR,
18656 &ett_e2ap_NeighborCell_Item_Choice_E_UTRA,
18657 &ett_e2ap_NeighborRelation_Info,
18658 &ett_e2ap_EventTrigger_Cell_Info,
18659 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellInfo_OF_EventTrigger_Cell_Info_Item,
18660 &ett_e2ap_EventTrigger_Cell_Info_Item,
18661 &ett_e2ap_T_cellType,
18662 &ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Individual,
18663 &ett_e2ap_EventTrigger_Cell_Info_Item_Choice_Group,
18664 &ett_e2ap_EventTrigger_UE_Info,
18665 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfo_OF_EventTrigger_UE_Info_Item,
18666 &ett_e2ap_EventTrigger_UE_Info_Item,
18667 &ett_e2ap_T_ueType,
18668 &ett_e2ap_EventTrigger_UE_Info_Item_Choice_Individual,
18669 &ett_e2ap_EventTrigger_UE_Info_Item_Choice_Group,
18670 &ett_e2ap_EventTrigger_UEevent_Info,
18671 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEeventInfo_OF_EventTrigger_UEevent_Info_Item,
18672 &ett_e2ap_EventTrigger_UEevent_Info_Item,
18673 &ett_e2ap_RANParameter_Definition,
18674 &ett_e2ap_RANParameter_Definition_Choice,
18675 &ett_e2ap_RANParameter_Definition_Choice_LIST,
18676 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_Definition_Choice_LIST_Item,
18677 &ett_e2ap_RANParameter_Definition_Choice_LIST_Item,
18678 &ett_e2ap_RANParameter_Definition_Choice_STRUCTURE,
18679 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_Definition_Choice_STRUCTURE_Item,
18680 &ett_e2ap_RANParameter_Definition_Choice_STRUCTURE_Item,
18681 &ett_e2ap_RANParameter_Value,
18682 &ett_e2ap_RANParameter_ValueType,
18683 &ett_e2ap_RANParameter_ValueType_Choice_ElementTrue,
18684 &ett_e2ap_RANParameter_ValueType_Choice_ElementFalse,
18685 &ett_e2ap_RANParameter_ValueType_Choice_Structure,
18686 &ett_e2ap_RANParameter_ValueType_Choice_List,
18687 &ett_e2ap_RANParameter_STRUCTURE,
18688 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersinStructure_OF_RANParameter_STRUCTURE_Item,
18689 &ett_e2ap_RANParameter_STRUCTURE_Item,
18690 &ett_e2ap_RANParameter_LIST,
18691 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofItemsinList_OF_RANParameter_STRUCTURE,
18692 &ett_e2ap_RANParameter_Testing,
18693 &ett_e2ap_RANParameter_TestingCondition,
18694 &ett_e2ap_RANParameter_Testing_Item,
18695 &ett_e2ap_T_ranParameter_Type,
18696 &ett_e2ap_RANParameter_Testing_Item_Choice_List,
18697 &ett_e2ap_RANParameter_Testing_Item_Choice_Structure,
18698 &ett_e2ap_RANParameter_Testing_Item_Choice_ElementTrue,
18699 &ett_e2ap_RANParameter_Testing_Item_Choice_ElementFalse,
18700 &ett_e2ap_RANParameter_Testing_LIST,
18701 &ett_e2ap_RANParameter_Testing_STRUCTURE,
18702 &ett_e2ap_RIC_PolicyAction,
18703 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_RIC_PolicyAction_RANParameter_Item,
18704 &ett_e2ap_RIC_PolicyAction_RANParameter_Item,
18705 &ett_e2ap_E2SM_RC_EventTrigger,
18706 &ett_e2ap_T_ric_eventTrigger_formats,
18707 &ett_e2ap_E2SM_RC_EventTrigger_Format1,
18708 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMessages_OF_E2SM_RC_EventTrigger_Format1_Item,
18709 &ett_e2ap_E2SM_RC_EventTrigger_Format1_Item,
18710 &ett_e2ap_MessageType_Choice,
18711 &ett_e2ap_MessageType_Choice_NI,
18712 &ett_e2ap_MessageType_Choice_RRC,
18713 &ett_e2ap_E2SM_RC_EventTrigger_Format2,
18714 &ett_e2ap_E2SM_RC_EventTrigger_Format3,
18715 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofE2InfoChanges_OF_E2SM_RC_EventTrigger_Format3_Item,
18716 &ett_e2ap_E2SM_RC_EventTrigger_Format3_Item,
18717 &ett_e2ap_E2SM_RC_EventTrigger_Format4,
18718 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEInfoChanges_OF_E2SM_RC_EventTrigger_Format4_Item,
18719 &ett_e2ap_E2SM_RC_EventTrigger_Format4_Item,
18720 &ett_e2ap_TriggerType_Choice,
18721 &ett_e2ap_TriggerType_Choice_RRCstate,
18722 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRRCstate_OF_TriggerType_Choice_RRCstate_Item,
18723 &ett_e2ap_TriggerType_Choice_RRCstate_Item,
18724 &ett_e2ap_TriggerType_Choice_UEID,
18725 &ett_e2ap_TriggerType_Choice_L2state,
18726 &ett_e2ap_E2SM_RC_EventTrigger_Format5,
18727 &ett_e2ap_E2SM_RC_ActionDefinition,
18728 &ett_e2ap_T_ric_actionDefinition_formats,
18729 &ett_e2ap_E2SM_RC_ActionDefinition_Format1,
18730 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofParametersToReport_OF_E2SM_RC_ActionDefinition_Format1_Item,
18731 &ett_e2ap_E2SM_RC_ActionDefinition_Format1_Item,
18732 &ett_e2ap_E2SM_RC_ActionDefinition_Format2,
18733 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyConditions_OF_E2SM_RC_ActionDefinition_Format2_Item,
18734 &ett_e2ap_E2SM_RC_ActionDefinition_Format2_Item,
18735 &ett_e2ap_E2SM_RC_ActionDefinition_Format3,
18736 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format3_Item,
18737 &ett_e2ap_E2SM_RC_ActionDefinition_Format3_Item,
18738 &ett_e2ap_E2SM_RC_ActionDefinition_Format4,
18739 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ActionDefinition_Format4_Style_Item,
18740 &ett_e2ap_E2SM_RC_ActionDefinition_Format4_Style_Item,
18741 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_ActionDefinition_Format4_Indication_Item,
18742 &ett_e2ap_E2SM_RC_ActionDefinition_Format4_Indication_Item,
18743 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ActionDefinition_Format4_RANP_Item,
18744 &ett_e2ap_E2SM_RC_ActionDefinition_Format4_RANP_Item,
18745 &ett_e2ap_E2SM_RC_IndicationHeader,
18746 &ett_e2ap_T_ric_indicationHeader_formats,
18747 &ett_e2ap_E2SM_RC_IndicationHeader_Format1,
18748 &ett_e2ap_E2SM_RC_IndicationHeader_Format2,
18749 &ett_e2ap_E2SM_RC_IndicationHeader_Format3,
18750 &ett_e2ap_E2SM_RC_IndicationMessage,
18751 &ett_e2ap_T_ric_indicationMessage_formats,
18752 &ett_e2ap_E2SM_RC_IndicationMessage_Format1,
18753 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format1_Item,
18754 &ett_e2ap_E2SM_RC_IndicationMessage_Format1_Item,
18755 &ett_e2ap_E2SM_RC_IndicationMessage_Format2,
18756 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format2_Item,
18757 &ett_e2ap_E2SM_RC_IndicationMessage_Format2_Item,
18758 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
18759 &ett_e2ap_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
18760 &ett_e2ap_E2SM_RC_IndicationMessage_Format3,
18761 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format3_Item,
18762 &ett_e2ap_E2SM_RC_IndicationMessage_Format3_Item,
18763 &ett_e2ap_E2SM_RC_IndicationMessage_Format4,
18764 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofUEID_OF_E2SM_RC_IndicationMessage_Format4_ItemUE,
18765 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofCellID_OF_E2SM_RC_IndicationMessage_Format4_ItemCell,
18766 &ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemUE,
18767 &ett_e2ap_E2SM_RC_IndicationMessage_Format4_ItemCell,
18768 &ett_e2ap_E2SM_RC_IndicationMessage_Format5,
18769 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format5_Item,
18770 &ett_e2ap_E2SM_RC_IndicationMessage_Format5_Item,
18771 &ett_e2ap_E2SM_RC_IndicationMessage_Format6,
18772 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_IndicationMessage_Format6_Style_Item,
18773 &ett_e2ap_E2SM_RC_IndicationMessage_Format6_Style_Item,
18774 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndicationActions_OF_E2SM_RC_IndicationMessage_Format6_Indication_Item,
18775 &ett_e2ap_E2SM_RC_IndicationMessage_Format6_Indication_Item,
18776 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_IndicationMessage_Format6_RANP_Item,
18777 &ett_e2ap_E2SM_RC_IndicationMessage_Format6_RANP_Item,
18778 &ett_e2ap_E2SM_RC_CallProcessID,
18779 &ett_e2ap_T_ric_callProcessID_formats,
18780 &ett_e2ap_E2SM_RC_CallProcessID_Format1,
18781 &ett_e2ap_E2SM_RC_ControlHeader,
18782 &ett_e2ap_T_ric_controlHeader_formats,
18783 &ett_e2ap_E2SM_RC_ControlHeader_Format1,
18784 &ett_e2ap_E2SM_RC_ControlHeader_Format2,
18785 &ett_e2ap_E2SM_RC_ControlMessage,
18786 &ett_e2ap_T_ric_controlMessage_formats,
18787 &ett_e2ap_E2SM_RC_ControlMessage_Format1,
18788 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlMessage_Format1_Item,
18789 &ett_e2ap_E2SM_RC_ControlMessage_Format1_Item,
18790 &ett_e2ap_E2SM_RC_ControlMessage_Format2,
18791 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlMessage_Format2_Style_Item,
18792 &ett_e2ap_E2SM_RC_ControlMessage_Format2_Style_Item,
18793 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlMessage_Format2_ControlAction_Item,
18794 &ett_e2ap_E2SM_RC_ControlMessage_Format2_ControlAction_Item,
18795 &ett_e2ap_E2SM_RC_ControlOutcome,
18796 &ett_e2ap_T_ric_controlOutcome_formats,
18797 &ett_e2ap_E2SM_RC_ControlOutcome_Format1,
18798 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format1_Item,
18799 &ett_e2ap_E2SM_RC_ControlOutcome_Format1_Item,
18800 &ett_e2ap_E2SM_RC_ControlOutcome_Format2,
18801 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_E2SM_RC_ControlOutcome_Format2_Style_Item,
18802 &ett_e2ap_E2SM_RC_ControlOutcome_Format2_Style_Item,
18803 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofMulCtrlActions_OF_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item,
18804 &ett_e2ap_E2SM_RC_ControlOutcome_Format2_ControlOutcome_Item,
18805 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_E2SM_RC_ControlOutcome_Format2_RANP_Item,
18806 &ett_e2ap_E2SM_RC_ControlOutcome_Format2_RANP_Item,
18807 &ett_e2ap_E2SM_RC_ControlOutcome_Format3,
18808 &ett_e2ap_SEQUENCE_SIZE_0_maxnoofRANOutcomeParameters_OF_E2SM_RC_ControlOutcome_Format3_Item,
18809 &ett_e2ap_E2SM_RC_ControlOutcome_Format3_Item,
18810 &ett_e2ap_E2SM_RC_RANFunctionDefinition,
18811 &ett_e2ap_RANFunctionDefinition_EventTrigger,
18812 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_EventTrigger_Style_Item,
18813 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_L2Parameters_RANParameter_Item,
18814 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessTypes_OF_RANFunctionDefinition_EventTrigger_CallProcess_Item,
18815 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_UEIdentification_RANParameter_Item,
18816 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CellIdentification_RANParameter_Item,
18817 &ett_e2ap_RANFunctionDefinition_EventTrigger_Style_Item,
18818 &ett_e2ap_L2Parameters_RANParameter_Item,
18819 &ett_e2ap_UEIdentification_RANParameter_Item,
18820 &ett_e2ap_CellIdentification_RANParameter_Item,
18821 &ett_e2ap_RANFunctionDefinition_EventTrigger_CallProcess_Item,
18822 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofCallProcessBreakpoints_OF_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
18823 &ett_e2ap_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
18824 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_CallProcessBreakpoint_RANParameter_Item,
18825 &ett_e2ap_CallProcessBreakpoint_RANParameter_Item,
18826 &ett_e2ap_RANFunctionDefinition_Report,
18827 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Report_Item,
18828 &ett_e2ap_RANFunctionDefinition_Report_Item,
18829 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_Report_RANParameter_Item,
18830 &ett_e2ap_Report_RANParameter_Item,
18831 &ett_e2ap_RANFunctionDefinition_Insert,
18832 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Insert_Item,
18833 &ett_e2ap_RANFunctionDefinition_Insert_Item,
18834 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofInsertIndication_OF_RANFunctionDefinition_Insert_Indication_Item,
18835 &ett_e2ap_RANFunctionDefinition_Insert_Indication_Item,
18836 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_InsertIndication_RANParameter_Item,
18837 &ett_e2ap_InsertIndication_RANParameter_Item,
18838 &ett_e2ap_RANFunctionDefinition_Control,
18839 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Control_Item,
18840 &ett_e2ap_RANFunctionDefinition_Control_Item,
18841 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofControlAction_OF_RANFunctionDefinition_Control_Action_Item,
18842 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRANOutcomeParameters_OF_ControlOutcome_RANParameter_Item,
18843 &ett_e2ap_ControlOutcome_RANParameter_Item,
18844 &ett_e2ap_RANFunctionDefinition_Control_Action_Item,
18845 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_ControlAction_RANParameter_Item,
18846 &ett_e2ap_ControlAction_RANParameter_Item,
18847 &ett_e2ap_RANFunctionDefinition_Policy,
18848 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RANFunctionDefinition_Policy_Item,
18849 &ett_e2ap_RANFunctionDefinition_Policy_Item,
18850 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofPolicyAction_OF_RANFunctionDefinition_Policy_Action_Item,
18851 &ett_e2ap_RANFunctionDefinition_Policy_Action_Item,
18852 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyAction_RANParameter_Item,
18853 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofAssociatedRANParameters_OF_PolicyCondition_RANParameter_Item,
18854 &ett_e2ap_PolicyAction_RANParameter_Item,
18855 &ett_e2ap_PolicyCondition_RANParameter_Item,
18856 &ett_e2ap_BinRangeValue,
18857 &ett_e2ap_MeasurementType,
18858 &ett_e2ap_MeasurementLabel,
18859 &ett_e2ap_TestCondInfo,
18860 &ett_e2ap_TestCond_Type,
18861 &ett_e2ap_TestCond_Value,
18862 &ett_e2ap_BinRangeDefinition,
18863 &ett_e2ap_BinRangeList,
18864 &ett_e2ap_BinRangeItem,
18865 &ett_e2ap_DistMeasurementBinRangeList,
18866 &ett_e2ap_DistMeasurementBinRangeItem,
18867 &ett_e2ap_MeasurementInfoList,
18868 &ett_e2ap_MeasurementInfoItem,
18869 &ett_e2ap_LabelInfoList,
18870 &ett_e2ap_LabelInfoItem,
18871 &ett_e2ap_MeasurementData,
18872 &ett_e2ap_MeasurementDataItem,
18873 &ett_e2ap_MeasurementRecord,
18874 &ett_e2ap_MeasurementRecordItem,
18875 &ett_e2ap_MeasurementInfo_Action_List,
18876 &ett_e2ap_MeasurementInfo_Action_Item,
18877 &ett_e2ap_MeasurementCondList,
18878 &ett_e2ap_MeasurementCondItem,
18879 &ett_e2ap_MeasurementCondUEidList,
18880 &ett_e2ap_MeasurementCondUEidItem,
18881 &ett_e2ap_MatchingCondList,
18882 &ett_e2ap_MatchingCondItem,
18883 &ett_e2ap_MatchingCondItem_Choice,
18884 &ett_e2ap_MatchingUEidList,
18885 &ett_e2ap_MatchingUEidItem,
18886 &ett_e2ap_MatchingUEidPerGP,
18887 &ett_e2ap_MatchingUEidPerGP_Item,
18888 &ett_e2ap_T_matchedPerGP,
18889 &ett_e2ap_MatchingUEidList_PerGP,
18890 &ett_e2ap_MatchingUEidItem_PerGP,
18891 &ett_e2ap_MatchingUeCondPerSubList,
18892 &ett_e2ap_MatchingUeCondPerSubItem,
18893 &ett_e2ap_MatchingUEidPerSubList,
18894 &ett_e2ap_MatchingUEidPerSubItem,
18895 &ett_e2ap_UEMeasurementReportList,
18896 &ett_e2ap_UEMeasurementReportItem,
18897 &ett_e2ap_E2SM_KPM_EventTriggerDefinition,
18898 &ett_e2ap_T_eventDefinition_formats,
18899 &ett_e2ap_E2SM_KPM_EventTriggerDefinition_Format1,
18900 &ett_e2ap_E2SM_KPM_ActionDefinition,
18901 &ett_e2ap_T_actionDefinition_formats,
18902 &ett_e2ap_E2SM_KPM_ActionDefinition_Format1,
18903 &ett_e2ap_E2SM_KPM_ActionDefinition_Format2,
18904 &ett_e2ap_E2SM_KPM_ActionDefinition_Format3,
18905 &ett_e2ap_E2SM_KPM_ActionDefinition_Format4,
18906 &ett_e2ap_E2SM_KPM_ActionDefinition_Format5,
18907 &ett_e2ap_E2SM_KPM_IndicationHeader,
18908 &ett_e2ap_T_indicationHeader_formats,
18909 &ett_e2ap_E2SM_KPM_IndicationHeader_Format1,
18910 &ett_e2ap_E2SM_KPM_IndicationMessage,
18911 &ett_e2ap_T_indicationMessage_formats,
18912 &ett_e2ap_E2SM_KPM_IndicationMessage_Format1,
18913 &ett_e2ap_E2SM_KPM_IndicationMessage_Format2,
18914 &ett_e2ap_E2SM_KPM_IndicationMessage_Format3,
18915 &ett_e2ap_E2SM_KPM_RANfunction_Description,
18916 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_EventTriggerStyle_Item,
18917 &ett_e2ap_SEQUENCE_SIZE_1_maxnoofRICStyles_OF_RIC_ReportStyle_Item,
18918 &ett_e2ap_RIC_EventTriggerStyle_Item,
18919 &ett_e2ap_RIC_ReportStyle_Item,
18920 &ett_e2ap_E2SM_NI_EventTriggerDefinition,
18921 &ett_e2ap_E2SM_NI_EventTriggerDefinition_Format1,
18922 &ett_e2ap_SEQUENCE_SIZE_1_maxofInterfaceProtocolTests_OF_NI_ProtocolIE_Item,
18923 &ett_e2ap_E2SM_NI_ActionDefinition,
18924 &ett_e2ap_E2SM_NI_ActionDefinitionFormat,
18925 &ett_e2ap_E2SM_NI_ActionDefinition_Format1,
18926 &ett_e2ap_SEQUENCE_SIZE_1_maxofActionParameters_OF_RANparameter_Item,
18927 &ett_e2ap_E2SM_NI_ActionDefinition_Format2,
18928 &ett_e2ap_SEQUENCE_SIZE_1_maxofRANueGroups_OF_RANueGroup_Item,
18929 &ett_e2ap_E2SM_NI_IndicationHeader,
18930 &ett_e2ap_E2SM_NI_IndicationHeader_Format1,
18931 &ett_e2ap_E2SM_NI_IndicationMessage,
18932 &ett_e2ap_E2SM_NI_IndicationMessage_Format1,
18933 &ett_e2ap_E2SM_NI_CallProcessID,
18934 &ett_e2ap_E2SM_NI_CallProcessID_Format1,
18935 &ett_e2ap_E2SM_NI_CallProcessID_Format2,
18936 &ett_e2ap_E2SM_NI_ControlHeader,
18937 &ett_e2ap_E2SM_NI_ControlHeader_Format1,
18938 &ett_e2ap_E2SM_NI_ControlMessage,
18939 &ett_e2ap_E2SM_NI_ControlMessage_Format1,
18940 &ett_e2ap_E2SM_NI_ControlOutcome,
18941 &ett_e2ap_E2SM_NI_ControlOutcome_Format1,
18942 &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameter_Item,
18943 &ett_e2ap_E2SM_NI_RANfunction_Description,
18944 &ett_e2ap_SEQUENCE_SIZE_1_maxofNItypes_OF_E2SM_NI_RANfunction_Item,
18945 &ett_e2ap_E2SM_NI_RANfunction_Item,
18946 &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_EventTriggerStyle_List,
18947 &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ReportStyle_List,
18948 &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_InsertStyle_List,
18949 &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_ControlStyle_List,
18950 &ett_e2ap_SEQUENCE_SIZE_1_maxofRICstyles_OF_RIC_PolicyStyle_List,
18951 &ett_e2ap_Global_gNB_DU_ID,
18952 &ett_e2ap_Global_gNB_CU_UP_ID,
18953 &ett_e2ap_NI_Identifier,
18954 &ett_e2ap_NI_MessageType,
18955 &ett_e2ap_NI_MessageTypeApproach1,
18956 &ett_e2ap_NI_ProtocolIE_Item,
18957 &ett_e2ap_NI_ProtocolIE_Value,
18958 &ett_e2ap_RANimperativePolicy,
18959 &ett_e2ap_RANparameter_Item,
18960 &ett_e2ap_RANparameterDef_Item,
18961 &ett_e2ap_RANparameter_Value,
18962 &ett_e2ap_RANueGroup_Item,
18963 &ett_e2ap_RANueGroupDefinition,
18964 &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANueGroupDef_Item,
18965 &ett_e2ap_RANueGroupDef_Item,
18966 &ett_e2ap_RIC_ControlStyle_List,
18967 &ett_e2ap_SEQUENCE_SIZE_1_maxofRANparameters_OF_RANparameterDef_Item,
18968 &ett_e2ap_RIC_EventTriggerStyle_List,
18969 &ett_e2ap_RIC_InsertStyle_List,
18970 &ett_e2ap_RIC_PolicyStyle_List,
18971 &ett_e2ap_RIC_ReportStyle_List,
18974 static ei_register_info ei[] = {
18975 { &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 }},
18976 { &ei_e2ap_ran_function_id_not_mapped, { "e2ap.ran-function-id-not-known", PI_PROTOCOL, PI_WARN, "Service Model not known for RANFunctionID", EXPFILL }},
18977 { &ei_e2ap_ran_function_dissector_mismatch, { "e2ap.ran-function-dissector-version-mismatch", PI_PROTOCOL, PI_WARN, "Available dissector does not match signalled", EXPFILL }},
18978 { &ei_e2ap_ran_function_max_dissectors_registered, { "e2ap.ran-function-max-dissectors-registered", PI_PROTOCOL, PI_WARN, "Max dissectors already registered in table", EXPFILL }},
18982 expert_module_t* expert_e2ap;
18984 /* Register protocol */
18985 proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
18986 /* Register fields and subtrees */
18987 proto_register_field_array(proto_e2ap, hf, array_length(hf));
18988 proto_register_subtree_array(ett, array_length(ett));
18991 /* Register dissector */
18992 e2ap_handle = register_dissector("e2ap", dissect_e2ap, proto_e2ap);
18994 module_t *e2ap_module;
18995 expert_e2ap = expert_register_protocol(proto_e2ap);
18996 expert_register_field_array(expert_e2ap, ei, array_length(ei));
18998 /* Register dissector tables */
18999 e2ap_ies_dissector_table = register_dissector_table("e2ap.ies", "E2AP-PROTOCOL-IES", proto_e2ap, FT_UINT32, BASE_DEC);
19001 // e2ap_ies_p1_dissector_table = register_dissector_table("e2ap.ies.pair.first", "E2AP-PROTOCOL-IES-PAIR FirstValue", proto_e2ap, FT_UINT32, BASE_DEC);
19002 // e2ap_ies_p2_dissector_table = register_dissector_table("e2ap.ies.pair.second", "E2AP-PROTOCOL-IES-PAIR SecondValue", proto_e2ap, FT_UINT32, BASE_DEC);
19003 e2ap_extension_dissector_table = register_dissector_table("e2ap.extension", "E2AP-PROTOCOL-EXTENSION", proto_e2ap, FT_UINT32, BASE_DEC);
19004 e2ap_proc_imsg_dissector_table = register_dissector_table("e2ap.proc.imsg", "E2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_e2ap, FT_UINT32, BASE_DEC);
19005 e2ap_proc_sout_dissector_table = register_dissector_table("e2ap.proc.sout", "E2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
19006 e2ap_proc_uout_dissector_table = register_dissector_table("e2ap.proc.uout", "E2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
19007 e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, STRING_CASE_SENSITIVE);
19009 /* Preference settings */
19010 e2ap_module = prefs_register_protocol(proto_e2ap, NULL);
19012 static const enum_val_t rc_version_vals[] = {
19013 {"version-1", "Version-1", RC_Version_1},
19014 {"version-3", "Version-3", RC_Version_3},
19015 {NULL, NULL, -1}
19018 prefs_register_enum_preference(e2ap_module, "rc_manual_version_choice",
19019 "Manual choice of RC dissector version to call",
19020 "Set version of RC dissector to use for that RANFunction. Unfortunately, so far all "
19021 "OIDs say they are version 1..",
19022 &e2ap_rc_version_pref_choice, rc_version_vals, true);
19024 register_init_routine(&e2ap_init_protocol);
19026 e2ap_tap = register_tap("e2ap");
19030 * Editor modelines
19032 * Local Variables:
19033 * c-basic-offset: 2
19034 * tab-width: 8
19035 * indent-tabs-mode: nil
19036 * End:
19038 * ex: set shiftwidth=2 tabstop=8 expandtab:
19039 * :indentSize=2:tabSize=8:noTabs=true: