1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -p x2ap -c x2ap.cnf -s packet-x2ap-template X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-Containers.asn X2AP-IEs.asn X2AP-PDU-Contents.asn X2AP-PDU-Descriptions.asn */
6 /* Input file: packet-x2ap-template.c */
8 #line 1 "packet-x2ap-template.c"
10 * Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN);
11 * X2 Application Protocol (X2AP);
12 * 3GPP TS 36.423 packet dissection
13 * Copyright 2007-2008, Anders Broman <anders.broman@ericsson.com>
17 * Wireshark - Network traffic analyzer
18 * By Gerald Combs <gerald@wireshark.org>
19 * Copyright 1998 Gerald Combs
21 * This program is free software; you can redistribute it and/or
22 * modify it under the terms of the GNU General Public License
23 * as published by the Free Software Foundation; either version 2
24 * of the License, or (at your option) any later version.
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 * GNU General Public License for more details.
31 * You should have received a copy of the GNU General Public License
32 * along with this program; if not, write to the Free Software
33 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
36 * 3GPP TS 36.423 V8.0.0 (2007-12)
44 #include <epan/packet.h>
49 #include <epan/asn1.h>
51 #include "packet-per.h"
54 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
55 #pragma warning(disable:4146)
58 #define PNAME "EUTRAN X2 Application Protocol (X2AP)"
62 #define SCCP_SSN_X2AP 143
65 /*--- Included file: packet-x2ap-val.h ---*/
66 #line 1 "packet-x2ap-val.h"
67 #define maxPrivateIEs 65535
68 #define maxProtocolExtensions 65535
69 #define maxProtocolIEs 65535
70 #define maxEARFCN 32767
71 #define maxInterfaces 16
72 #define maxCellineNB 256
73 #define maxnoofCells 16
74 #define maxnoofBearers 256
75 #define maxNrOfErrors 256
76 #define maxnoofPDCP_SN 16
77 #define maxnoofEPLMNs 15
78 #define maxnoofEPLMNsPlusOne 16
79 #define maxnoofForbLACs 4096
80 #define maxnoofForbTACs 4096
81 #define maxnoofBPLMNs 6
82 #define maxnoofPRBs 110
85 /* enumerated values for ProcedureCode */
86 #define X2AP_ID_HANDOVERPREPARATION 0
87 #define X2AP_ID_HANDOVERCANCEL 1
88 #define X2AP_ID_LOADINDICATION 2
89 #define X2AP_ID_ERRORINDICATION 3
90 #define X2AP_ID_SNSTATUSTRANSFER 4
91 #define X2AP_ID_UECONTEXTRELEASE 5
92 #define X2AP_ID_X2SETUP 6
93 #define X2AP_ID_RESET 7
94 #define X2AP_ID_ENBCONFIGURATIONUPDATE 8
95 #define X2AP_ID_RESOURCESTATUSUPDATEINITIATION 9
96 #define X2AP_ID_RESOURCESTATUSREPORTING 10
98 typedef enum _ProtocolIE_ID_enum {
99 id_Bearers_Admitted_Item = 0,
100 id_Bearers_Admitted_List = 1,
101 id_Bearers_NotAdmitted_Item = 2,
102 id_Bearers_NotAdmitted_List = 3,
103 id_Bearers_ToBeSetup_Item = 4,
105 id_CellInformation = 6,
106 id_CellInformation_Item = 7,
107 id_InterfacesToTrace_Item = 8,
108 id_New_eNB_UE_X2AP_ID = 9,
109 id_Old_eNB_UE_X2AP_ID = 10,
110 id_TargetCell_ID = 11,
111 id_TargeteNBtoSource_eNBTransparentContainer = 12,
112 id_TraceActivation = 13,
113 id_UE_ContextInformation = 14,
114 id_UE_HistoryInformation = 15,
116 id_CriticalityDiagnostics = 17,
117 id_Bearers_SubjectToStatusTransfer_List = 18,
118 id_Bearers_SubjectToStatusTransfer_Item = 19,
120 id_GlobalENB_ID = 21,
123 id_GUGroupIDList = 24,
124 id_ServedCellsToAdd = 25,
125 id_ServedCellsToModify = 26,
126 id_ServedCellsToDelete = 27,
127 id_Registration_Request = 28,
128 id_CellToReport = 29,
129 id_ReportingPeriodicity = 30,
130 id_CellToReport_Item = 31,
131 id_CellMeasurementResult = 32,
132 id_CellMeasurementResult_Item = 33,
133 id_GUGroupIDListToAdd = 34,
134 id_GUGroupIDListToDelete = 35
135 } ProtocolIE_ID_enum;
137 /*--- End of included file: packet-x2ap-val.h ---*/
138 #line 57 "packet-x2ap-template.c"
140 /* Initialize the protocol and registered fields */
141 static int proto_x2ap = -1;
144 /*--- Included file: packet-x2ap-hf.c ---*/
145 #line 1 "packet-x2ap-hf.c"
146 static int hf_x2ap_Cause_PDU = -1; /* Cause */
147 static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
148 static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
149 static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
150 static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
151 static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
152 static int hf_x2ap_InterfacesToTrace_Item_PDU = -1; /* InterfacesToTrace_Item */
153 static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
154 static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
155 static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
156 static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
157 static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
158 static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
159 static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
160 static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
161 static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
162 static int hf_x2ap_Bearers_ToBeSetup_Item_PDU = -1; /* Bearers_ToBeSetup_Item */
163 static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
164 static int hf_x2ap_Bearers_Admitted_List_PDU = -1; /* Bearers_Admitted_List */
165 static int hf_x2ap_Bearers_Admitted_Item_PDU = -1; /* Bearers_Admitted_Item */
166 static int hf_x2ap_Bearers_NotAdmitted_List_PDU = -1; /* Bearers_NotAdmitted_List */
167 static int hf_x2ap_Bearers_NotAdmitted_Item_PDU = -1; /* Bearers_NotAdmitted_Item */
168 static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
169 static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
170 static int hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU = -1; /* Bearers_SubjectToStatusTransfer_List */
171 static int hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1; /* Bearers_SubjectToStatusTransfer_Item */
172 static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */
173 static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */
174 static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */
175 static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */
176 static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */
177 static int hf_x2ap_X2SetupRequest_PDU = -1; /* X2SetupRequest */
178 static int hf_x2ap_X2SetupResponse_PDU = -1; /* X2SetupResponse */
179 static int hf_x2ap_X2SetupFailure_PDU = -1; /* X2SetupFailure */
180 static int hf_x2ap_LoadInformation_PDU = -1; /* LoadInformation */
181 static int hf_x2ap_CellInformation_List_PDU = -1; /* CellInformation_List */
182 static int hf_x2ap_CellInformation_Item_PDU = -1; /* CellInformation_Item */
183 static int hf_x2ap_ENBConfigurationUpdate_PDU = -1; /* ENBConfigurationUpdate */
184 static int hf_x2ap_ServedCellsToModify_PDU = -1; /* ServedCellsToModify */
185 static int hf_x2ap_Old_ECGIs_PDU = -1; /* Old_ECGIs */
186 static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU = -1; /* ENBConfigurationUpdateAcknowledge */
187 static int hf_x2ap_ENBConfigurationUpdateFailure_PDU = -1; /* ENBConfigurationUpdateFailure */
188 static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
189 static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
190 static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
191 static int hf_x2ap_ReportingPeriod_PDU = -1; /* ReportingPeriod */
192 static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
193 static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
194 static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
195 static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
196 static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
197 static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
198 static int hf_x2ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
199 static int hf_x2ap_id = -1; /* ProtocolIE_ID */
200 static int hf_x2ap_criticality = -1; /* Criticality */
201 static int hf_x2ap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
202 static int hf_x2ap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
203 static int hf_x2ap_extension_id = -1; /* ProtocolIE_ID */
204 static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
205 static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
206 static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
207 static int hf_x2ap_transport = -1; /* CauseTransport */
208 static int hf_x2ap_protocol = -1; /* CauseProtocol */
209 static int hf_x2ap_misc = -1; /* CauseMisc */
210 static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
211 static int hf_x2ap_hFN = -1; /* HFN */
212 static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
213 static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
214 static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */
215 static int hf_x2ap_procedureCriticality = -1; /* Criticality */
216 static int hf_x2ap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
217 static int hf_x2ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
218 static int hf_x2ap_iECriticality = -1; /* Criticality */
219 static int hf_x2ap_iE_ID = -1; /* ProtocolIE_ID */
220 static int hf_x2ap_typeOfError = -1; /* TypeOfError */
221 static int hf_x2ap_pLMN_Identity = -1; /* PLMN_Identity */
222 static int hf_x2ap_eUTRANcellIdentifier = -1; /* EUTRANCellIdentifier */
223 static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
224 static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
225 static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
226 static int hf_x2ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
227 static int hf_x2ap_forbiddenTACs = -1; /* ForbiddenTACs */
228 static int hf_x2ap_ForbiddenTACs_item = -1; /* TAC */
229 static int hf_x2ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
230 static int hf_x2ap_forbiddenLACs = -1; /* ForbiddenLACs */
231 static int hf_x2ap_ForbiddenLACs_item = -1; /* LAC */
232 static int hf_x2ap_sAE_Bearer_MaximumBitrateDL = -1; /* BitRate */
233 static int hf_x2ap_sAE_Bearer_MaximumBitrateUL = -1; /* BitRate */
234 static int hf_x2ap_sAE_Bearer_GuaranteedBitrateDL = -1; /* BitRate */
235 static int hf_x2ap_sAE_Bearer_GuaranteedBitrateUL = -1; /* BitRate */
236 static int hf_x2ap_eNB_ID = -1; /* ENB_ID */
237 static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */
238 static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
239 static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
240 static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
241 static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
242 static int hf_x2ap_mMME_Code = -1; /* MME_Code */
243 static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
244 static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
245 static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
246 static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */
247 static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */
248 static int hf_x2ap_InterfacesToTrace_item = -1; /* ProtocolIE_Single_Container */
249 static int hf_x2ap_traceInterface = -1; /* TraceInterface */
250 static int hf_x2ap_traceDepth = -1; /* TraceDepth */
251 static int hf_x2ap_global_Cell_ID = -1; /* ECGI */
252 static int hf_x2ap_cellType = -1; /* CellType */
253 static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
254 static int hf_x2ap_eventType = -1; /* EventType */
255 static int hf_x2ap_reportArea = -1; /* ReportArea */
256 static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
257 static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
258 static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
259 static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
260 static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
261 static int hf_x2ap_qCI = -1; /* QCI */
262 static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
263 static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */
264 static int hf_x2ap_ServedCells_item = -1; /* ServedCell_Information */
265 static int hf_x2ap_phyCID = -1; /* PhyCID */
266 static int hf_x2ap_cellId = -1; /* ECGI */
267 static int hf_x2ap_tAC = -1; /* TAC */
268 static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */
269 static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */
270 static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */
271 static int hf_x2ap_cell_Transmission_Bandwidth = -1; /* Cell_Transmission_Bandwidth */
272 static int hf_x2ap_traceReference = -1; /* TraceReference */
273 static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
274 static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
275 static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */
276 static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
277 static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */
278 static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
279 static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
280 static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
281 static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
282 static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
283 static int hf_x2ap_uEaggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */
284 static int hf_x2ap_subscriberProfileIDforRFP = -1; /* SubscriberProfileIDforRFP */
285 static int hf_x2ap_bearers_ToBeSetup_List = -1; /* Bearers_ToBeSetup_List */
286 static int hf_x2ap_rRC_Context = -1; /* RRC_Context */
287 static int hf_x2ap_handoverRestrictionList = -1; /* HandoverRestrictionList */
288 static int hf_x2ap_locationReportingInformation = -1; /* LocationReportingInformation */
289 static int hf_x2ap_Bearers_ToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
290 static int hf_x2ap_sAE_Bearer_ID = -1; /* Bearer_ID */
291 static int hf_x2ap_sAE_BearerLevel_QoS_Parameters = -1; /* SAE_BearerLevel_QoS_Parameters */
292 static int hf_x2ap_dL_Forwarding = -1; /* DL_Forwarding */
293 static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
294 static int hf_x2ap_Bearers_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
295 static int hf_x2ap_bearer_ID = -1; /* Bearer_ID */
296 static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
297 static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
298 static int hf_x2ap_Bearers_NotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
299 static int hf_x2ap_cause = -1; /* Cause */
300 static int hf_x2ap_Bearers_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
301 static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */
302 static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */
303 static int hf_x2ap_dL_COUNTvalue = -1; /* COUNTvalue */
304 static int hf_x2ap_CellInformation_List_item = -1; /* ProtocolIE_Single_Container */
305 static int hf_x2ap_cell_ID = -1; /* ECGI */
306 static int hf_x2ap_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */
307 static int hf_x2ap_ul_HighInterferenceIndicationInfo = -1; /* UL_HighInterferenceIndicationInfo */
308 static int hf_x2ap_relativeNarrowbandTxPower = -1; /* RelativeNarrowbandTxPower */
309 static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item */
310 static int hf_x2ap_old_ecgi = -1; /* ECGI */
311 static int hf_x2ap_served_cells = -1; /* ServedCell_Information */
312 static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
313 static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
314 static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
315 static int hf_x2ap_resoureStatus = -1; /* ResourceStatus */
316 static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
317 static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
318 static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
319 static int hf_x2ap_initiatingMessage_value = -1; /* InitiatingMessage_value */
320 static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
321 static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
323 /*--- End of included file: packet-x2ap-hf.c ---*/
324 #line 62 "packet-x2ap-template.c"
326 /* Initialize the subtree pointers */
327 static int ett_x2ap = -1;
330 /*--- Included file: packet-x2ap-ett.c ---*/
331 #line 1 "packet-x2ap-ett.c"
332 static gint ett_x2ap_ProtocolIE_Container = -1;
333 static gint ett_x2ap_ProtocolIE_Field = -1;
334 static gint ett_x2ap_ProtocolExtensionContainer = -1;
335 static gint ett_x2ap_ProtocolExtensionField = -1;
336 static gint ett_x2ap_BroadcastPLMNs_Item = -1;
337 static gint ett_x2ap_Cause = -1;
338 static gint ett_x2ap_COUNTvalue = -1;
339 static gint ett_x2ap_CriticalityDiagnostics = -1;
340 static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
341 static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1;
342 static gint ett_x2ap_ECGI = -1;
343 static gint ett_x2ap_ENB_ID = -1;
344 static gint ett_x2ap_EPLMNs = -1;
345 static gint ett_x2ap_ForbiddenTAs = -1;
346 static gint ett_x2ap_ForbiddenTAs_Item = -1;
347 static gint ett_x2ap_ForbiddenTACs = -1;
348 static gint ett_x2ap_ForbiddenLAs = -1;
349 static gint ett_x2ap_ForbiddenLAs_Item = -1;
350 static gint ett_x2ap_ForbiddenLACs = -1;
351 static gint ett_x2ap_GBR_QosInformation = -1;
352 static gint ett_x2ap_GlobalENB_ID = -1;
353 static gint ett_x2ap_GTPtunnelEndpoint = -1;
354 static gint ett_x2ap_GUGroupIDList = -1;
355 static gint ett_x2ap_GU_Group_ID = -1;
356 static gint ett_x2ap_GUMMEI = -1;
357 static gint ett_x2ap_HandoverRestrictionList = -1;
358 static gint ett_x2ap_InterfacesToTrace = -1;
359 static gint ett_x2ap_InterfacesToTrace_Item = -1;
360 static gint ett_x2ap_LastVisitedCell_Item = -1;
361 static gint ett_x2ap_LocationReportingInformation = -1;
362 static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
363 static gint ett_x2ap_SAE_BearerLevel_QoS_Parameters = -1;
364 static gint ett_x2ap_ServedCells = -1;
365 static gint ett_x2ap_ServedCell_Information = -1;
366 static gint ett_x2ap_TraceActivation = -1;
367 static gint ett_x2ap_UE_HistoryInformation = -1;
368 static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
369 static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
370 static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
371 static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
372 static gint ett_x2ap_HandoverRequest = -1;
373 static gint ett_x2ap_UE_ContextInformation = -1;
374 static gint ett_x2ap_Bearers_ToBeSetup_List = -1;
375 static gint ett_x2ap_Bearers_ToBeSetup_Item = -1;
376 static gint ett_x2ap_HandoverRequestAcknowledge = -1;
377 static gint ett_x2ap_Bearers_Admitted_List = -1;
378 static gint ett_x2ap_Bearers_Admitted_Item = -1;
379 static gint ett_x2ap_Bearers_NotAdmitted_List = -1;
380 static gint ett_x2ap_Bearers_NotAdmitted_Item = -1;
381 static gint ett_x2ap_HandoverPreparationFailure = -1;
382 static gint ett_x2ap_SNStatusTransfer = -1;
383 static gint ett_x2ap_Bearers_SubjectToStatusTransfer_List = -1;
384 static gint ett_x2ap_Bearers_SubjectToStatusTransfer_Item = -1;
385 static gint ett_x2ap_UEContextRelease = -1;
386 static gint ett_x2ap_HandoverCancel = -1;
387 static gint ett_x2ap_ErrorIndication = -1;
388 static gint ett_x2ap_ResetRequest = -1;
389 static gint ett_x2ap_ResetResponse = -1;
390 static gint ett_x2ap_X2SetupRequest = -1;
391 static gint ett_x2ap_X2SetupResponse = -1;
392 static gint ett_x2ap_X2SetupFailure = -1;
393 static gint ett_x2ap_LoadInformation = -1;
394 static gint ett_x2ap_CellInformation_List = -1;
395 static gint ett_x2ap_CellInformation_Item = -1;
396 static gint ett_x2ap_ENBConfigurationUpdate = -1;
397 static gint ett_x2ap_ServedCellsToModify = -1;
398 static gint ett_x2ap_ServedCellsToModify_Item = -1;
399 static gint ett_x2ap_Old_ECGIs = -1;
400 static gint ett_x2ap_ENBConfigurationUpdateAcknowledge = -1;
401 static gint ett_x2ap_ENBConfigurationUpdateFailure = -1;
402 static gint ett_x2ap_ResourceStatusRequest = -1;
403 static gint ett_x2ap_CellToReport_List = -1;
404 static gint ett_x2ap_CellToReport_Item = -1;
405 static gint ett_x2ap_ResourceStatusResponse = -1;
406 static gint ett_x2ap_ResourceStatusFailure = -1;
407 static gint ett_x2ap_ResourceStatusUpdate = -1;
408 static gint ett_x2ap_CellMeasurementResult_List = -1;
409 static gint ett_x2ap_CellMeasurementResult_Item = -1;
410 static gint ett_x2ap_X2AP_PDU = -1;
411 static gint ett_x2ap_InitiatingMessage = -1;
412 static gint ett_x2ap_SuccessfulOutcome = -1;
413 static gint ett_x2ap_UnsuccessfulOutcome = -1;
415 /*--- End of included file: packet-x2ap-ett.c ---*/
416 #line 67 "packet-x2ap-template.c"
418 /* Global variables */
419 static guint32 ProcedureCode;
420 static guint32 ProtocolIE_ID;
421 static const gchar *ProcedureID;
423 /* Dissector tables */
424 static dissector_table_t x2ap_ies_dissector_table;
425 static dissector_table_t x2ap_extension_dissector_table;
426 static dissector_table_t x2ap_proc_imsg_dissector_table;
427 static dissector_table_t x2ap_proc_sout_dissector_table;
428 static dissector_table_t x2ap_proc_uout_dissector_table;
430 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
431 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
432 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
433 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
434 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
437 /*--- Included file: packet-x2ap-fn.c ---*/
438 #line 1 "packet-x2ap-fn.c"
440 static const value_string x2ap_Criticality_vals[] = {
449 dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
450 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
451 3, NULL, FALSE, 0, NULL);
457 static const value_string x2ap_ProcedureCode_vals[] = {
458 { X2AP_ID_HANDOVERPREPARATION, "id-handoverPreparation" },
459 { X2AP_ID_HANDOVERCANCEL, "id-handoverCancel" },
460 { X2AP_ID_LOADINDICATION, "id-loadIndication" },
461 { X2AP_ID_ERRORINDICATION, "id-errorIndication" },
462 { X2AP_ID_SNSTATUSTRANSFER, "id-snStatusTransfer" },
463 { X2AP_ID_UECONTEXTRELEASE, "id-uEContextRelease" },
464 { X2AP_ID_X2SETUP, "id-x2Setup" },
465 { X2AP_ID_RESET, "id-reset" },
466 { X2AP_ID_ENBCONFIGURATIONUPDATE, "id-eNBConfigurationUpdate" },
467 { X2AP_ID_RESOURCESTATUSUPDATEINITIATION, "id-resourceStatusUpdateInitiation" },
468 { X2AP_ID_RESOURCESTATUSREPORTING, "id-resourceStatusReporting" },
474 dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
476 ProcedureCode = 0xFFFF;
478 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
479 0U, 255U, &ProcedureCode, FALSE);
482 if (check_col(actx->pinfo->cinfo, COL_INFO))
483 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
484 val_to_str(ProcedureCode, x2ap_ProcedureCode_vals,
491 static const value_string x2ap_ProtocolIE_ID_vals[] = {
492 { id_Bearers_Admitted_Item, "id-Bearers-Admitted-Item" },
493 { id_Bearers_Admitted_List, "id-Bearers-Admitted-List" },
494 { id_Bearers_NotAdmitted_Item, "id-Bearers-NotAdmitted-Item" },
495 { id_Bearers_NotAdmitted_List, "id-Bearers-NotAdmitted-List" },
496 { id_Bearers_ToBeSetup_Item, "id-Bearers-ToBeSetup-Item" },
497 { id_Cause, "id-Cause" },
498 { id_CellInformation, "id-CellInformation" },
499 { id_CellInformation_Item, "id-CellInformation-Item" },
500 { id_InterfacesToTrace_Item, "id-InterfacesToTrace-Item" },
501 { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" },
502 { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" },
503 { id_TargetCell_ID, "id-TargetCell-ID" },
504 { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" },
505 { id_TraceActivation, "id-TraceActivation" },
506 { id_UE_ContextInformation, "id-UE-ContextInformation" },
507 { id_UE_HistoryInformation, "id-UE-HistoryInformation" },
508 { id_UE_X2AP_ID, "id-UE-X2AP-ID" },
509 { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
510 { id_Bearers_SubjectToStatusTransfer_List, "id-Bearers-SubjectToStatusTransfer-List" },
511 { id_Bearers_SubjectToStatusTransfer_Item, "id-Bearers-SubjectToStatusTransfer-Item" },
512 { id_ServedCells, "id-ServedCells" },
513 { id_GlobalENB_ID, "id-GlobalENB-ID" },
514 { id_TimeToWait, "id-TimeToWait" },
515 { id_GUMMEI_ID, "id-GUMMEI-ID" },
516 { id_GUGroupIDList, "id-GUGroupIDList" },
517 { id_ServedCellsToAdd, "id-ServedCellsToAdd" },
518 { id_ServedCellsToModify, "id-ServedCellsToModify" },
519 { id_ServedCellsToDelete, "id-ServedCellsToDelete" },
520 { id_Registration_Request, "id-Registration-Request" },
521 { id_CellToReport, "id-CellToReport" },
522 { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
523 { id_CellToReport_Item, "id-CellToReport-Item" },
524 { id_CellMeasurementResult, "id-CellMeasurementResult" },
525 { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" },
526 { id_GUGroupIDListToAdd, "id-GUGroupIDListToAdd" },
527 { id_GUGroupIDListToDelete, "id-GUGroupIDListToDelete" },
533 dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
534 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
535 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
541 static const value_string x2ap_TriggeringMessage_vals[] = {
542 { 0, "initiating-message" },
543 { 1, "successful-outcome" },
544 { 2, "unsuccessful-outcome" },
550 dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
551 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
552 3, NULL, FALSE, 0, NULL);
560 dissect_x2ap_ProtocolIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
561 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
567 static const per_sequence_t ProtocolIE_Field_sequence[] = {
568 { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
569 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
570 { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value },
575 dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
576 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
577 ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence);
583 static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
584 { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field },
588 dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
589 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
590 ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
599 dissect_x2ap_ProtocolIE_Single_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
600 offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
608 dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
609 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
615 static const per_sequence_t ProtocolExtensionField_sequence[] = {
616 { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
617 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
618 { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue },
623 dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
624 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
625 ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence);
631 static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
632 { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField },
636 dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
637 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
638 ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
639 1, maxProtocolExtensions);
647 dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
648 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
649 0U, 15U, NULL, FALSE);
657 dissect_x2ap_Bearer_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
658 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
659 0U, 15U, NULL, TRUE);
667 dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
668 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
669 0U, 10000000000U, NULL, FALSE);
677 dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
678 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
685 static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
686 { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
690 dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
691 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
692 ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of,
699 static const value_string x2ap_CauseRadioNetwork_vals[] = {
700 { 0, "handover-desirable-for-radio-reasons" },
701 { 1, "time-critical-handover" },
702 { 2, "resource-optimisation-handover" },
703 { 3, "reduce-load-in-serving-cell" },
704 { 4, "partial-handover" },
705 { 5, "unknown-new-eNB-UE-X2AP-ID" },
706 { 6, "unknown-old-eNB-UE-X2AP-ID" },
707 { 7, "unknown-pair-of-UE-X2AP-ID" },
708 { 8, "ho-target-not-allowed" },
709 { 9, "tx2relocoverall-expiry" },
710 { 10, "trelocprep-expiry" },
711 { 11, "cell-not-available" },
712 { 12, "no-radio-resources-available-in-target-cell" },
713 { 13, "invalid-MME-GroupID" },
714 { 14, "unknown-MME-Code" },
715 { 15, "unspecified" },
721 dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
722 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
723 16, NULL, TRUE, 0, NULL);
729 static const value_string x2ap_CauseTransport_vals[] = {
730 { 0, "transport-resource-unavailable" },
731 { 1, "unspecified" },
737 dissect_x2ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
738 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
739 2, NULL, TRUE, 0, NULL);
745 static const value_string x2ap_CauseProtocol_vals[] = {
746 { 0, "transfer-syntax-error" },
747 { 1, "abstract-syntax-error-reject" },
748 { 2, "abstract-syntax-error-ignore-and-notify" },
749 { 3, "message-not-compatible-with-receiver-state" },
750 { 4, "semantic-error" },
751 { 5, "unspecified" },
752 { 6, "abstract-syntax-error-falsely-constructed-message" },
758 dissect_x2ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
759 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
760 7, NULL, TRUE, 0, NULL);
766 static const value_string x2ap_CauseMisc_vals[] = {
767 { 0, "control-processing-overload" },
768 { 1, "hardware-failure" },
769 { 2, "om-intervention" },
770 { 3, "not-enough-user-plane-processing-resources" },
771 { 4, "unspecified" },
777 dissect_x2ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
778 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
779 5, NULL, TRUE, 0, NULL);
785 static const value_string x2ap_Cause_vals[] = {
786 { 0, "radioNetwork" },
793 static const per_choice_t Cause_choice[] = {
794 { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork },
795 { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport },
796 { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol },
797 { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc },
802 dissect_x2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
803 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
804 ett_x2ap_Cause, Cause_choice,
811 static const value_string x2ap_CellType_vals[] = {
821 dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
822 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
823 4, NULL, TRUE, 0, NULL);
829 static const value_string x2ap_Cell_Transmission_Bandwidth_vals[] = {
841 dissect_x2ap_Cell_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
842 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
843 6, NULL, TRUE, 0, NULL);
851 dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
852 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
853 0U, 4095U, NULL, FALSE);
861 dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
862 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
863 0U, 1048575U, NULL, FALSE);
869 static const per_sequence_t COUNTvalue_sequence[] = {
870 { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN },
871 { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN },
872 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
877 dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
878 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
879 ett_x2ap_COUNTvalue, COUNTvalue_sequence);
885 static const value_string x2ap_TypeOfError_vals[] = {
886 { 0, "not-understood" },
893 dissect_x2ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
894 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
895 2, NULL, TRUE, 0, NULL);
901 static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
902 { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
903 { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID },
904 { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError },
905 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
910 dissect_x2ap_CriticalityDiagnostics_IE_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
911 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
912 ett_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
918 static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
919 { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item },
923 dissect_x2ap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
924 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
925 ett_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
932 static const per_sequence_t CriticalityDiagnostics_sequence[] = {
933 { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode },
934 { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage },
935 { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality },
936 { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List },
937 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
942 dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
943 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
944 ett_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
950 static const value_string x2ap_DL_Forwarding_vals[] = {
951 { 0, "dL-forwardingProposed" },
957 dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
958 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
959 1, NULL, TRUE, 0, NULL);
967 dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
968 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
969 0U, maxEARFCN, NULL, FALSE);
977 dissect_x2ap_EUTRANCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
978 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
979 28, 28, FALSE, NULL);
985 static const per_sequence_t ECGI_sequence[] = {
986 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
987 { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
988 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
993 dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
994 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
995 ett_x2ap_ECGI, ECGI_sequence);
1003 dissect_x2ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1004 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1005 20, 20, FALSE, NULL);
1013 dissect_x2ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1014 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1015 28, 28, FALSE, NULL);
1021 static const value_string x2ap_ENB_ID_vals[] = {
1022 { 0, "macro-eNB-ID" },
1023 { 1, "home-eNB-ID" },
1027 static const per_choice_t ENB_ID_choice[] = {
1028 { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
1029 { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
1030 { 0, NULL, 0, NULL }
1034 dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1035 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1036 ett_x2ap_ENB_ID, ENB_ID_choice,
1043 static const per_sequence_t EPLMNs_sequence_of[1] = {
1044 { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1048 dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1049 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1050 ett_x2ap_EPLMNs, EPLMNs_sequence_of,
1057 static const value_string x2ap_EventType_vals[] = {
1058 { 0, "change-of-serving-cell" },
1064 dissect_x2ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1065 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1066 1, NULL, TRUE, 0, NULL);
1072 static const value_string x2ap_ForbiddenInterRATs_vals[] = {
1081 dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1082 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1083 3, NULL, TRUE, 0, NULL);
1091 dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1092 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1093 NO_BOUND, NO_BOUND, FALSE, NULL);
1099 static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
1100 { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1104 dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1105 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1106 ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of,
1107 1, maxnoofForbTACs);
1113 static const per_sequence_t ForbiddenTAs_Item_sequence[] = {
1114 { &hf_x2ap_pLMN_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1115 { &hf_x2ap_forbiddenTACs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs },
1116 { NULL, 0, 0, NULL }
1120 dissect_x2ap_ForbiddenTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1121 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1122 ett_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence);
1128 static const per_sequence_t ForbiddenTAs_sequence_of[1] = {
1129 { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item },
1133 dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1134 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1135 ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of,
1136 1, maxnoofEPLMNsPlusOne);
1144 dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1145 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1152 static const per_sequence_t ForbiddenLACs_sequence_of[1] = {
1153 { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC },
1157 dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1158 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1159 ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of,
1160 1, maxnoofForbLACs);
1166 static const per_sequence_t ForbiddenLAs_Item_sequence[] = {
1167 { &hf_x2ap_pLMN_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1168 { &hf_x2ap_forbiddenLACs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs },
1169 { NULL, 0, 0, NULL }
1173 dissect_x2ap_ForbiddenLAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1174 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1175 ett_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence);
1181 static const per_sequence_t ForbiddenLAs_sequence_of[1] = {
1182 { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item },
1186 dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1187 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1188 ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of,
1189 1, maxnoofEPLMNsPlusOne);
1195 static const per_sequence_t GBR_QosInformation_sequence[] = {
1196 { &hf_x2ap_sAE_Bearer_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1197 { &hf_x2ap_sAE_Bearer_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1198 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1199 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1200 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1201 { NULL, 0, 0, NULL }
1205 dissect_x2ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1206 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1207 ett_x2ap_GBR_QosInformation, GBR_QosInformation_sequence);
1213 static const per_sequence_t GlobalENB_ID_sequence[] = {
1214 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1215 { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
1216 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1217 { NULL, 0, 0, NULL }
1221 dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1222 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1223 ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence);
1231 dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1232 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1233 1, 160, TRUE, NULL);
1241 dissect_x2ap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1242 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1249 static const per_sequence_t GTPtunnelEndpoint_sequence[] = {
1250 { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress },
1251 { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI },
1252 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1253 { NULL, 0, 0, NULL }
1257 dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1258 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1259 ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence);
1267 dissect_x2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1268 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1275 static const per_sequence_t GU_Group_ID_sequence[] = {
1276 { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1277 { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID },
1278 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1279 { NULL, 0, 0, NULL }
1283 dissect_x2ap_GU_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1284 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1285 ett_x2ap_GU_Group_ID, GU_Group_ID_sequence);
1291 static const per_sequence_t GUGroupIDList_sequence_of[1] = {
1292 { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
1296 dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1297 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1298 ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of,
1307 dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1308 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1315 static const per_sequence_t GUMMEI_sequence[] = {
1316 { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
1317 { &hf_x2ap_mMME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
1318 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1319 { NULL, 0, 0, NULL }
1323 dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1324 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1325 ett_x2ap_GUMMEI, GUMMEI_sequence);
1331 static const per_sequence_t HandoverRestrictionList_sequence[] = {
1332 { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
1333 { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
1334 { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs },
1335 { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs },
1336 { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs },
1337 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1338 { NULL, 0, 0, NULL }
1342 dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1343 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1344 ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence);
1350 static const per_sequence_t InterfacesToTrace_sequence_of[1] = {
1351 { &hf_x2ap_InterfacesToTrace_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1355 dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1356 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1357 ett_x2ap_InterfacesToTrace, InterfacesToTrace_sequence_of,
1364 static const value_string x2ap_TraceInterface_vals[] = {
1373 dissect_x2ap_TraceInterface(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1374 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1375 3, NULL, TRUE, 0, NULL);
1381 static const value_string x2ap_TraceDepth_vals[] = {
1385 { 3, "vendorMinimum" },
1386 { 4, "vendorMedium" },
1387 { 5, "vendorMaximum" },
1393 dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1394 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1395 6, NULL, TRUE, 0, NULL);
1401 static const per_sequence_t InterfacesToTrace_Item_sequence[] = {
1402 { &hf_x2ap_traceInterface , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceInterface },
1403 { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth },
1404 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1405 { NULL, 0, 0, NULL }
1409 dissect_x2ap_InterfacesToTrace_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1410 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1411 ett_x2ap_InterfacesToTrace_Item, InterfacesToTrace_Item_sequence);
1419 dissect_x2ap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1420 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
1426 static const per_sequence_t LastVisitedCell_Item_sequence[] = {
1427 { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1428 { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType },
1429 { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Time_UE_StayedInCell },
1430 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1431 { NULL, 0, 0, NULL }
1435 dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1436 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1437 ett_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_sequence);
1443 static const value_string x2ap_ReportArea_vals[] = {
1450 dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1451 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1452 1, NULL, TRUE, 0, NULL);
1458 static const per_sequence_t LocationReportingInformation_sequence[] = {
1459 { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType },
1460 { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea },
1461 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1462 { NULL, 0, 0, NULL }
1466 dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1467 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1468 ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence);
1476 dissect_x2ap_PhyCID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1477 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1478 1U, 504U, NULL, TRUE);
1486 dissect_x2ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1487 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1488 1U, 256U, NULL, FALSE);
1496 dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1497 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1498 4096, 4096, FALSE, NULL);
1504 static const value_string x2ap_Registration_Request_vals[] = {
1512 dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1513 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1514 2, NULL, TRUE, 0, NULL);
1522 dissect_x2ap_BIT_STRING_SIZE_6_110_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1523 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1524 6, 110, TRUE, NULL);
1530 static const value_string x2ap_RNTP_Threshold_vals[] = {
1531 { 0, "minusInfinity" },
1532 { 1, "minusEleven" },
1535 { 4, "minusEight" },
1536 { 5, "minusSeven" },
1540 { 9, "minusThree" },
1552 dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1553 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1554 16, NULL, TRUE, 0, NULL);
1560 static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
1569 dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1570 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1571 3, NULL, TRUE, 0, NULL);
1579 dissect_x2ap_INTEGER_0_3_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1580 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1581 0U, 3U, NULL, TRUE);
1589 dissect_x2ap_INTEGER_0_4_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1590 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1591 0U, 4U, NULL, TRUE);
1597 static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
1598 { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
1599 { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
1600 { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
1601 { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
1602 { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
1603 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1604 { NULL, 0, 0, NULL }
1608 dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1609 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1610 ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence);
1618 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1619 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1620 NO_BOUND, NO_BOUND, FALSE, NULL);
1628 dissect_x2ap_ResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1629 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
1635 static const per_sequence_t SAE_BearerLevel_QoS_Parameters_sequence[] = {
1636 { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI },
1637 { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority },
1638 { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation },
1639 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1640 { NULL, 0, 0, NULL }
1644 dissect_x2ap_SAE_BearerLevel_QoS_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1645 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1646 ett_x2ap_SAE_BearerLevel_QoS_Parameters, SAE_BearerLevel_QoS_Parameters_sequence);
1652 static const per_sequence_t ServedCell_Information_sequence[] = {
1653 { &hf_x2ap_phyCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PhyCID },
1654 { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1655 { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
1656 { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item },
1657 { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1658 { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN },
1659 { &hf_x2ap_cell_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Transmission_Bandwidth },
1660 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1661 { NULL, 0, 0, NULL }
1665 dissect_x2ap_ServedCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1666 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1667 ett_x2ap_ServedCell_Information, ServedCell_Information_sequence);
1673 static const per_sequence_t ServedCells_sequence_of[1] = {
1674 { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
1678 dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1679 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1680 ett_x2ap_ServedCells, ServedCells_sequence_of,
1689 dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1690 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1691 1U, 256U, NULL, FALSE);
1699 dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1700 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1701 NO_BOUND, NO_BOUND, FALSE, NULL);
1709 dissect_x2ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1710 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1711 NO_BOUND, NO_BOUND, FALSE, NULL);
1719 dissect_x2ap_TraceReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1720 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1727 static const per_sequence_t TraceActivation_sequence[] = {
1728 { &hf_x2ap_traceReference , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceReference },
1729 { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace },
1730 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1731 { NULL, 0, 0, NULL }
1735 dissect_x2ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1736 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1737 ett_x2ap_TraceActivation, TraceActivation_sequence);
1743 static const per_sequence_t UE_HistoryInformation_sequence_of[1] = {
1744 { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item },
1748 dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1749 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1750 ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of,
1759 dissect_x2ap_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1760 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1761 0U, 4294967295U, NULL, FALSE);
1769 dissect_x2ap_UE_X2AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1770 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1771 0U, 4095U, NULL, FALSE);
1777 static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
1778 { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1779 { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
1780 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1781 { NULL, 0, 0, NULL }
1785 dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1786 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1787 ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
1793 static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = {
1794 { 0, "high-interference" },
1795 { 1, "medium-interference" },
1796 { 2, "low-interference" },
1802 dissect_x2ap_UL_InterferenceOverloadIndication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1803 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1804 3, NULL, TRUE, 0, NULL);
1810 static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = {
1811 { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item },
1815 dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1816 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1817 ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of,
1826 dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1827 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1828 1, 110, TRUE, NULL);
1834 static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = {
1835 { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication },
1836 { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
1837 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1838 { NULL, 0, 0, NULL }
1842 dissect_x2ap_UL_HighInterferenceIndicationInfo_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1843 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1844 ett_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence);
1850 static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = {
1851 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item },
1855 dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1856 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1857 ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of,
1864 static const per_sequence_t HandoverRequest_sequence[] = {
1865 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
1866 { NULL, 0, 0, NULL }
1870 dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1871 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1872 ett_x2ap_HandoverRequest, HandoverRequest_sequence);
1878 static const per_sequence_t Bearers_ToBeSetup_List_sequence_of[1] = {
1879 { &hf_x2ap_Bearers_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1883 dissect_x2ap_Bearers_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1884 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1885 ett_x2ap_Bearers_ToBeSetup_List, Bearers_ToBeSetup_List_sequence_of,
1892 static const per_sequence_t UE_ContextInformation_sequence[] = {
1893 { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID },
1894 { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate },
1895 { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP },
1896 { &hf_x2ap_bearers_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearers_ToBeSetup_List },
1897 { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context },
1898 { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList },
1899 { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation },
1900 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1901 { NULL, 0, 0, NULL }
1905 dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1906 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1907 ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence);
1913 static const per_sequence_t Bearers_ToBeSetup_Item_sequence[] = {
1914 { &hf_x2ap_sAE_Bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1915 { &hf_x2ap_sAE_BearerLevel_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SAE_BearerLevel_QoS_Parameters },
1916 { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding },
1917 { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint },
1918 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1919 { NULL, 0, 0, NULL }
1923 dissect_x2ap_Bearers_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1924 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1925 ett_x2ap_Bearers_ToBeSetup_Item, Bearers_ToBeSetup_Item_sequence);
1931 static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
1932 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
1933 { NULL, 0, 0, NULL }
1937 dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1938 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1939 ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
1945 static const per_sequence_t Bearers_Admitted_List_sequence_of[1] = {
1946 { &hf_x2ap_Bearers_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1950 dissect_x2ap_Bearers_Admitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1951 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1952 ett_x2ap_Bearers_Admitted_List, Bearers_Admitted_List_sequence_of,
1959 static const per_sequence_t Bearers_Admitted_Item_sequence[] = {
1960 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1961 { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
1962 { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint },
1963 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1964 { NULL, 0, 0, NULL }
1968 dissect_x2ap_Bearers_Admitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1969 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1970 ett_x2ap_Bearers_Admitted_Item, Bearers_Admitted_Item_sequence);
1976 static const per_sequence_t Bearers_NotAdmitted_List_sequence_of[1] = {
1977 { &hf_x2ap_Bearers_NotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
1981 dissect_x2ap_Bearers_NotAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1982 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1983 ett_x2ap_Bearers_NotAdmitted_List, Bearers_NotAdmitted_List_sequence_of,
1990 static const per_sequence_t Bearers_NotAdmitted_Item_sequence[] = {
1991 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
1992 { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
1993 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
1994 { NULL, 0, 0, NULL }
1998 dissect_x2ap_Bearers_NotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1999 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2000 ett_x2ap_Bearers_NotAdmitted_Item, Bearers_NotAdmitted_Item_sequence);
2006 static const per_sequence_t HandoverPreparationFailure_sequence[] = {
2007 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2008 { NULL, 0, 0, NULL }
2012 dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2013 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2014 ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
2020 static const per_sequence_t SNStatusTransfer_sequence[] = {
2021 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2022 { NULL, 0, 0, NULL }
2026 dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2027 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2028 ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence);
2034 static const per_sequence_t Bearers_SubjectToStatusTransfer_List_sequence_of[1] = {
2035 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2039 dissect_x2ap_Bearers_SubjectToStatusTransfer_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2040 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2041 ett_x2ap_Bearers_SubjectToStatusTransfer_List, Bearers_SubjectToStatusTransfer_List_sequence_of,
2048 static const per_sequence_t Bearers_SubjectToStatusTransfer_Item_sequence[] = {
2049 { &hf_x2ap_bearer_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Bearer_ID },
2050 { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs },
2051 { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
2052 { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue },
2053 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2054 { NULL, 0, 0, NULL }
2058 dissect_x2ap_Bearers_SubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2059 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2060 ett_x2ap_Bearers_SubjectToStatusTransfer_Item, Bearers_SubjectToStatusTransfer_Item_sequence);
2066 static const per_sequence_t UEContextRelease_sequence[] = {
2067 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2068 { NULL, 0, 0, NULL }
2072 dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2074 ett_x2ap_UEContextRelease, UEContextRelease_sequence);
2080 static const per_sequence_t HandoverCancel_sequence[] = {
2081 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2082 { NULL, 0, 0, NULL }
2086 dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2087 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2088 ett_x2ap_HandoverCancel, HandoverCancel_sequence);
2094 static const per_sequence_t ErrorIndication_sequence[] = {
2095 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2096 { NULL, 0, 0, NULL }
2100 dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2101 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2102 ett_x2ap_ErrorIndication, ErrorIndication_sequence);
2108 static const per_sequence_t ResetRequest_sequence[] = {
2109 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2110 { NULL, 0, 0, NULL }
2114 dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2115 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2116 ett_x2ap_ResetRequest, ResetRequest_sequence);
2122 static const per_sequence_t ResetResponse_sequence[] = {
2123 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2124 { NULL, 0, 0, NULL }
2128 dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2129 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2130 ett_x2ap_ResetResponse, ResetResponse_sequence);
2136 static const per_sequence_t X2SetupRequest_sequence[] = {
2137 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2138 { NULL, 0, 0, NULL }
2142 dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2143 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2144 ett_x2ap_X2SetupRequest, X2SetupRequest_sequence);
2150 static const per_sequence_t X2SetupResponse_sequence[] = {
2151 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2152 { NULL, 0, 0, NULL }
2156 dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2157 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2158 ett_x2ap_X2SetupResponse, X2SetupResponse_sequence);
2164 static const per_sequence_t X2SetupFailure_sequence[] = {
2165 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2166 { NULL, 0, 0, NULL }
2170 dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2171 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2172 ett_x2ap_X2SetupFailure, X2SetupFailure_sequence);
2178 static const per_sequence_t LoadInformation_sequence[] = {
2179 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2180 { NULL, 0, 0, NULL }
2184 dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2185 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2186 ett_x2ap_LoadInformation, LoadInformation_sequence);
2192 static const per_sequence_t CellInformation_List_sequence_of[1] = {
2193 { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2197 dissect_x2ap_CellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2198 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2199 ett_x2ap_CellInformation_List, CellInformation_List_sequence_of,
2206 static const per_sequence_t CellInformation_Item_sequence[] = {
2207 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2208 { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication },
2209 { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo },
2210 { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower },
2211 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2212 { NULL, 0, 0, NULL }
2216 dissect_x2ap_CellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2217 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2218 ett_x2ap_CellInformation_Item, CellInformation_Item_sequence);
2224 static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
2225 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2226 { NULL, 0, 0, NULL }
2230 dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2231 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2232 ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
2238 static const per_sequence_t ServedCellsToModify_Item_sequence[] = {
2239 { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2240 { &hf_x2ap_served_cells , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information },
2241 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2242 { NULL, 0, 0, NULL }
2246 dissect_x2ap_ServedCellsToModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2247 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2248 ett_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence);
2254 static const per_sequence_t ServedCellsToModify_sequence_of[1] = {
2255 { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item },
2259 dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2260 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2261 ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of,
2268 static const per_sequence_t Old_ECGIs_sequence_of[1] = {
2269 { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2273 dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2274 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2275 ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of,
2282 static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
2283 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2284 { NULL, 0, 0, NULL }
2288 dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2289 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2290 ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
2296 static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
2297 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2298 { NULL, 0, 0, NULL }
2302 dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2303 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2304 ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
2310 static const per_sequence_t ResourceStatusRequest_sequence[] = {
2311 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2312 { NULL, 0, 0, NULL }
2316 dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2318 ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence);
2324 static const per_sequence_t CellToReport_List_sequence_of[1] = {
2325 { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2329 dissect_x2ap_CellToReport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2330 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2331 ett_x2ap_CellToReport_List, CellToReport_List_sequence_of,
2338 static const per_sequence_t CellToReport_Item_sequence[] = {
2339 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2340 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2341 { NULL, 0, 0, NULL }
2345 dissect_x2ap_CellToReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2346 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2347 ett_x2ap_CellToReport_Item, CellToReport_Item_sequence);
2353 static const value_string x2ap_ReportingPeriod_vals[] = {
2360 dissect_x2ap_ReportingPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2361 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2362 1, NULL, TRUE, 0, NULL);
2368 static const per_sequence_t ResourceStatusResponse_sequence[] = {
2369 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2370 { NULL, 0, 0, NULL }
2374 dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2375 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2376 ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence);
2382 static const per_sequence_t ResourceStatusFailure_sequence[] = {
2383 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2384 { NULL, 0, 0, NULL }
2388 dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2389 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2390 ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence);
2396 static const per_sequence_t ResourceStatusUpdate_sequence[] = {
2397 { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
2398 { NULL, 0, 0, NULL }
2402 dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2403 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2404 ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);
2410 static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = {
2411 { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
2415 dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2416 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2417 ett_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of,
2424 static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
2425 { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
2426 { &hf_x2ap_resoureStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ResourceStatus },
2427 { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
2428 { NULL, 0, 0, NULL }
2432 dissect_x2ap_CellMeasurementResult_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2433 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2434 ett_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence);
2442 dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2443 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
2449 static const per_sequence_t InitiatingMessage_sequence[] = {
2450 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2451 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2452 { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value },
2453 { NULL, 0, 0, NULL }
2457 dissect_x2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2458 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2459 ett_x2ap_InitiatingMessage, InitiatingMessage_sequence);
2467 dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
2474 static const per_sequence_t SuccessfulOutcome_sequence[] = {
2475 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2476 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2477 { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value },
2478 { NULL, 0, 0, NULL }
2482 dissect_x2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2483 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2484 ett_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence);
2492 dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2493 offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
2499 static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
2500 { &hf_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode },
2501 { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality },
2502 { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value },
2503 { NULL, 0, 0, NULL }
2507 dissect_x2ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2508 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2509 ett_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
2515 static const value_string x2ap_X2AP_PDU_vals[] = {
2516 { 0, "initiatingMessage" },
2517 { 1, "successfulOutcome" },
2518 { 2, "unsuccessfulOutcome" },
2522 static const per_choice_t X2AP_PDU_choice[] = {
2523 { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage },
2524 { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome },
2525 { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome },
2526 { 0, NULL, 0, NULL }
2530 dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2531 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2532 ett_x2ap_X2AP_PDU, X2AP_PDU_choice,
2540 static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2542 asn1_ctx_t asn1_ctx;
2543 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2544 offset = dissect_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU);
2545 offset += 7; offset >>= 3;
2548 static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2550 asn1_ctx_t asn1_ctx;
2551 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2552 offset = dissect_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU);
2553 offset += 7; offset >>= 3;
2556 static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2558 asn1_ctx_t asn1_ctx;
2559 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2560 offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU);
2561 offset += 7; offset >>= 3;
2564 static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2566 asn1_ctx_t asn1_ctx;
2567 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2568 offset = dissect_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU);
2569 offset += 7; offset >>= 3;
2572 static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2574 asn1_ctx_t asn1_ctx;
2575 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2576 offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU);
2577 offset += 7; offset >>= 3;
2580 static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2582 asn1_ctx_t asn1_ctx;
2583 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2584 offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU);
2585 offset += 7; offset >>= 3;
2588 static int dissect_InterfacesToTrace_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2590 asn1_ctx_t asn1_ctx;
2591 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2592 offset = dissect_x2ap_InterfacesToTrace_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_InterfacesToTrace_Item_PDU);
2593 offset += 7; offset >>= 3;
2596 static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2598 asn1_ctx_t asn1_ctx;
2599 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2600 offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU);
2601 offset += 7; offset >>= 3;
2604 static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2606 asn1_ctx_t asn1_ctx;
2607 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2608 offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU);
2609 offset += 7; offset >>= 3;
2612 static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2614 asn1_ctx_t asn1_ctx;
2615 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2616 offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU);
2617 offset += 7; offset >>= 3;
2620 static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2622 asn1_ctx_t asn1_ctx;
2623 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2624 offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU);
2625 offset += 7; offset >>= 3;
2628 static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2630 asn1_ctx_t asn1_ctx;
2631 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2632 offset = dissect_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU);
2633 offset += 7; offset >>= 3;
2636 static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2638 asn1_ctx_t asn1_ctx;
2639 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2640 offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU);
2641 offset += 7; offset >>= 3;
2644 static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2646 asn1_ctx_t asn1_ctx;
2647 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2648 offset = dissect_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU);
2649 offset += 7; offset >>= 3;
2652 static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2654 asn1_ctx_t asn1_ctx;
2655 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2656 offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU);
2657 offset += 7; offset >>= 3;
2660 static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2662 asn1_ctx_t asn1_ctx;
2663 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2664 offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU);
2665 offset += 7; offset >>= 3;
2668 static int dissect_Bearers_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2670 asn1_ctx_t asn1_ctx;
2671 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2672 offset = dissect_x2ap_Bearers_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_ToBeSetup_Item_PDU);
2673 offset += 7; offset >>= 3;
2676 static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2678 asn1_ctx_t asn1_ctx;
2679 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2680 offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU);
2681 offset += 7; offset >>= 3;
2684 static int dissect_Bearers_Admitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2686 asn1_ctx_t asn1_ctx;
2687 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2688 offset = dissect_x2ap_Bearers_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_Admitted_List_PDU);
2689 offset += 7; offset >>= 3;
2692 static int dissect_Bearers_Admitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2694 asn1_ctx_t asn1_ctx;
2695 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2696 offset = dissect_x2ap_Bearers_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_Admitted_Item_PDU);
2697 offset += 7; offset >>= 3;
2700 static int dissect_Bearers_NotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2702 asn1_ctx_t asn1_ctx;
2703 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2704 offset = dissect_x2ap_Bearers_NotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_NotAdmitted_List_PDU);
2705 offset += 7; offset >>= 3;
2708 static int dissect_Bearers_NotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2710 asn1_ctx_t asn1_ctx;
2711 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2712 offset = dissect_x2ap_Bearers_NotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_NotAdmitted_Item_PDU);
2713 offset += 7; offset >>= 3;
2716 static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2718 asn1_ctx_t asn1_ctx;
2719 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2720 offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU);
2721 offset += 7; offset >>= 3;
2724 static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2726 asn1_ctx_t asn1_ctx;
2727 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2728 offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU);
2729 offset += 7; offset >>= 3;
2732 static int dissect_Bearers_SubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2734 asn1_ctx_t asn1_ctx;
2735 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2736 offset = dissect_x2ap_Bearers_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU);
2737 offset += 7; offset >>= 3;
2740 static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2742 asn1_ctx_t asn1_ctx;
2743 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2744 offset = dissect_x2ap_Bearers_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU);
2745 offset += 7; offset >>= 3;
2748 static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2750 asn1_ctx_t asn1_ctx;
2751 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2752 offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU);
2753 offset += 7; offset >>= 3;
2756 static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2758 asn1_ctx_t asn1_ctx;
2759 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2760 offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU);
2761 offset += 7; offset >>= 3;
2764 static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2766 asn1_ctx_t asn1_ctx;
2767 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2768 offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU);
2769 offset += 7; offset >>= 3;
2772 static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2774 asn1_ctx_t asn1_ctx;
2775 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2776 offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU);
2777 offset += 7; offset >>= 3;
2780 static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2782 asn1_ctx_t asn1_ctx;
2783 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2784 offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU);
2785 offset += 7; offset >>= 3;
2788 static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2790 asn1_ctx_t asn1_ctx;
2791 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2792 offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU);
2793 offset += 7; offset >>= 3;
2796 static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2798 asn1_ctx_t asn1_ctx;
2799 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2800 offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU);
2801 offset += 7; offset >>= 3;
2804 static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2806 asn1_ctx_t asn1_ctx;
2807 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2808 offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU);
2809 offset += 7; offset >>= 3;
2812 static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2814 asn1_ctx_t asn1_ctx;
2815 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2816 offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU);
2817 offset += 7; offset >>= 3;
2820 static int dissect_CellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2822 asn1_ctx_t asn1_ctx;
2823 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2824 offset = dissect_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU);
2825 offset += 7; offset >>= 3;
2828 static int dissect_CellInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2830 asn1_ctx_t asn1_ctx;
2831 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2832 offset = dissect_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU);
2833 offset += 7; offset >>= 3;
2836 static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2838 asn1_ctx_t asn1_ctx;
2839 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2840 offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU);
2841 offset += 7; offset >>= 3;
2844 static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2846 asn1_ctx_t asn1_ctx;
2847 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2848 offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU);
2849 offset += 7; offset >>= 3;
2852 static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2854 asn1_ctx_t asn1_ctx;
2855 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2856 offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU);
2857 offset += 7; offset >>= 3;
2860 static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2862 asn1_ctx_t asn1_ctx;
2863 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2864 offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU);
2865 offset += 7; offset >>= 3;
2868 static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2870 asn1_ctx_t asn1_ctx;
2871 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2872 offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU);
2873 offset += 7; offset >>= 3;
2876 static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2878 asn1_ctx_t asn1_ctx;
2879 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2880 offset = dissect_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU);
2881 offset += 7; offset >>= 3;
2884 static int dissect_CellToReport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2886 asn1_ctx_t asn1_ctx;
2887 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2888 offset = dissect_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU);
2889 offset += 7; offset >>= 3;
2892 static int dissect_CellToReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2894 asn1_ctx_t asn1_ctx;
2895 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2896 offset = dissect_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU);
2897 offset += 7; offset >>= 3;
2900 static int dissect_ReportingPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2902 asn1_ctx_t asn1_ctx;
2903 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2904 offset = dissect_x2ap_ReportingPeriod(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriod_PDU);
2905 offset += 7; offset >>= 3;
2908 static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2910 asn1_ctx_t asn1_ctx;
2911 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2912 offset = dissect_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU);
2913 offset += 7; offset >>= 3;
2916 static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2918 asn1_ctx_t asn1_ctx;
2919 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2920 offset = dissect_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU);
2921 offset += 7; offset >>= 3;
2924 static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2926 asn1_ctx_t asn1_ctx;
2927 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2928 offset = dissect_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU);
2929 offset += 7; offset >>= 3;
2932 static int dissect_CellMeasurementResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2934 asn1_ctx_t asn1_ctx;
2935 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2936 offset = dissect_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU);
2937 offset += 7; offset >>= 3;
2940 static int dissect_CellMeasurementResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2942 asn1_ctx_t asn1_ctx;
2943 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2944 offset = dissect_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_PDU);
2945 offset += 7; offset >>= 3;
2948 static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2949 asn1_ctx_t asn1_ctx;
2950 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2951 dissect_x2ap_X2AP_PDU(tvb, 0, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU);
2955 /*--- End of included file: packet-x2ap-fn.c ---*/
2956 #line 87 "packet-x2ap-template.c"
2958 static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2960 return (dissector_try_port(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2963 static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2965 return (dissector_try_port(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2968 static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2970 if (!ProcedureID) return 0;
2971 return (dissector_try_string(x2ap_proc_imsg_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2974 static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2976 if (!ProcedureID) return 0;
2977 return (dissector_try_string(x2ap_proc_sout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2980 static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2982 if (!ProcedureID) return 0;
2983 return (dissector_try_string(x2ap_proc_uout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
2987 dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2989 proto_item *x2ap_item = NULL;
2990 proto_tree *x2ap_tree = NULL;
2992 /* make entry in the Protocol column on summary display */
2993 if (check_col(pinfo->cinfo, COL_PROTOCOL))
2994 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
2996 /* create the x2ap protocol tree */
2997 x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, FALSE);
2998 x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
3000 dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree);
3003 /*--- proto_register_x2ap -------------------------------------------*/
3004 void proto_register_x2ap(void) {
3006 /* List of fields */
3008 static hf_register_info hf[] = {
3010 /*--- Included file: packet-x2ap-hfarr.c ---*/
3011 #line 1 "packet-x2ap-hfarr.c"
3012 { &hf_x2ap_Cause_PDU,
3013 { "Cause", "x2ap.Cause",
3014 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
3015 "x2ap.Cause", HFILL }},
3016 { &hf_x2ap_CriticalityDiagnostics_PDU,
3017 { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics",
3018 FT_NONE, BASE_NONE, NULL, 0,
3019 "x2ap.CriticalityDiagnostics", HFILL }},
3020 { &hf_x2ap_ECGI_PDU,
3021 { "ECGI", "x2ap.ECGI",
3022 FT_NONE, BASE_NONE, NULL, 0,
3023 "x2ap.ECGI", HFILL }},
3024 { &hf_x2ap_GlobalENB_ID_PDU,
3025 { "GlobalENB-ID", "x2ap.GlobalENB_ID",
3026 FT_NONE, BASE_NONE, NULL, 0,
3027 "x2ap.GlobalENB_ID", HFILL }},
3028 { &hf_x2ap_GUGroupIDList_PDU,
3029 { "GUGroupIDList", "x2ap.GUGroupIDList",
3030 FT_UINT32, BASE_DEC, NULL, 0,
3031 "x2ap.GUGroupIDList", HFILL }},
3032 { &hf_x2ap_GUMMEI_PDU,
3033 { "GUMMEI", "x2ap.GUMMEI",
3034 FT_NONE, BASE_NONE, NULL, 0,
3035 "x2ap.GUMMEI", HFILL }},
3036 { &hf_x2ap_InterfacesToTrace_Item_PDU,
3037 { "InterfacesToTrace-Item", "x2ap.InterfacesToTrace_Item",
3038 FT_NONE, BASE_NONE, NULL, 0,
3039 "x2ap.InterfacesToTrace_Item", HFILL }},
3040 { &hf_x2ap_Registration_Request_PDU,
3041 { "Registration-Request", "x2ap.Registration_Request",
3042 FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
3043 "x2ap.Registration_Request", HFILL }},
3044 { &hf_x2ap_ServedCells_PDU,
3045 { "ServedCells", "x2ap.ServedCells",
3046 FT_UINT32, BASE_DEC, NULL, 0,
3047 "x2ap.ServedCells", HFILL }},
3048 { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU,
3049 { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer",
3050 FT_BYTES, BASE_HEX, NULL, 0,
3051 "x2ap.TargeteNBtoSource_eNBTransparentContainer", HFILL }},
3052 { &hf_x2ap_TimeToWait_PDU,
3053 { "TimeToWait", "x2ap.TimeToWait",
3054 FT_BYTES, BASE_HEX, NULL, 0,
3055 "x2ap.TimeToWait", HFILL }},
3056 { &hf_x2ap_TraceActivation_PDU,
3057 { "TraceActivation", "x2ap.TraceActivation",
3058 FT_NONE, BASE_NONE, NULL, 0,
3059 "x2ap.TraceActivation", HFILL }},
3060 { &hf_x2ap_UE_HistoryInformation_PDU,
3061 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation",
3062 FT_UINT32, BASE_DEC, NULL, 0,
3063 "x2ap.UE_HistoryInformation", HFILL }},
3064 { &hf_x2ap_UE_X2AP_ID_PDU,
3065 { "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
3066 FT_UINT32, BASE_DEC, NULL, 0,
3067 "x2ap.UE_X2AP_ID", HFILL }},
3068 { &hf_x2ap_HandoverRequest_PDU,
3069 { "HandoverRequest", "x2ap.HandoverRequest",
3070 FT_NONE, BASE_NONE, NULL, 0,
3071 "x2ap.HandoverRequest", HFILL }},
3072 { &hf_x2ap_UE_ContextInformation_PDU,
3073 { "UE-ContextInformation", "x2ap.UE_ContextInformation",
3074 FT_NONE, BASE_NONE, NULL, 0,
3075 "x2ap.UE_ContextInformation", HFILL }},
3076 { &hf_x2ap_Bearers_ToBeSetup_Item_PDU,
3077 { "Bearers-ToBeSetup-Item", "x2ap.Bearers_ToBeSetup_Item",
3078 FT_NONE, BASE_NONE, NULL, 0,
3079 "x2ap.Bearers_ToBeSetup_Item", HFILL }},
3080 { &hf_x2ap_HandoverRequestAcknowledge_PDU,
3081 { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge",
3082 FT_NONE, BASE_NONE, NULL, 0,
3083 "x2ap.HandoverRequestAcknowledge", HFILL }},
3084 { &hf_x2ap_Bearers_Admitted_List_PDU,
3085 { "Bearers-Admitted-List", "x2ap.Bearers_Admitted_List",
3086 FT_UINT32, BASE_DEC, NULL, 0,
3087 "x2ap.Bearers_Admitted_List", HFILL }},
3088 { &hf_x2ap_Bearers_Admitted_Item_PDU,
3089 { "Bearers-Admitted-Item", "x2ap.Bearers_Admitted_Item",
3090 FT_NONE, BASE_NONE, NULL, 0,
3091 "x2ap.Bearers_Admitted_Item", HFILL }},
3092 { &hf_x2ap_Bearers_NotAdmitted_List_PDU,
3093 { "Bearers-NotAdmitted-List", "x2ap.Bearers_NotAdmitted_List",
3094 FT_UINT32, BASE_DEC, NULL, 0,
3095 "x2ap.Bearers_NotAdmitted_List", HFILL }},
3096 { &hf_x2ap_Bearers_NotAdmitted_Item_PDU,
3097 { "Bearers-NotAdmitted-Item", "x2ap.Bearers_NotAdmitted_Item",
3098 FT_NONE, BASE_NONE, NULL, 0,
3099 "x2ap.Bearers_NotAdmitted_Item", HFILL }},
3100 { &hf_x2ap_HandoverPreparationFailure_PDU,
3101 { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure",
3102 FT_NONE, BASE_NONE, NULL, 0,
3103 "x2ap.HandoverPreparationFailure", HFILL }},
3104 { &hf_x2ap_SNStatusTransfer_PDU,
3105 { "SNStatusTransfer", "x2ap.SNStatusTransfer",
3106 FT_NONE, BASE_NONE, NULL, 0,
3107 "x2ap.SNStatusTransfer", HFILL }},
3108 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_PDU,
3109 { "Bearers-SubjectToStatusTransfer-List", "x2ap.Bearers_SubjectToStatusTransfer_List",
3110 FT_UINT32, BASE_DEC, NULL, 0,
3111 "x2ap.Bearers_SubjectToStatusTransfer_List", HFILL }},
3112 { &hf_x2ap_Bearers_SubjectToStatusTransfer_Item_PDU,
3113 { "Bearers-SubjectToStatusTransfer-Item", "x2ap.Bearers_SubjectToStatusTransfer_Item",
3114 FT_NONE, BASE_NONE, NULL, 0,
3115 "x2ap.Bearers_SubjectToStatusTransfer_Item", HFILL }},
3116 { &hf_x2ap_UEContextRelease_PDU,
3117 { "UEContextRelease", "x2ap.UEContextRelease",
3118 FT_NONE, BASE_NONE, NULL, 0,
3119 "x2ap.UEContextRelease", HFILL }},
3120 { &hf_x2ap_HandoverCancel_PDU,
3121 { "HandoverCancel", "x2ap.HandoverCancel",
3122 FT_NONE, BASE_NONE, NULL, 0,
3123 "x2ap.HandoverCancel", HFILL }},
3124 { &hf_x2ap_ErrorIndication_PDU,
3125 { "ErrorIndication", "x2ap.ErrorIndication",
3126 FT_NONE, BASE_NONE, NULL, 0,
3127 "x2ap.ErrorIndication", HFILL }},
3128 { &hf_x2ap_ResetRequest_PDU,
3129 { "ResetRequest", "x2ap.ResetRequest",
3130 FT_NONE, BASE_NONE, NULL, 0,
3131 "x2ap.ResetRequest", HFILL }},
3132 { &hf_x2ap_ResetResponse_PDU,
3133 { "ResetResponse", "x2ap.ResetResponse",
3134 FT_NONE, BASE_NONE, NULL, 0,
3135 "x2ap.ResetResponse", HFILL }},
3136 { &hf_x2ap_X2SetupRequest_PDU,
3137 { "X2SetupRequest", "x2ap.X2SetupRequest",
3138 FT_NONE, BASE_NONE, NULL, 0,
3139 "x2ap.X2SetupRequest", HFILL }},
3140 { &hf_x2ap_X2SetupResponse_PDU,
3141 { "X2SetupResponse", "x2ap.X2SetupResponse",
3142 FT_NONE, BASE_NONE, NULL, 0,
3143 "x2ap.X2SetupResponse", HFILL }},
3144 { &hf_x2ap_X2SetupFailure_PDU,
3145 { "X2SetupFailure", "x2ap.X2SetupFailure",
3146 FT_NONE, BASE_NONE, NULL, 0,
3147 "x2ap.X2SetupFailure", HFILL }},
3148 { &hf_x2ap_LoadInformation_PDU,
3149 { "LoadInformation", "x2ap.LoadInformation",
3150 FT_NONE, BASE_NONE, NULL, 0,
3151 "x2ap.LoadInformation", HFILL }},
3152 { &hf_x2ap_CellInformation_List_PDU,
3153 { "CellInformation-List", "x2ap.CellInformation_List",
3154 FT_UINT32, BASE_DEC, NULL, 0,
3155 "x2ap.CellInformation_List", HFILL }},
3156 { &hf_x2ap_CellInformation_Item_PDU,
3157 { "CellInformation-Item", "x2ap.CellInformation_Item",
3158 FT_NONE, BASE_NONE, NULL, 0,
3159 "x2ap.CellInformation_Item", HFILL }},
3160 { &hf_x2ap_ENBConfigurationUpdate_PDU,
3161 { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate",
3162 FT_NONE, BASE_NONE, NULL, 0,
3163 "x2ap.ENBConfigurationUpdate", HFILL }},
3164 { &hf_x2ap_ServedCellsToModify_PDU,
3165 { "ServedCellsToModify", "x2ap.ServedCellsToModify",
3166 FT_UINT32, BASE_DEC, NULL, 0,
3167 "x2ap.ServedCellsToModify", HFILL }},
3168 { &hf_x2ap_Old_ECGIs_PDU,
3169 { "Old-ECGIs", "x2ap.Old_ECGIs",
3170 FT_UINT32, BASE_DEC, NULL, 0,
3171 "x2ap.Old_ECGIs", HFILL }},
3172 { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU,
3173 { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge",
3174 FT_NONE, BASE_NONE, NULL, 0,
3175 "x2ap.ENBConfigurationUpdateAcknowledge", HFILL }},
3176 { &hf_x2ap_ENBConfigurationUpdateFailure_PDU,
3177 { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure",
3178 FT_NONE, BASE_NONE, NULL, 0,
3179 "x2ap.ENBConfigurationUpdateFailure", HFILL }},
3180 { &hf_x2ap_ResourceStatusRequest_PDU,
3181 { "ResourceStatusRequest", "x2ap.ResourceStatusRequest",
3182 FT_NONE, BASE_NONE, NULL, 0,
3183 "x2ap.ResourceStatusRequest", HFILL }},
3184 { &hf_x2ap_CellToReport_List_PDU,
3185 { "CellToReport-List", "x2ap.CellToReport_List",
3186 FT_UINT32, BASE_DEC, NULL, 0,
3187 "x2ap.CellToReport_List", HFILL }},
3188 { &hf_x2ap_CellToReport_Item_PDU,
3189 { "CellToReport-Item", "x2ap.CellToReport_Item",
3190 FT_NONE, BASE_NONE, NULL, 0,
3191 "x2ap.CellToReport_Item", HFILL }},
3192 { &hf_x2ap_ReportingPeriod_PDU,
3193 { "ReportingPeriod", "x2ap.ReportingPeriod",
3194 FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriod_vals), 0,
3195 "x2ap.ReportingPeriod", HFILL }},
3196 { &hf_x2ap_ResourceStatusResponse_PDU,
3197 { "ResourceStatusResponse", "x2ap.ResourceStatusResponse",
3198 FT_NONE, BASE_NONE, NULL, 0,
3199 "x2ap.ResourceStatusResponse", HFILL }},
3200 { &hf_x2ap_ResourceStatusFailure_PDU,
3201 { "ResourceStatusFailure", "x2ap.ResourceStatusFailure",
3202 FT_NONE, BASE_NONE, NULL, 0,
3203 "x2ap.ResourceStatusFailure", HFILL }},
3204 { &hf_x2ap_ResourceStatusUpdate_PDU,
3205 { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate",
3206 FT_NONE, BASE_NONE, NULL, 0,
3207 "x2ap.ResourceStatusUpdate", HFILL }},
3208 { &hf_x2ap_CellMeasurementResult_List_PDU,
3209 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List",
3210 FT_UINT32, BASE_DEC, NULL, 0,
3211 "x2ap.CellMeasurementResult_List", HFILL }},
3212 { &hf_x2ap_CellMeasurementResult_Item_PDU,
3213 { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item",
3214 FT_NONE, BASE_NONE, NULL, 0,
3215 "x2ap.CellMeasurementResult_Item", HFILL }},
3216 { &hf_x2ap_X2AP_PDU_PDU,
3217 { "X2AP-PDU", "x2ap.X2AP_PDU",
3218 FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
3219 "x2ap.X2AP_PDU", HFILL }},
3220 { &hf_x2ap_ProtocolIE_Container_item,
3221 { "ProtocolIE-Container", "x2ap.ProtocolIE_Container_item",
3222 FT_NONE, BASE_NONE, NULL, 0,
3223 "x2ap.ProtocolIE_Field", HFILL }},
3226 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3227 "x2ap.ProtocolIE_ID", HFILL }},
3228 { &hf_x2ap_criticality,
3229 { "criticality", "x2ap.criticality",
3230 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3231 "x2ap.Criticality", HFILL }},
3232 { &hf_x2ap_protocolIE_Field_value,
3233 { "value", "x2ap.value",
3234 FT_NONE, BASE_NONE, NULL, 0,
3235 "x2ap.ProtocolIE_Field_value", HFILL }},
3236 { &hf_x2ap_ProtocolExtensionContainer_item,
3237 { "ProtocolExtensionContainer", "x2ap.ProtocolExtensionContainer_item",
3238 FT_NONE, BASE_NONE, NULL, 0,
3239 "x2ap.ProtocolExtensionField", HFILL }},
3240 { &hf_x2ap_extension_id,
3242 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3243 "x2ap.ProtocolIE_ID", HFILL }},
3244 { &hf_x2ap_extensionValue,
3245 { "extensionValue", "x2ap.extensionValue",
3246 FT_NONE, BASE_NONE, NULL, 0,
3247 "x2ap.T_extensionValue", HFILL }},
3248 { &hf_x2ap_BroadcastPLMNs_Item_item,
3249 { "BroadcastPLMNs-Item", "x2ap.BroadcastPLMNs_Item_item",
3250 FT_BYTES, BASE_HEX, NULL, 0,
3251 "x2ap.PLMN_Identity", HFILL }},
3252 { &hf_x2ap_radioNetwork,
3253 { "radioNetwork", "x2ap.radioNetwork",
3254 FT_UINT32, BASE_DEC, VALS(x2ap_CauseRadioNetwork_vals), 0,
3255 "x2ap.CauseRadioNetwork", HFILL }},
3256 { &hf_x2ap_transport,
3257 { "transport", "x2ap.transport",
3258 FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0,
3259 "x2ap.CauseTransport", HFILL }},
3260 { &hf_x2ap_protocol,
3261 { "protocol", "x2ap.protocol",
3262 FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0,
3263 "x2ap.CauseProtocol", HFILL }},
3265 { "misc", "x2ap.misc",
3266 FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
3267 "x2ap.CauseMisc", HFILL }},
3269 { "pDCP-SN", "x2ap.pDCP_SN",
3270 FT_UINT32, BASE_DEC, NULL, 0,
3271 "x2ap.PDCP_SN", HFILL }},
3273 { "hFN", "x2ap.hFN",
3274 FT_UINT32, BASE_DEC, NULL, 0,
3275 "x2ap.HFN", HFILL }},
3276 { &hf_x2ap_iE_Extensions,
3277 { "iE-Extensions", "x2ap.iE_Extensions",
3278 FT_UINT32, BASE_DEC, NULL, 0,
3279 "x2ap.ProtocolExtensionContainer", HFILL }},
3280 { &hf_x2ap_procedureCode,
3281 { "procedureCode", "x2ap.procedureCode",
3282 FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureCode_vals), 0,
3283 "x2ap.ProcedureCode", HFILL }},
3284 { &hf_x2ap_triggeringMessage,
3285 { "triggeringMessage", "x2ap.triggeringMessage",
3286 FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0,
3287 "x2ap.TriggeringMessage", HFILL }},
3288 { &hf_x2ap_procedureCriticality,
3289 { "procedureCriticality", "x2ap.procedureCriticality",
3290 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3291 "x2ap.Criticality", HFILL }},
3292 { &hf_x2ap_iEsCriticalityDiagnostics,
3293 { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics",
3294 FT_UINT32, BASE_DEC, NULL, 0,
3295 "x2ap.CriticalityDiagnostics_IE_List", HFILL }},
3296 { &hf_x2ap_CriticalityDiagnostics_IE_List_item,
3297 { "CriticalityDiagnostics-IE-List", "x2ap.CriticalityDiagnostics_IE_List_item",
3298 FT_NONE, BASE_NONE, NULL, 0,
3299 "x2ap.CriticalityDiagnostics_IE_List_item", HFILL }},
3300 { &hf_x2ap_iECriticality,
3301 { "iECriticality", "x2ap.iECriticality",
3302 FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0,
3303 "x2ap.Criticality", HFILL }},
3305 { "iE-ID", "x2ap.iE_ID",
3306 FT_UINT32, BASE_DEC, VALS(x2ap_ProtocolIE_ID_vals), 0,
3307 "x2ap.ProtocolIE_ID", HFILL }},
3308 { &hf_x2ap_typeOfError,
3309 { "typeOfError", "x2ap.typeOfError",
3310 FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0,
3311 "x2ap.TypeOfError", HFILL }},
3312 { &hf_x2ap_pLMN_Identity,
3313 { "pLMN-Identity", "x2ap.pLMN_Identity",
3314 FT_BYTES, BASE_HEX, NULL, 0,
3315 "x2ap.PLMN_Identity", HFILL }},
3316 { &hf_x2ap_eUTRANcellIdentifier,
3317 { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier",
3318 FT_BYTES, BASE_HEX, NULL, 0,
3319 "x2ap.EUTRANCellIdentifier", HFILL }},
3320 { &hf_x2ap_macro_eNB_ID,
3321 { "macro-eNB-ID", "x2ap.macro_eNB_ID",
3322 FT_BYTES, BASE_HEX, NULL, 0,
3323 "x2ap.BIT_STRING_SIZE_20", HFILL }},
3324 { &hf_x2ap_home_eNB_ID,
3325 { "home-eNB-ID", "x2ap.home_eNB_ID",
3326 FT_BYTES, BASE_HEX, NULL, 0,
3327 "x2ap.BIT_STRING_SIZE_28", HFILL }},
3328 { &hf_x2ap_EPLMNs_item,
3329 { "EPLMNs", "x2ap.EPLMNs_item",
3330 FT_BYTES, BASE_HEX, NULL, 0,
3331 "x2ap.PLMN_Identity", HFILL }},
3332 { &hf_x2ap_ForbiddenTAs_item,
3333 { "ForbiddenTAs", "x2ap.ForbiddenTAs_item",
3334 FT_NONE, BASE_NONE, NULL, 0,
3335 "x2ap.ForbiddenTAs_Item", HFILL }},
3336 { &hf_x2ap_forbiddenTACs,
3337 { "forbiddenTACs", "x2ap.forbiddenTACs",
3338 FT_UINT32, BASE_DEC, NULL, 0,
3339 "x2ap.ForbiddenTACs", HFILL }},
3340 { &hf_x2ap_ForbiddenTACs_item,
3341 { "ForbiddenTACs", "x2ap.ForbiddenTACs_item",
3342 FT_BYTES, BASE_HEX, NULL, 0,
3343 "x2ap.TAC", HFILL }},
3344 { &hf_x2ap_ForbiddenLAs_item,
3345 { "ForbiddenLAs", "x2ap.ForbiddenLAs_item",
3346 FT_NONE, BASE_NONE, NULL, 0,
3347 "x2ap.ForbiddenLAs_Item", HFILL }},
3348 { &hf_x2ap_forbiddenLACs,
3349 { "forbiddenLACs", "x2ap.forbiddenLACs",
3350 FT_UINT32, BASE_DEC, NULL, 0,
3351 "x2ap.ForbiddenLACs", HFILL }},
3352 { &hf_x2ap_ForbiddenLACs_item,
3353 { "ForbiddenLACs", "x2ap.ForbiddenLACs_item",
3354 FT_BYTES, BASE_HEX, NULL, 0,
3355 "x2ap.LAC", HFILL }},
3356 { &hf_x2ap_sAE_Bearer_MaximumBitrateDL,
3357 { "sAE-Bearer-MaximumBitrateDL", "x2ap.sAE_Bearer_MaximumBitrateDL",
3358 FT_UINT32, BASE_DEC, NULL, 0,
3359 "x2ap.BitRate", HFILL }},
3360 { &hf_x2ap_sAE_Bearer_MaximumBitrateUL,
3361 { "sAE-Bearer-MaximumBitrateUL", "x2ap.sAE_Bearer_MaximumBitrateUL",
3362 FT_UINT32, BASE_DEC, NULL, 0,
3363 "x2ap.BitRate", HFILL }},
3364 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateDL,
3365 { "sAE-Bearer-GuaranteedBitrateDL", "x2ap.sAE_Bearer_GuaranteedBitrateDL",
3366 FT_UINT32, BASE_DEC, NULL, 0,
3367 "x2ap.BitRate", HFILL }},
3368 { &hf_x2ap_sAE_Bearer_GuaranteedBitrateUL,
3369 { "sAE-Bearer-GuaranteedBitrateUL", "x2ap.sAE_Bearer_GuaranteedBitrateUL",
3370 FT_UINT32, BASE_DEC, NULL, 0,
3371 "x2ap.BitRate", HFILL }},
3373 { "eNB-ID", "x2ap.eNB_ID",
3374 FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0,
3375 "x2ap.ENB_ID", HFILL }},
3376 { &hf_x2ap_transportLayerAddress,
3377 { "transportLayerAddress", "x2ap.transportLayerAddress",
3378 FT_BYTES, BASE_HEX, NULL, 0,
3379 "x2ap.TransportLayerAddress", HFILL }},
3380 { &hf_x2ap_gTP_TEID,
3381 { "gTP-TEID", "x2ap.gTP_TEID",
3382 FT_BYTES, BASE_HEX, NULL, 0,
3383 "x2ap.GTP_TEI", HFILL }},
3384 { &hf_x2ap_GUGroupIDList_item,
3385 { "GUGroupIDList", "x2ap.GUGroupIDList_item",
3386 FT_NONE, BASE_NONE, NULL, 0,
3387 "x2ap.GU_Group_ID", HFILL }},
3388 { &hf_x2ap_mME_Group_ID,
3389 { "mME-Group-ID", "x2ap.mME_Group_ID",
3390 FT_BYTES, BASE_HEX, NULL, 0,
3391 "x2ap.MME_Group_ID", HFILL }},
3392 { &hf_x2ap_gU_Group_ID,
3393 { "gU-Group-ID", "x2ap.gU_Group_ID",
3394 FT_NONE, BASE_NONE, NULL, 0,
3395 "x2ap.GU_Group_ID", HFILL }},
3396 { &hf_x2ap_mMME_Code,
3397 { "mMME-Code", "x2ap.mMME_Code",
3398 FT_BYTES, BASE_HEX, NULL, 0,
3399 "x2ap.MME_Code", HFILL }},
3400 { &hf_x2ap_servingPLMN,
3401 { "servingPLMN", "x2ap.servingPLMN",
3402 FT_BYTES, BASE_HEX, NULL, 0,
3403 "x2ap.PLMN_Identity", HFILL }},
3404 { &hf_x2ap_equivalentPLMNs,
3405 { "equivalentPLMNs", "x2ap.equivalentPLMNs",
3406 FT_UINT32, BASE_DEC, NULL, 0,
3407 "x2ap.EPLMNs", HFILL }},
3408 { &hf_x2ap_forbiddenTAs,
3409 { "forbiddenTAs", "x2ap.forbiddenTAs",
3410 FT_UINT32, BASE_DEC, NULL, 0,
3411 "x2ap.ForbiddenTAs", HFILL }},
3412 { &hf_x2ap_forbiddenLAs,
3413 { "forbiddenLAs", "x2ap.forbiddenLAs",
3414 FT_UINT32, BASE_DEC, NULL, 0,
3415 "x2ap.ForbiddenLAs", HFILL }},
3416 { &hf_x2ap_forbiddenInterRATs,
3417 { "forbiddenInterRATs", "x2ap.forbiddenInterRATs",
3418 FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0,
3419 "x2ap.ForbiddenInterRATs", HFILL }},
3420 { &hf_x2ap_InterfacesToTrace_item,
3421 { "InterfacesToTrace", "x2ap.InterfacesToTrace_item",
3422 FT_NONE, BASE_NONE, NULL, 0,
3423 "x2ap.ProtocolIE_Single_Container", HFILL }},
3424 { &hf_x2ap_traceInterface,
3425 { "traceInterface", "x2ap.traceInterface",
3426 FT_UINT32, BASE_DEC, VALS(x2ap_TraceInterface_vals), 0,
3427 "x2ap.TraceInterface", HFILL }},
3428 { &hf_x2ap_traceDepth,
3429 { "traceDepth", "x2ap.traceDepth",
3430 FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0,
3431 "x2ap.TraceDepth", HFILL }},
3432 { &hf_x2ap_global_Cell_ID,
3433 { "global-Cell-ID", "x2ap.global_Cell_ID",
3434 FT_NONE, BASE_NONE, NULL, 0,
3435 "x2ap.ECGI", HFILL }},
3436 { &hf_x2ap_cellType,
3437 { "cellType", "x2ap.cellType",
3438 FT_UINT32, BASE_DEC, VALS(x2ap_CellType_vals), 0,
3439 "x2ap.CellType", HFILL }},
3440 { &hf_x2ap_time_UE_StayedInCell,
3441 { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell",
3442 FT_INT32, BASE_DEC, NULL, 0,
3443 "x2ap.Time_UE_StayedInCell", HFILL }},
3444 { &hf_x2ap_eventType,
3445 { "eventType", "x2ap.eventType",
3446 FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0,
3447 "x2ap.EventType", HFILL }},
3448 { &hf_x2ap_reportArea,
3449 { "reportArea", "x2ap.reportArea",
3450 FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
3451 "x2ap.ReportArea", HFILL }},
3452 { &hf_x2ap_rNTP_PerPRB,
3453 { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
3454 FT_BYTES, BASE_HEX, NULL, 0,
3455 "x2ap.BIT_STRING_SIZE_6_110_", HFILL }},
3456 { &hf_x2ap_rNTP_Threshold,
3457 { "rNTP-Threshold", "x2ap.rNTP_Threshold",
3458 FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
3459 "x2ap.RNTP_Threshold", HFILL }},
3460 { &hf_x2ap_numberOfCellSpecificAntennaPorts,
3461 { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
3462 FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
3463 "x2ap.T_numberOfCellSpecificAntennaPorts", HFILL }},
3465 { "p-B", "x2ap.p_B",
3466 FT_UINT32, BASE_DEC, NULL, 0,
3467 "x2ap.INTEGER_0_3_", HFILL }},
3468 { &hf_x2ap_pDCCH_InterferenceImpact,
3469 { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
3470 FT_UINT32, BASE_DEC, NULL, 0,
3471 "x2ap.INTEGER_0_4_", HFILL }},
3473 { "qCI", "x2ap.qCI",
3474 FT_UINT32, BASE_DEC, NULL, 0,
3475 "x2ap.QCI", HFILL }},
3476 { &hf_x2ap_allocationAndRetentionPriority,
3477 { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority",
3478 FT_UINT32, BASE_DEC, NULL, 0,
3479 "x2ap.AllocationAndRetentionPriority", HFILL }},
3480 { &hf_x2ap_gbrQosInformation,
3481 { "gbrQosInformation", "x2ap.gbrQosInformation",
3482 FT_NONE, BASE_NONE, NULL, 0,
3483 "x2ap.GBR_QosInformation", HFILL }},
3484 { &hf_x2ap_ServedCells_item,
3485 { "ServedCells", "x2ap.ServedCells_item",
3486 FT_NONE, BASE_NONE, NULL, 0,
3487 "x2ap.ServedCell_Information", HFILL }},
3489 { "phyCID", "x2ap.phyCID",
3490 FT_UINT32, BASE_DEC, NULL, 0,
3491 "x2ap.PhyCID", HFILL }},
3493 { "cellId", "x2ap.cellId",
3494 FT_NONE, BASE_NONE, NULL, 0,
3495 "x2ap.ECGI", HFILL }},
3497 { "tAC", "x2ap.tAC",
3498 FT_BYTES, BASE_HEX, NULL, 0,
3499 "x2ap.TAC", HFILL }},
3500 { &hf_x2ap_broadcastPLMNs,
3501 { "broadcastPLMNs", "x2ap.broadcastPLMNs",
3502 FT_UINT32, BASE_DEC, NULL, 0,
3503 "x2ap.BroadcastPLMNs_Item", HFILL }},
3504 { &hf_x2ap_uL_EARFCN,
3505 { "uL-EARFCN", "x2ap.uL_EARFCN",
3506 FT_UINT32, BASE_DEC, NULL, 0,
3507 "x2ap.EARFCN", HFILL }},
3508 { &hf_x2ap_dL_EARFCN,
3509 { "dL-EARFCN", "x2ap.dL_EARFCN",
3510 FT_UINT32, BASE_DEC, NULL, 0,
3511 "x2ap.EARFCN", HFILL }},
3512 { &hf_x2ap_cell_Transmission_Bandwidth,
3513 { "cell-Transmission-Bandwidth", "x2ap.cell_Transmission_Bandwidth",
3514 FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Transmission_Bandwidth_vals), 0,
3515 "x2ap.Cell_Transmission_Bandwidth", HFILL }},
3516 { &hf_x2ap_traceReference,
3517 { "traceReference", "x2ap.traceReference",
3518 FT_BYTES, BASE_HEX, NULL, 0,
3519 "x2ap.TraceReference", HFILL }},
3520 { &hf_x2ap_interfacesToTrace,
3521 { "interfacesToTrace", "x2ap.interfacesToTrace",
3522 FT_UINT32, BASE_DEC, NULL, 0,
3523 "x2ap.InterfacesToTrace", HFILL }},
3524 { &hf_x2ap_UE_HistoryInformation_item,
3525 { "UE-HistoryInformation", "x2ap.UE_HistoryInformation_item",
3526 FT_NONE, BASE_NONE, NULL, 0,
3527 "x2ap.LastVisitedCell_Item", HFILL }},
3528 { &hf_x2ap_uEaggregateMaximumBitRateDownlink,
3529 { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink",
3530 FT_UINT32, BASE_DEC, NULL, 0,
3531 "x2ap.BitRate", HFILL }},
3532 { &hf_x2ap_uEaggregateMaximumBitRateUplink,
3533 { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink",
3534 FT_UINT32, BASE_DEC, NULL, 0,
3535 "x2ap.BitRate", HFILL }},
3536 { &hf_x2ap_UL_InterferenceOverloadIndication_item,
3537 { "UL-InterferenceOverloadIndication", "x2ap.UL_InterferenceOverloadIndication_item",
3538 FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0,
3539 "x2ap.UL_InterferenceOverloadIndication_Item", HFILL }},
3540 { &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
3541 { "UL-HighInterferenceIndicationInfo", "x2ap.UL_HighInterferenceIndicationInfo_item",
3542 FT_NONE, BASE_NONE, NULL, 0,
3543 "x2ap.UL_HighInterferenceIndicationInfo_Item", HFILL }},
3544 { &hf_x2ap_ul_interferenceindication,
3545 { "ul-interferenceindication", "x2ap.ul_interferenceindication",
3546 FT_BYTES, BASE_HEX, NULL, 0,
3547 "x2ap.UL_HighInterferenceIndication", HFILL }},
3548 { &hf_x2ap_target_Cell_ID,
3549 { "target-Cell-ID", "x2ap.target_Cell_ID",
3550 FT_NONE, BASE_NONE, NULL, 0,
3551 "x2ap.ECGI", HFILL }},
3552 { &hf_x2ap_protocolIEs,
3553 { "protocolIEs", "x2ap.protocolIEs",
3554 FT_UINT32, BASE_DEC, NULL, 0,
3555 "x2ap.ProtocolIE_Container", HFILL }},
3556 { &hf_x2ap_mME_UE_S1AP_ID,
3557 { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID",
3558 FT_UINT32, BASE_DEC, NULL, 0,
3559 "x2ap.UE_S1AP_ID", HFILL }},
3560 { &hf_x2ap_uEaggregateMaximumBitRate,
3561 { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate",
3562 FT_NONE, BASE_NONE, NULL, 0,
3563 "x2ap.UEAggregateMaximumBitRate", HFILL }},
3564 { &hf_x2ap_subscriberProfileIDforRFP,
3565 { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP",
3566 FT_UINT32, BASE_DEC, NULL, 0,
3567 "x2ap.SubscriberProfileIDforRFP", HFILL }},
3568 { &hf_x2ap_bearers_ToBeSetup_List,
3569 { "bearers-ToBeSetup-List", "x2ap.bearers_ToBeSetup_List",
3570 FT_UINT32, BASE_DEC, NULL, 0,
3571 "x2ap.Bearers_ToBeSetup_List", HFILL }},
3572 { &hf_x2ap_rRC_Context,
3573 { "rRC-Context", "x2ap.rRC_Context",
3574 FT_BYTES, BASE_HEX, NULL, 0,
3575 "x2ap.RRC_Context", HFILL }},
3576 { &hf_x2ap_handoverRestrictionList,
3577 { "handoverRestrictionList", "x2ap.handoverRestrictionList",
3578 FT_NONE, BASE_NONE, NULL, 0,
3579 "x2ap.HandoverRestrictionList", HFILL }},
3580 { &hf_x2ap_locationReportingInformation,
3581 { "locationReportingInformation", "x2ap.locationReportingInformation",
3582 FT_NONE, BASE_NONE, NULL, 0,
3583 "x2ap.LocationReportingInformation", HFILL }},
3584 { &hf_x2ap_Bearers_ToBeSetup_List_item,
3585 { "Bearers-ToBeSetup-List", "x2ap.Bearers_ToBeSetup_List_item",
3586 FT_NONE, BASE_NONE, NULL, 0,
3587 "x2ap.ProtocolIE_Single_Container", HFILL }},
3588 { &hf_x2ap_sAE_Bearer_ID,
3589 { "sAE-Bearer-ID", "x2ap.sAE_Bearer_ID",
3590 FT_UINT32, BASE_DEC, NULL, 0,
3591 "x2ap.Bearer_ID", HFILL }},
3592 { &hf_x2ap_sAE_BearerLevel_QoS_Parameters,
3593 { "sAE-BearerLevel-QoS-Parameters", "x2ap.sAE_BearerLevel_QoS_Parameters",
3594 FT_NONE, BASE_NONE, NULL, 0,
3595 "x2ap.SAE_BearerLevel_QoS_Parameters", HFILL }},
3596 { &hf_x2ap_dL_Forwarding,
3597 { "dL-Forwarding", "x2ap.dL_Forwarding",
3598 FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0,
3599 "x2ap.DL_Forwarding", HFILL }},
3600 { &hf_x2ap_uL_GTPtunnelEndpoint,
3601 { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint",
3602 FT_NONE, BASE_NONE, NULL, 0,
3603 "x2ap.GTPtunnelEndpoint", HFILL }},
3604 { &hf_x2ap_Bearers_Admitted_List_item,
3605 { "Bearers-Admitted-List", "x2ap.Bearers_Admitted_List_item",
3606 FT_NONE, BASE_NONE, NULL, 0,
3607 "x2ap.ProtocolIE_Single_Container", HFILL }},
3608 { &hf_x2ap_bearer_ID,
3609 { "bearer-ID", "x2ap.bearer_ID",
3610 FT_UINT32, BASE_DEC, NULL, 0,
3611 "x2ap.Bearer_ID", HFILL }},
3612 { &hf_x2ap_uL_GTP_TunnelEndpoint,
3613 { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint",
3614 FT_NONE, BASE_NONE, NULL, 0,
3615 "x2ap.GTPtunnelEndpoint", HFILL }},
3616 { &hf_x2ap_dL_GTP_TunnelEndpoint,
3617 { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint",
3618 FT_NONE, BASE_NONE, NULL, 0,
3619 "x2ap.GTPtunnelEndpoint", HFILL }},
3620 { &hf_x2ap_Bearers_NotAdmitted_List_item,
3621 { "Bearers-NotAdmitted-List", "x2ap.Bearers_NotAdmitted_List_item",
3622 FT_NONE, BASE_NONE, NULL, 0,
3623 "x2ap.ProtocolIE_Single_Container", HFILL }},
3625 { "cause", "x2ap.cause",
3626 FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
3627 "x2ap.Cause", HFILL }},
3628 { &hf_x2ap_Bearers_SubjectToStatusTransfer_List_item,
3629 { "Bearers-SubjectToStatusTransfer-List", "x2ap.Bearers_SubjectToStatusTransfer_List_item",
3630 FT_NONE, BASE_NONE, NULL, 0,
3631 "x2ap.ProtocolIE_Single_Container", HFILL }},
3632 { &hf_x2ap_receiveStatusofULPDCPSDUs,
3633 { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs",
3634 FT_BYTES, BASE_HEX, NULL, 0,
3635 "x2ap.ReceiveStatusofULPDCPSDUs", HFILL }},
3636 { &hf_x2ap_uL_COUNTvalue,
3637 { "uL-COUNTvalue", "x2ap.uL_COUNTvalue",
3638 FT_NONE, BASE_NONE, NULL, 0,
3639 "x2ap.COUNTvalue", HFILL }},
3640 { &hf_x2ap_dL_COUNTvalue,
3641 { "dL-COUNTvalue", "x2ap.dL_COUNTvalue",
3642 FT_NONE, BASE_NONE, NULL, 0,
3643 "x2ap.COUNTvalue", HFILL }},
3644 { &hf_x2ap_CellInformation_List_item,
3645 { "CellInformation-List", "x2ap.CellInformation_List_item",
3646 FT_NONE, BASE_NONE, NULL, 0,
3647 "x2ap.ProtocolIE_Single_Container", HFILL }},
3649 { "cell-ID", "x2ap.cell_ID",
3650 FT_NONE, BASE_NONE, NULL, 0,
3651 "x2ap.ECGI", HFILL }},
3652 { &hf_x2ap_ul_InterferenceOverloadIndication,
3653 { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication",
3654 FT_UINT32, BASE_DEC, NULL, 0,
3655 "x2ap.UL_InterferenceOverloadIndication", HFILL }},
3656 { &hf_x2ap_ul_HighInterferenceIndicationInfo,
3657 { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo",
3658 FT_UINT32, BASE_DEC, NULL, 0,
3659 "x2ap.UL_HighInterferenceIndicationInfo", HFILL }},
3660 { &hf_x2ap_relativeNarrowbandTxPower,
3661 { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower",
3662 FT_NONE, BASE_NONE, NULL, 0,
3663 "x2ap.RelativeNarrowbandTxPower", HFILL }},
3664 { &hf_x2ap_ServedCellsToModify_item,
3665 { "ServedCellsToModify", "x2ap.ServedCellsToModify_item",
3666 FT_NONE, BASE_NONE, NULL, 0,
3667 "x2ap.ServedCellsToModify_Item", HFILL }},
3668 { &hf_x2ap_old_ecgi,
3669 { "old-ecgi", "x2ap.old_ecgi",
3670 FT_NONE, BASE_NONE, NULL, 0,
3671 "x2ap.ECGI", HFILL }},
3672 { &hf_x2ap_served_cells,
3673 { "served-cells", "x2ap.served_cells",
3674 FT_NONE, BASE_NONE, NULL, 0,
3675 "x2ap.ServedCell_Information", HFILL }},
3676 { &hf_x2ap_Old_ECGIs_item,
3677 { "Old-ECGIs", "x2ap.Old_ECGIs_item",
3678 FT_NONE, BASE_NONE, NULL, 0,
3679 "x2ap.ECGI", HFILL }},
3680 { &hf_x2ap_CellToReport_List_item,
3681 { "CellToReport-List", "x2ap.CellToReport_List_item",
3682 FT_NONE, BASE_NONE, NULL, 0,
3683 "x2ap.ProtocolIE_Single_Container", HFILL }},
3684 { &hf_x2ap_CellMeasurementResult_List_item,
3685 { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List_item",
3686 FT_NONE, BASE_NONE, NULL, 0,
3687 "x2ap.ProtocolIE_Single_Container", HFILL }},
3688 { &hf_x2ap_resoureStatus,
3689 { "resoureStatus", "x2ap.resoureStatus",
3690 FT_INT32, BASE_DEC, NULL, 0,
3691 "x2ap.ResourceStatus", HFILL }},
3692 { &hf_x2ap_initiatingMessage,
3693 { "initiatingMessage", "x2ap.initiatingMessage",
3694 FT_NONE, BASE_NONE, NULL, 0,
3695 "x2ap.InitiatingMessage", HFILL }},
3696 { &hf_x2ap_successfulOutcome,
3697 { "successfulOutcome", "x2ap.successfulOutcome",
3698 FT_NONE, BASE_NONE, NULL, 0,
3699 "x2ap.SuccessfulOutcome", HFILL }},
3700 { &hf_x2ap_unsuccessfulOutcome,
3701 { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome",
3702 FT_NONE, BASE_NONE, NULL, 0,
3703 "x2ap.UnsuccessfulOutcome", HFILL }},
3704 { &hf_x2ap_initiatingMessage_value,
3705 { "value", "x2ap.value",
3706 FT_NONE, BASE_NONE, NULL, 0,
3707 "x2ap.InitiatingMessage_value", HFILL }},
3708 { &hf_x2ap_successfulOutcome_value,
3709 { "value", "x2ap.value",
3710 FT_NONE, BASE_NONE, NULL, 0,
3711 "x2ap.SuccessfulOutcome_value", HFILL }},
3713 { "value", "x2ap.value",
3714 FT_NONE, BASE_NONE, NULL, 0,
3715 "x2ap.UnsuccessfulOutcome_value", HFILL }},
3717 /*--- End of included file: packet-x2ap-hfarr.c ---*/
3718 #line 140 "packet-x2ap-template.c"
3721 /* List of subtrees */
3722 static gint *ett[] = {
3725 /*--- Included file: packet-x2ap-ettarr.c ---*/
3726 #line 1 "packet-x2ap-ettarr.c"
3727 &ett_x2ap_ProtocolIE_Container,
3728 &ett_x2ap_ProtocolIE_Field,
3729 &ett_x2ap_ProtocolExtensionContainer,
3730 &ett_x2ap_ProtocolExtensionField,
3731 &ett_x2ap_BroadcastPLMNs_Item,
3733 &ett_x2ap_COUNTvalue,
3734 &ett_x2ap_CriticalityDiagnostics,
3735 &ett_x2ap_CriticalityDiagnostics_IE_List,
3736 &ett_x2ap_CriticalityDiagnostics_IE_List_item,
3740 &ett_x2ap_ForbiddenTAs,
3741 &ett_x2ap_ForbiddenTAs_Item,
3742 &ett_x2ap_ForbiddenTACs,
3743 &ett_x2ap_ForbiddenLAs,
3744 &ett_x2ap_ForbiddenLAs_Item,
3745 &ett_x2ap_ForbiddenLACs,
3746 &ett_x2ap_GBR_QosInformation,
3747 &ett_x2ap_GlobalENB_ID,
3748 &ett_x2ap_GTPtunnelEndpoint,
3749 &ett_x2ap_GUGroupIDList,
3750 &ett_x2ap_GU_Group_ID,
3752 &ett_x2ap_HandoverRestrictionList,
3753 &ett_x2ap_InterfacesToTrace,
3754 &ett_x2ap_InterfacesToTrace_Item,
3755 &ett_x2ap_LastVisitedCell_Item,
3756 &ett_x2ap_LocationReportingInformation,
3757 &ett_x2ap_RelativeNarrowbandTxPower,
3758 &ett_x2ap_SAE_BearerLevel_QoS_Parameters,
3759 &ett_x2ap_ServedCells,
3760 &ett_x2ap_ServedCell_Information,
3761 &ett_x2ap_TraceActivation,
3762 &ett_x2ap_UE_HistoryInformation,
3763 &ett_x2ap_UEAggregateMaximumBitRate,
3764 &ett_x2ap_UL_InterferenceOverloadIndication,
3765 &ett_x2ap_UL_HighInterferenceIndicationInfo,
3766 &ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
3767 &ett_x2ap_HandoverRequest,
3768 &ett_x2ap_UE_ContextInformation,
3769 &ett_x2ap_Bearers_ToBeSetup_List,
3770 &ett_x2ap_Bearers_ToBeSetup_Item,
3771 &ett_x2ap_HandoverRequestAcknowledge,
3772 &ett_x2ap_Bearers_Admitted_List,
3773 &ett_x2ap_Bearers_Admitted_Item,
3774 &ett_x2ap_Bearers_NotAdmitted_List,
3775 &ett_x2ap_Bearers_NotAdmitted_Item,
3776 &ett_x2ap_HandoverPreparationFailure,
3777 &ett_x2ap_SNStatusTransfer,
3778 &ett_x2ap_Bearers_SubjectToStatusTransfer_List,
3779 &ett_x2ap_Bearers_SubjectToStatusTransfer_Item,
3780 &ett_x2ap_UEContextRelease,
3781 &ett_x2ap_HandoverCancel,
3782 &ett_x2ap_ErrorIndication,
3783 &ett_x2ap_ResetRequest,
3784 &ett_x2ap_ResetResponse,
3785 &ett_x2ap_X2SetupRequest,
3786 &ett_x2ap_X2SetupResponse,
3787 &ett_x2ap_X2SetupFailure,
3788 &ett_x2ap_LoadInformation,
3789 &ett_x2ap_CellInformation_List,
3790 &ett_x2ap_CellInformation_Item,
3791 &ett_x2ap_ENBConfigurationUpdate,
3792 &ett_x2ap_ServedCellsToModify,
3793 &ett_x2ap_ServedCellsToModify_Item,
3794 &ett_x2ap_Old_ECGIs,
3795 &ett_x2ap_ENBConfigurationUpdateAcknowledge,
3796 &ett_x2ap_ENBConfigurationUpdateFailure,
3797 &ett_x2ap_ResourceStatusRequest,
3798 &ett_x2ap_CellToReport_List,
3799 &ett_x2ap_CellToReport_Item,
3800 &ett_x2ap_ResourceStatusResponse,
3801 &ett_x2ap_ResourceStatusFailure,
3802 &ett_x2ap_ResourceStatusUpdate,
3803 &ett_x2ap_CellMeasurementResult_List,
3804 &ett_x2ap_CellMeasurementResult_Item,
3806 &ett_x2ap_InitiatingMessage,
3807 &ett_x2ap_SuccessfulOutcome,
3808 &ett_x2ap_UnsuccessfulOutcome,
3810 /*--- End of included file: packet-x2ap-ettarr.c ---*/
3811 #line 146 "packet-x2ap-template.c"
3815 /* Register protocol */
3816 proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
3817 /* Register fields and subtrees */
3818 proto_register_field_array(proto_x2ap, hf, array_length(hf));
3819 proto_register_subtree_array(ett, array_length(ett));
3821 /* Register dissector */
3822 register_dissector("x2ap", dissect_x2ap, proto_x2ap);
3824 /* Register dissector tables */
3825 x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
3826 x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
3827 x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_STRING, BASE_NONE);
3828 x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_STRING, BASE_NONE);
3829 x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_STRING, BASE_NONE);
3834 /*--- proto_reg_handoff_x2ap ---------------------------------------*/
3836 proto_reg_handoff_x2ap(void)
3838 dissector_handle_t x2ap_handle;
3840 x2ap_handle = find_dissector("x2ap");
3841 dissector_add_handle("sctp.port", x2ap_handle); /* for "decode-as" */
3844 /*--- Included file: packet-x2ap-dis-tab.c ---*/
3845 #line 1 "packet-x2ap-dis-tab.c"
3846 dissector_add("x2ap.ies", id_Bearers_Admitted_Item, new_create_dissector_handle(dissect_Bearers_Admitted_Item_PDU, proto_x2ap));
3847 dissector_add("x2ap.ies", id_Bearers_Admitted_List, new_create_dissector_handle(dissect_Bearers_Admitted_List_PDU, proto_x2ap));
3848 dissector_add("x2ap.ies", id_Bearers_NotAdmitted_Item, new_create_dissector_handle(dissect_Bearers_NotAdmitted_Item_PDU, proto_x2ap));
3849 dissector_add("x2ap.ies", id_Bearers_NotAdmitted_List, new_create_dissector_handle(dissect_Bearers_NotAdmitted_List_PDU, proto_x2ap));
3850 dissector_add("x2ap.ies", id_Bearers_ToBeSetup_Item, new_create_dissector_handle(dissect_Bearers_ToBeSetup_Item_PDU, proto_x2ap));
3851 dissector_add("x2ap.ies", id_Cause, new_create_dissector_handle(dissect_Cause_PDU, proto_x2ap));
3852 dissector_add("x2ap.ies", id_CellInformation, new_create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap));
3853 dissector_add("x2ap.ies", id_CellInformation_Item, new_create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap));
3854 dissector_add("x2ap.ies", id_InterfacesToTrace_Item, new_create_dissector_handle(dissect_InterfacesToTrace_Item_PDU, proto_x2ap));
3855 dissector_add("x2ap.ies", id_New_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3856 dissector_add("x2ap.ies", id_Old_eNB_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3857 dissector_add("x2ap.ies", id_TargetCell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
3858 dissector_add("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, new_create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap));
3859 dissector_add("x2ap.ies", id_TraceActivation, new_create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap));
3860 dissector_add("x2ap.ies", id_UE_ContextInformation, new_create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap));
3861 dissector_add("x2ap.ies", id_UE_HistoryInformation, new_create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap));
3862 dissector_add("x2ap.ies", id_UE_X2AP_ID, new_create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap));
3863 dissector_add("x2ap.ies", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap));
3864 dissector_add("x2ap.ies", id_Bearers_SubjectToStatusTransfer_List, new_create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_List_PDU, proto_x2ap));
3865 dissector_add("x2ap.ies", id_Bearers_SubjectToStatusTransfer_Item, new_create_dissector_handle(dissect_Bearers_SubjectToStatusTransfer_Item_PDU, proto_x2ap));
3866 dissector_add("x2ap.ies", id_ServedCells, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
3867 dissector_add("x2ap.ies", id_GlobalENB_ID, new_create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap));
3868 dissector_add("x2ap.ies", id_TimeToWait, new_create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap));
3869 dissector_add("x2ap.ies", id_GUMMEI_ID, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap));
3870 dissector_add("x2ap.ies", id_GUGroupIDList, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3871 dissector_add("x2ap.ies", id_ServedCellsToAdd, new_create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap));
3872 dissector_add("x2ap.ies", id_ServedCellsToModify, new_create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap));
3873 dissector_add("x2ap.ies", id_ServedCellsToDelete, new_create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap));
3874 dissector_add("x2ap.ies", id_Registration_Request, new_create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap));
3875 dissector_add("x2ap.ies", id_CellToReport, new_create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap));
3876 dissector_add("x2ap.ies", id_ReportingPeriodicity, new_create_dissector_handle(dissect_ReportingPeriod_PDU, proto_x2ap));
3877 dissector_add("x2ap.ies", id_CellToReport_Item, new_create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap));
3878 dissector_add("x2ap.ies", id_CellMeasurementResult, new_create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap));
3879 dissector_add("x2ap.ies", id_CellMeasurementResult_Item, new_create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap));
3880 dissector_add("x2ap.ies", id_GUGroupIDListToAdd, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3881 dissector_add("x2ap.ies", id_GUGroupIDListToDelete, new_create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap));
3882 dissector_add_string("x2ap.proc.imsg", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
3883 dissector_add_string("x2ap.proc.sout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
3884 dissector_add_string("x2ap.proc.uout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
3885 dissector_add_string("x2ap.proc.imsg", "id-snStatusTransfer", new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap));
3886 dissector_add_string("x2ap.proc.imsg", "id-uEContextRelease", new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap));
3887 dissector_add_string("x2ap.proc.imsg", "id-handoverCancel", new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap));
3888 dissector_add_string("x2ap.proc.imsg", "id-errorIndication", new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap));
3889 dissector_add_string("x2ap.proc.imsg", "id-reset", new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap));
3890 dissector_add_string("x2ap.proc.sout", "id-reset", new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap));
3891 dissector_add_string("x2ap.proc.imsg", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap));
3892 dissector_add_string("x2ap.proc.sout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap));
3893 dissector_add_string("x2ap.proc.uout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap));
3894 dissector_add_string("x2ap.proc.imsg", "id-loadIndication", new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap));
3895 dissector_add_string("x2ap.proc.imsg", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap));
3896 dissector_add_string("x2ap.proc.sout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap));
3897 dissector_add_string("x2ap.proc.uout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap));
3898 dissector_add_string("x2ap.proc.imsg", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap));
3899 dissector_add_string("x2ap.proc.sout", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap));
3900 dissector_add_string("x2ap.proc.uout", "id-resourceStatusUpdateInitiation", new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
3901 dissector_add_string("x2ap.proc.imsg", "id-resourceStatusReporting", new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
3904 /*--- End of included file: packet-x2ap-dis-tab.c ---*/
3905 #line 178 "packet-x2ap-template.c"